diff --git a/AdvancedBilling.Standard/AdvancedBilling.Standard.csproj b/AdvancedBilling.Standard/AdvancedBilling.Standard.csproj
index 1a63aa95..c223628f 100644
--- a/AdvancedBilling.Standard/AdvancedBilling.Standard.csproj
+++ b/AdvancedBilling.Standard/AdvancedBilling.Standard.csproj
@@ -9,13 +9,13 @@
netstandard2.0
Maxio.AdvancedBillingSdk
- 6.1.0.0
+ 7.0.0.0
MaxioSdk
AdvancedBilling.Standard
Copyright © 2019
- 6.1.0.0
- 6.1.0.0
+ 7.0.0.0
+ 7.0.0.0
Ultimate billing and pricing flexibility for B2B SaaS.
Maxio integrates directly into your product, so you can seamlessly manage your product catalog, bill customers, and collect payments.
7.3
@@ -32,7 +32,8 @@ Maxio integrates directly into your product, so you can seamlessly manage your p
-
+
+
diff --git a/AdvancedBilling.Standard/AdvancedBillingClient.cs b/AdvancedBilling.Standard/AdvancedBillingClient.cs
index 96d3f8be..08dffa7d 100644
--- a/AdvancedBilling.Standard/AdvancedBillingClient.cs
+++ b/AdvancedBilling.Standard/AdvancedBillingClient.cs
@@ -40,7 +40,7 @@ public sealed class AdvancedBillingClient : IConfiguration
};
private readonly GlobalConfiguration globalConfiguration;
- private const string userAgent = "AB SDK DotNet:6.1.0 on OS {os-info}";
+ private const string userAgent = "AB SDK DotNet:7.0.0 on OS {os-info}";
private readonly HttpCallback httpCallback;
private readonly Lazy aPIExports;
private readonly Lazy advanceInvoice;
diff --git a/AdvancedBilling.Standard/Authentication/BasicAuthManager.cs b/AdvancedBilling.Standard/Authentication/BasicAuthManager.cs
index 87426e84..9279c7cb 100644
--- a/AdvancedBilling.Standard/Authentication/BasicAuthManager.cs
+++ b/AdvancedBilling.Standard/Authentication/BasicAuthManager.cs
@@ -104,7 +104,6 @@ public Builder Username(string username)
return this;
}
-
///
/// Sets Password.
///
@@ -116,7 +115,6 @@ public Builder Password(string password)
return this;
}
-
///
/// Creates an object of the BasicAuthModel using the values provided for the builder.
///
diff --git a/AdvancedBilling.Standard/Controllers/AdvanceInvoiceController.cs b/AdvancedBilling.Standard/Controllers/AdvanceInvoiceController.cs
index 656a0475..d40e009a 100644
--- a/AdvancedBilling.Standard/Controllers/AdvanceInvoiceController.cs
+++ b/AdvancedBilling.Standard/Controllers/AdvanceInvoiceController.cs
@@ -40,7 +40,7 @@ internal AdvanceInvoiceController(GlobalConfiguration globalConfiguration) : bas
/// We recommend using either the create or preview endpoints for proforma invoices to preview this advance invoice before using this endpoint to generate it.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.Invoice response from the API call.
public Models.Invoice IssueAdvanceInvoice(
int subscriptionId,
@@ -54,7 +54,7 @@ public Models.Invoice IssueAdvanceInvoice(
/// We recommend using either the create or preview endpoints for proforma invoices to preview this advance invoice before using this endpoint to generate it.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.Invoice response from the API call.
public async Task IssueAdvanceInvoiceAsync(
@@ -107,7 +107,7 @@ public Models.Invoice ReadAdvanceInvoice(
/// 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, please [see our help docs]($m/Invoice).
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.Invoice response from the API call.
public Models.Invoice VoidAdvanceInvoice(
int subscriptionId,
@@ -119,7 +119,7 @@ public Models.Invoice VoidAdvanceInvoice(
/// 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, please [see our help docs]($m/Invoice).
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.Invoice response from the API call.
public async Task VoidAdvanceInvoiceAsync(
diff --git a/AdvancedBilling.Standard/Controllers/ComponentPricePointsController.cs b/AdvancedBilling.Standard/Controllers/ComponentPricePointsController.cs
index 05de6d57..48718bea 100644
--- a/AdvancedBilling.Standard/Controllers/ComponentPricePointsController.cs
+++ b/AdvancedBilling.Standard/Controllers/ComponentPricePointsController.cs
@@ -73,7 +73,7 @@ public Models.ComponentResponse PromoteComponentPricePointToDefault(
/// This endpoint can be used to create a new price point for an existing component.
///
/// Required parameter: The Advanced Billing id of the component.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ComponentPricePointResponse response from the API call.
public Models.ComponentPricePointResponse CreateComponentPricePoint(
int componentId,
@@ -84,7 +84,7 @@ public Models.ComponentPricePointResponse CreateComponentPricePoint(
/// This endpoint can be used to create a new price point for an existing component.
///
/// Required parameter: The Advanced Billing id of the component.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ComponentPricePointResponse response from the API call.
public async Task CreateComponentPricePointAsync(
@@ -143,7 +143,7 @@ public Models.ComponentPricePointsResponse ListComponentPricePoints(
/// Use this endpoint to create multiple component price points in one request.
///
/// Required parameter: The Advanced Billing id of the component for which you want to fetch price points..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ComponentPricePointsResponse response from the API call.
public Models.ComponentPricePointsResponse BulkCreateComponentPricePoints(
string componentId,
@@ -154,7 +154,7 @@ public Models.ComponentPricePointsResponse BulkCreateComponentPricePoints(
/// Use this endpoint to create multiple component price points in one request.
///
/// Required parameter: The Advanced Billing id of the component for which you want to fetch price points..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ComponentPricePointsResponse response from the API call.
public async Task BulkCreateComponentPricePointsAsync(
@@ -181,7 +181,7 @@ public Models.ComponentPricePointsResponse BulkCreateComponentPricePoints(
///
/// Required parameter: The id or handle of the component. When using the handle, it must be prefixed with `handle:`. Example: `123` for an integer ID, or `handle:example-product-handle` for a string handle..
/// Required parameter: The id or handle of the price point. When using the handle, it must be prefixed with `handle:`. Example: `123` for an integer ID, or `handle:example-price_point-handle` for a string handle..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ComponentPricePointResponse response from the API call.
public Models.ComponentPricePointResponse UpdateComponentPricePoint(
UpdateComponentPricePointComponentId componentId,
@@ -197,7 +197,7 @@ public Models.ComponentPricePointResponse UpdateComponentPricePoint(
///
/// Required parameter: The id or handle of the component. When using the handle, it must be prefixed with `handle:`. Example: `123` for an integer ID, or `handle:example-product-handle` for a string handle..
/// Required parameter: The id or handle of the price point. When using the handle, it must be prefixed with `handle:`. Example: `123` for an integer ID, or `handle:example-price_point-handle` for a string handle..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ComponentPricePointResponse response from the API call.
public async Task UpdateComponentPricePointAsync(
@@ -324,7 +324,7 @@ public Models.ComponentPricePointResponse UnarchiveComponentPricePoint(
/// Note: Currency Prices are not able to be created for custom price points.
///
/// Required parameter: The Advanced Billing id of the price point.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ComponentCurrencyPricesResponse response from the API call.
public Models.ComponentCurrencyPricesResponse CreateCurrencyPrices(
int pricePointId,
@@ -337,7 +337,7 @@ public Models.ComponentCurrencyPricesResponse CreateCurrencyPrices(
/// Note: Currency Prices are not able to be created for custom price points.
///
/// Required parameter: The Advanced Billing id of the price point.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ComponentCurrencyPricesResponse response from the API call.
public async Task CreateCurrencyPricesAsync(
@@ -361,7 +361,7 @@ public Models.ComponentCurrencyPricesResponse CreateCurrencyPrices(
/// Note: Currency Prices are not able to be updated for custom price points.
///
/// Required parameter: The Advanced Billing id of the price point.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ComponentCurrencyPricesResponse response from the API call.
public Models.ComponentCurrencyPricesResponse UpdateCurrencyPrices(
int pricePointId,
@@ -373,7 +373,7 @@ public Models.ComponentCurrencyPricesResponse UpdateCurrencyPrices(
/// Note: Currency Prices are not able to be updated for custom price points.
///
/// Required parameter: The Advanced Billing id of the price point.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ComponentCurrencyPricesResponse response from the API call.
public async Task UpdateCurrencyPricesAsync(
diff --git a/AdvancedBilling.Standard/Controllers/ComponentsController.cs b/AdvancedBilling.Standard/Controllers/ComponentsController.cs
index 749fab4a..3261efb1 100644
--- a/AdvancedBilling.Standard/Controllers/ComponentsController.cs
+++ b/AdvancedBilling.Standard/Controllers/ComponentsController.cs
@@ -40,7 +40,7 @@ internal ComponentsController(GlobalConfiguration globalConfiguration) : base(gl
/// For more information on components, please see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
///
/// Required parameter: Either the product family's id or its handle prefixed with `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ComponentResponse response from the API call.
public Models.ComponentResponse CreateMeteredComponent(
string productFamilyId,
@@ -54,7 +54,7 @@ public Models.ComponentResponse CreateMeteredComponent(
/// For more information on components, please see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
///
/// Required parameter: Either the product family's id or its handle prefixed with `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ComponentResponse response from the API call.
public async Task CreateMeteredComponentAsync(
@@ -85,7 +85,7 @@ public Models.ComponentResponse CreateMeteredComponent(
/// For more information on components, please see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
///
/// Required parameter: Either the product family's id or its handle prefixed with `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ComponentResponse response from the API call.
public Models.ComponentResponse CreateQuantityBasedComponent(
string productFamilyId,
@@ -103,7 +103,7 @@ public Models.ComponentResponse CreateQuantityBasedComponent(
/// For more information on components, please see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
///
/// Required parameter: Either the product family's id or its handle prefixed with `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ComponentResponse response from the API call.
public async Task CreateQuantityBasedComponentAsync(
@@ -129,7 +129,7 @@ public Models.ComponentResponse CreateQuantityBasedComponent(
/// For more information on components, please see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
///
/// Required parameter: Either the product family's id or its handle prefixed with `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ComponentResponse response from the API call.
public Models.ComponentResponse CreateOnOffComponent(
string productFamilyId,
@@ -142,7 +142,7 @@ public Models.ComponentResponse CreateOnOffComponent(
/// For more information on components, please see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
///
/// Required parameter: Either the product family's id or its handle prefixed with `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ComponentResponse response from the API call.
public async Task CreateOnOffComponentAsync(
@@ -168,7 +168,7 @@ public Models.ComponentResponse CreateOnOffComponent(
/// For more information on components, please see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
///
/// Required parameter: Either the product family's id or its handle prefixed with `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ComponentResponse response from the API call.
public Models.ComponentResponse CreatePrepaidUsageComponent(
string productFamilyId,
@@ -181,7 +181,7 @@ public Models.ComponentResponse CreatePrepaidUsageComponent(
/// For more information on components, please see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
///
/// Required parameter: Either the product family's id or its handle prefixed with `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ComponentResponse response from the API call.
public async Task CreatePrepaidUsageComponentAsync(
@@ -208,7 +208,7 @@ public Models.ComponentResponse CreatePrepaidUsageComponent(
/// For more information on components, please see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
///
/// Required parameter: Either the product family's id or its handle prefixed with `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ComponentResponse response from the API call.
public Models.ComponentResponse CreateEventBasedComponent(
string productFamilyId,
@@ -222,7 +222,7 @@ public Models.ComponentResponse CreateEventBasedComponent(
/// For more information on components, please see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
///
/// Required parameter: Either the product family's id or its handle prefixed with `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ComponentResponse response from the API call.
public async Task CreateEventBasedComponentAsync(
@@ -307,7 +307,7 @@ public Models.ComponentResponse ReadComponent(
///
/// Required parameter: The Advanced Billing id of the product family to which the component belongs.
/// Required parameter: Either the Advanced Billing id of the component or the handle for the component prefixed with `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ComponentResponse response from the API call.
public Models.ComponentResponse UpdateProductFamilyComponent(
int productFamilyId,
@@ -321,7 +321,7 @@ public Models.ComponentResponse UpdateProductFamilyComponent(
///
/// Required parameter: The Advanced Billing id of the product family to which the component belongs.
/// Required parameter: Either the Advanced Billing id of the component or the handle for the component prefixed with `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ComponentResponse response from the API call.
public async Task UpdateProductFamilyComponentAsync(
@@ -414,7 +414,7 @@ public Models.Component ArchiveComponent(
/// You may read the component by either the component's id or handle. When using the handle, it must be prefixed with `handle:`.
///
/// Required parameter: The id or handle of the component.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ComponentResponse response from the API call.
public Models.ComponentResponse UpdateComponent(
string componentId,
@@ -426,7 +426,7 @@ public Models.ComponentResponse UpdateComponent(
/// You may read the component by either the component's id or handle. When using the handle, it must be prefixed with `handle:`.
///
/// Required parameter: The id or handle of the component.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ComponentResponse response from the API call.
public async Task UpdateComponentAsync(
diff --git a/AdvancedBilling.Standard/Controllers/CouponsController.cs b/AdvancedBilling.Standard/Controllers/CouponsController.cs
index 9017c966..b2461ae9 100644
--- a/AdvancedBilling.Standard/Controllers/CouponsController.cs
+++ b/AdvancedBilling.Standard/Controllers/CouponsController.cs
@@ -46,7 +46,7 @@ internal CouponsController(GlobalConfiguration globalConfiguration) : base(globa
/// ]]>
///
/// Required parameter: The Advanced Billing id of the product family to which the coupon belongs.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.CouponResponse response from the API call.
public Models.CouponResponse CreateCoupon(
int productFamilyId,
@@ -66,7 +66,7 @@ public Models.CouponResponse CreateCoupon(
/// ]]>
///
/// Required parameter: The Advanced Billing id of the product family to which the coupon belongs.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.CouponResponse response from the API call.
public async Task CreateCouponAsync(
@@ -207,7 +207,7 @@ public Models.CouponResponse ReadCoupon(
///
/// Required parameter: The Advanced Billing id of the product family to which the coupon belongs.
/// Required parameter: The Advanced Billing id of the coupon.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.CouponResponse response from the API call.
public Models.CouponResponse UpdateCoupon(
int productFamilyId,
@@ -225,7 +225,7 @@ public Models.CouponResponse UpdateCoupon(
///
/// Required parameter: The Advanced Billing id of the product family to which the coupon belongs.
/// Required parameter: The Advanced Billing id of the coupon.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.CouponResponse response from the API call.
public async Task UpdateCouponAsync(
@@ -403,7 +403,7 @@ public Models.CouponResponse ValidateCoupon(
.Query(_query => _query.Setup("code", code).Required())
.Query(_query => _query.Setup("product_family_id", productFamilyId))))
.ResponseHandler(_responseHandler => _responseHandler
- .ErrorCase("404", CreateErrorCase("Not Found", (_reason, _context) => new SingleStringErrorResponseException(_reason, _context))))
+ .ErrorCase("404", CreateErrorCase("Not Found: '{$response.body}'", (_reason, _context) => new SingleStringErrorResponseException(_reason, _context), true)))
.ExecuteAsync(cancellationToken).ConfigureAwait(false);
///
@@ -411,7 +411,7 @@ public Models.CouponResponse ValidateCoupon(
/// Currency pricing for coupons must mirror the setup of the primary coupon pricing - if the primary coupon is percentage based, you will not be able to define pricing in non-primary currencies.
///
/// Required parameter: The Advanced Billing id of the coupon.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.CouponCurrencyResponse response from the API call.
public Models.CouponCurrencyResponse CreateOrUpdateCouponCurrencyPrices(
int couponId,
@@ -423,7 +423,7 @@ public Models.CouponCurrencyResponse CreateOrUpdateCouponCurrencyPrices(
/// Currency pricing for coupons must mirror the setup of the primary coupon pricing - if the primary coupon is percentage based, you will not be able to define pricing in non-primary currencies.
///
/// Required parameter: The Advanced Billing id of the coupon.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.CouponCurrencyResponse response from the API call.
public async Task CreateOrUpdateCouponCurrencyPricesAsync(
@@ -471,7 +471,7 @@ public Models.CouponCurrencyResponse CreateOrUpdateCouponCurrencyPrices(
/// ]]>
///
/// Required parameter: The Advanced Billing id of the coupon.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.CouponSubcodesResponse response from the API call.
public Models.CouponSubcodesResponse CreateCouponSubcodes(
int couponId,
@@ -507,7 +507,7 @@ public Models.CouponSubcodesResponse CreateCouponSubcodes(
/// ]]>
///
/// Required parameter: The Advanced Billing id of the coupon.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.CouponSubcodesResponse response from the API call.
public async Task CreateCouponSubcodesAsync(
@@ -562,7 +562,7 @@ public Models.CouponSubcodes ListCouponSubcodes(
/// + Any subcodes not created because they are invalid.
///
/// Required parameter: The Advanced Billing id of the coupon.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.CouponSubcodesResponse response from the API call.
public Models.CouponSubcodesResponse UpdateCouponSubcodes(
int couponId,
@@ -579,7 +579,7 @@ public Models.CouponSubcodesResponse UpdateCouponSubcodes(
/// + Any subcodes not created because they are invalid.
///
/// Required parameter: The Advanced Billing id of the coupon.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.CouponSubcodesResponse response from the API call.
public async Task UpdateCouponSubcodesAsync(
diff --git a/AdvancedBilling.Standard/Controllers/CustomFieldsController.cs b/AdvancedBilling.Standard/Controllers/CustomFieldsController.cs
index 077be9ee..650449e5 100644
--- a/AdvancedBilling.Standard/Controllers/CustomFieldsController.cs
+++ b/AdvancedBilling.Standard/Controllers/CustomFieldsController.cs
@@ -45,12 +45,12 @@ internal CustomFieldsController(GlobalConfiguration globalConfiguration) : base(
/// Use this endpoint to create metafields for your Site. Metafields can be populated with metadata after the fact.
/// Each site is limited to 100 unique Metafields (i.e. keys, or names) per resource. This means you can have 100 Metafields for Subscription and another 100 for Customer.
/// ### Metafields "On-the-Fly".
- /// It is possible to create Metafields “on the fly” when you create your Metadata – if a non-existant name is passed when creating Metadata, a Metafield for that key will be automatically created. The Metafield API, however, gives you more control over your “keys”.
+ /// It is possible to create Metafields “on the fly” when you create your Metadata – if a non-existent name is passed when creating Metadata, a Metafield for that key will be automatically created. The Metafield API, however, gives you more control over your “keys”.
/// ### Metafield Scope Warning.
/// If configuring metafields in the Admin UI or via the API, be careful sending updates to metafields with the scope attribute – **if a partial update is sent it will overwrite the current configuration**.
///
/// Required parameter: the resource type to which the metafields belong.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the List of Models.Metafield response from the API call.
public List CreateMetafields(
Models.ResourceType resourceType,
@@ -68,12 +68,12 @@ internal CustomFieldsController(GlobalConfiguration globalConfiguration) : base(
/// Use this endpoint to create metafields for your Site. Metafields can be populated with metadata after the fact.
/// Each site is limited to 100 unique Metafields (i.e. keys, or names) per resource. This means you can have 100 Metafields for Subscription and another 100 for Customer.
/// ### Metafields "On-the-Fly".
- /// It is possible to create Metafields “on the fly” when you create your Metadata – if a non-existant name is passed when creating Metadata, a Metafield for that key will be automatically created. The Metafield API, however, gives you more control over your “keys”.
+ /// It is possible to create Metafields “on the fly” when you create your Metadata – if a non-existent name is passed when creating Metadata, a Metafield for that key will be automatically created. The Metafield API, however, gives you more control over your “keys”.
/// ### Metafield Scope Warning.
/// If configuring metafields in the Admin UI or via the API, be careful sending updates to metafields with the scope attribute – **if a partial update is sent it will overwrite the current configuration**.
///
/// Required parameter: the resource type to which the metafields belong.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the List of Models.Metafield response from the API call.
public async Task> CreateMetafieldsAsync(
@@ -126,7 +126,7 @@ public Models.ListMetafieldsResponse ListMetafields(
/// Use the following method to update metafields for your Site. Metafields can be populated with metadata after the fact.
///
/// Required parameter: the resource type to which the metafields belong.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the List of Models.Metafield response from the API call.
public List UpdateMetafield(
Models.ResourceType resourceType,
@@ -137,7 +137,7 @@ public Models.ListMetafieldsResponse ListMetafields(
/// Use the following method to update metafields for your Site. Metafields can be populated with metadata after the fact.
///
/// Required parameter: the resource type to which the metafields belong.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the List of Models.Metafield response from the API call.
public async Task> UpdateMetafieldAsync(
@@ -206,7 +206,7 @@ public async Task DeleteMetafieldAsync(
///
/// Required parameter: the resource type to which the metafields belong.
/// Required parameter: The Advanced Billing id of the customer or the subscription for which the metadata applies.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the List of Models.Metadata response from the API call.
public List CreateMetadata(
Models.ResourceType resourceType,
@@ -230,7 +230,7 @@ public async Task DeleteMetafieldAsync(
///
/// Required parameter: the resource type to which the metafields belong.
/// Required parameter: The Advanced Billing id of the customer or the subscription for which the metadata applies.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the List of Models.Metadata response from the API call.
public async Task> CreateMetadataAsync(
@@ -289,7 +289,7 @@ public Models.PaginatedMetadata ListMetadata(
///
/// Required parameter: the resource type to which the metafields belong.
/// Required parameter: The Advanced Billing id of the customer or the subscription for which the metadata applies.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the List of Models.Metadata response from the API call.
public List UpdateMetadata(
Models.ResourceType resourceType,
@@ -302,7 +302,7 @@ public Models.PaginatedMetadata ListMetadata(
///
/// Required parameter: the resource type to which the metafields belong.
/// Required parameter: The Advanced Billing id of the customer or the subscription for which the metadata applies.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the List of Models.Metadata response from the API call.
public async Task> UpdateMetadataAsync(
diff --git a/AdvancedBilling.Standard/Controllers/CustomersController.cs b/AdvancedBilling.Standard/Controllers/CustomersController.cs
index e163b2f5..af2030d8 100644
--- a/AdvancedBilling.Standard/Controllers/CustomersController.cs
+++ b/AdvancedBilling.Standard/Controllers/CustomersController.cs
@@ -48,7 +48,7 @@ internal CustomersController(GlobalConfiguration globalConfiguration) : base(glo
/// 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).
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.CustomerResponse response from the API call.
public Models.CustomerResponse CreateCustomer(
Models.CreateCustomerRequest body = null)
@@ -69,7 +69,7 @@ public Models.CustomerResponse CreateCustomer(
/// 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).
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.CustomerResponse response from the API call.
public async Task CreateCustomerAsync(
@@ -168,7 +168,7 @@ public Models.CustomerResponse ReadCustomer(
/// This method allows to update the Customer.
///
/// Required parameter: The Advanced Billing id of the customer.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.CustomerResponse response from the API call.
public Models.CustomerResponse UpdateCustomer(
int id,
@@ -179,7 +179,7 @@ public Models.CustomerResponse UpdateCustomer(
/// This method allows to update the Customer.
///
/// Required parameter: The Advanced Billing id of the customer.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.CustomerResponse response from the API call.
public async Task UpdateCustomerAsync(
diff --git a/AdvancedBilling.Standard/Controllers/EventsBasedBillingSegmentsController.cs b/AdvancedBilling.Standard/Controllers/EventsBasedBillingSegmentsController.cs
index 10f5a51c..f744aab4 100644
--- a/AdvancedBilling.Standard/Controllers/EventsBasedBillingSegmentsController.cs
+++ b/AdvancedBilling.Standard/Controllers/EventsBasedBillingSegmentsController.cs
@@ -39,7 +39,7 @@ internal EventsBasedBillingSegmentsController(GlobalConfiguration globalConfigur
///
/// Required parameter: ID or Handle for the Component.
/// Required parameter: ID or Handle for the Price Point belonging to the Component.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SegmentResponse response from the API call.
public Models.SegmentResponse CreateSegment(
string componentId,
@@ -53,7 +53,7 @@ public Models.SegmentResponse CreateSegment(
///
/// Required parameter: ID or Handle for the Component.
/// Required parameter: ID or Handle for the Price Point belonging to the Component.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SegmentResponse response from the API call.
public async Task CreateSegmentAsync(
@@ -119,7 +119,7 @@ public Models.ListSegmentsResponse ListSegmentsForPricePoint(
/// Required parameter: ID or Handle of the Component.
/// Required parameter: ID or Handle of the Price Point belonging to the Component.
/// Required parameter: The ID of the Segment.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SegmentResponse response from the API call.
public Models.SegmentResponse UpdateSegment(
string componentId,
@@ -135,7 +135,7 @@ public Models.SegmentResponse UpdateSegment(
/// Required parameter: ID or Handle of the Component.
/// Required parameter: ID or Handle of the Price Point belonging to the Component.
/// Required parameter: The ID of the Segment.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SegmentResponse response from the API call.
public async Task UpdateSegmentAsync(
@@ -206,7 +206,7 @@ public async Task DeleteSegmentAsync(
///
/// Required parameter: ID or Handle for the Component.
/// Required parameter: ID or Handle for the Price Point belonging to the Component.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ListSegmentsResponse response from the API call.
public Models.ListSegmentsResponse BulkCreateSegments(
string componentId,
@@ -221,7 +221,7 @@ public Models.ListSegmentsResponse BulkCreateSegments(
///
/// Required parameter: ID or Handle for the Component.
/// Required parameter: ID or Handle for the Price Point belonging to the Component.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ListSegmentsResponse response from the API call.
public async Task BulkCreateSegmentsAsync(
@@ -250,7 +250,7 @@ public Models.ListSegmentsResponse BulkCreateSegments(
///
/// Required parameter: ID or Handle for the Component.
/// Required parameter: ID or Handle for the Price Point belonging to the Component.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ListSegmentsResponse response from the API call.
public Models.ListSegmentsResponse BulkUpdateSegments(
string componentId,
@@ -265,7 +265,7 @@ public Models.ListSegmentsResponse BulkUpdateSegments(
///
/// Required parameter: ID or Handle for the Component.
/// Required parameter: ID or Handle for the Price Point belonging to the Component.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ListSegmentsResponse response from the API call.
public async Task BulkUpdateSegmentsAsync(
diff --git a/AdvancedBilling.Standard/Controllers/InsightsController.cs b/AdvancedBilling.Standard/Controllers/InsightsController.cs
index 3661d00b..b10b4dcf 100644
--- a/AdvancedBilling.Standard/Controllers/InsightsController.cs
+++ b/AdvancedBilling.Standard/Controllers/InsightsController.cs
@@ -36,7 +36,7 @@ internal InsightsController(GlobalConfiguration globalConfiguration) : base(glob
///
/// The Stats API is a very basic view of some Site-level stats. This API call only answers with JSON responses. An XML version is not provided.
/// ## Stats Documentation.
- /// There currently is not a complimentary matching set of documentation that compliments this endpoint. However, each Site's dashboard will reflect the summary of information provided in the Stats reposnse.
+ /// There currently is not a complimentary matching set of documentation that compliments this endpoint. However, each Site's dashboard will reflect the summary of information provided in the Stats response.
/// ```.
/// https://subdomain.chargify.com/dashboard.
/// ```.
@@ -48,7 +48,7 @@ public Models.SiteSummary ReadSiteStats()
///
/// The Stats API is a very basic view of some Site-level stats. This API call only answers with JSON responses. An XML version is not provided.
/// ## Stats Documentation.
- /// There currently is not a complimentary matching set of documentation that compliments this endpoint. However, each Site's dashboard will reflect the summary of information provided in the Stats reposnse.
+ /// There currently is not a complimentary matching set of documentation that compliments this endpoint. However, each Site's dashboard will reflect the summary of information provided in the Stats response.
/// ```.
/// https://subdomain.chargify.com/dashboard.
/// ```.
diff --git a/AdvancedBilling.Standard/Controllers/InvoicesController.cs b/AdvancedBilling.Standard/Controllers/InvoicesController.cs
index f729ce83..9f09e3b5 100644
--- a/AdvancedBilling.Standard/Controllers/InvoicesController.cs
+++ b/AdvancedBilling.Standard/Controllers/InvoicesController.cs
@@ -40,7 +40,7 @@ internal InvoicesController(GlobalConfiguration globalConfiguration) : base(glob
/// A $50.00 refund on a $100.00 consolidated invoice with one $60.00 and one $40.00 segment, the refunded amount will be applied as 50% of each ($30.00 and $20.00 respectively).
///
/// Required parameter: The unique identifier for the invoice, this does not refer to the public facing invoice number..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.Invoice response from the API call.
public Models.Invoice RefundInvoice(
string uid,
@@ -54,7 +54,7 @@ public Models.Invoice RefundInvoice(
/// A $50.00 refund on a $100.00 consolidated invoice with one $60.00 and one $40.00 segment, the refunded amount will be applied as 50% of each ($30.00 and $20.00 respectively).
///
/// Required parameter: The unique identifier for the invoice, this does not refer to the public facing invoice number..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.Invoice response from the API call.
public async Task RefundInvoiceAsync(
@@ -101,6 +101,7 @@ public Models.ListInvoicesResponse ListInvoices(
.Query(_query => _query.Setup("status", (input.Status.HasValue) ? ApiHelper.JsonSerialize(input.Status.Value).Trim('\"') : null))
.Query(_query => _query.Setup("subscription_id", input.SubscriptionId))
.Query(_query => _query.Setup("subscription_group_uid", input.SubscriptionGroupUid))
+ .Query(_query => _query.Setup("consolidation_level", input.ConsolidationLevel))
.Query(_query => _query.Setup("page", input.Page))
.Query(_query => _query.Setup("per_page", input.PerPage))
.Query(_query => _query.Setup("direction", (input.Direction.HasValue) ? ApiHelper.JsonSerialize(input.Direction.Value).Trim('\"') : "desc"))
@@ -239,43 +240,10 @@ public Models.ListInvoiceEventsResponse ListInvoiceEvents(
.ExecuteAsync(cancellationToken).ConfigureAwait(false);
///
- /// This API call should be used when you want to record 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.
- /// ## Create a Payment from the existing payment profile.
- /// In order to apply a payment to an invoice using an existing payment profile, specify `type` as `payment`, the amount less than the invoice total, and the customer's `payment_profile_id`. The ID of a payment profile might be retrieved via the Payment Profiles API endpoint.
- /// ```.
- /// {.
- /// "type": "payment",.
- /// "payment": {.
- /// "amount": 10.00,.
- /// "payment_profile_id": 123.
- /// }.
- /// }.
- /// ```.
- /// ## Create a Payment from the Subscription's Prepayment Account.
- /// In order apply a prepayment to an invoice, specify the `type` as `prepayment`, and also the `amount`.
- /// ```.
- /// {.
- /// "type": "prepayment",.
- /// "payment": {.
- /// "amount": 10.00.
- /// }.
- /// }.
- /// ```.
- /// Note that the `amount` must be less than or equal to the Subscription's Prepayment account balance.
- /// ## Create a Payment from the Subscription's Service Credit Account.
- /// In order to apply a service credit to an invoice, specify the `type` as `service_credit`, and also the `amount`:.
- /// ```.
- /// {.
- /// "type": "service_credit",.
- /// "payment": {.
- /// "amount": 10.00.
- /// }.
- /// }.
- /// ```.
- /// Note that Advanced Billing will attempt to fully pay the invoice's `due_amount` from the Subscription's Service Credit account. At this time, partial payments from a Service Credit Account are only allowed for consolidated invoices (subscription groups). Therefore, for normal invoices the Service Credit account balance must be greater than or equal to the invoice's `due_amount`.
+ /// 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.
///
/// Required parameter: The unique identifier for the invoice, this does not refer to the public facing invoice number..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.Invoice response from the API call.
public Models.Invoice RecordPaymentForInvoice(
string uid,
@@ -283,43 +251,10 @@ public Models.Invoice RecordPaymentForInvoice(
=> CoreHelper.RunTask(RecordPaymentForInvoiceAsync(uid, body));
///
- /// This API call should be used when you want to record 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.
- /// ## Create a Payment from the existing payment profile.
- /// In order to apply a payment to an invoice using an existing payment profile, specify `type` as `payment`, the amount less than the invoice total, and the customer's `payment_profile_id`. The ID of a payment profile might be retrieved via the Payment Profiles API endpoint.
- /// ```.
- /// {.
- /// "type": "payment",.
- /// "payment": {.
- /// "amount": 10.00,.
- /// "payment_profile_id": 123.
- /// }.
- /// }.
- /// ```.
- /// ## Create a Payment from the Subscription's Prepayment Account.
- /// In order apply a prepayment to an invoice, specify the `type` as `prepayment`, and also the `amount`.
- /// ```.
- /// {.
- /// "type": "prepayment",.
- /// "payment": {.
- /// "amount": 10.00.
- /// }.
- /// }.
- /// ```.
- /// Note that the `amount` must be less than or equal to the Subscription's Prepayment account balance.
- /// ## Create a Payment from the Subscription's Service Credit Account.
- /// In order to apply a service credit to an invoice, specify the `type` as `service_credit`, and also the `amount`:.
- /// ```.
- /// {.
- /// "type": "service_credit",.
- /// "payment": {.
- /// "amount": 10.00.
- /// }.
- /// }.
- /// ```.
- /// Note that Advanced Billing will attempt to fully pay the invoice's `due_amount` from the Subscription's Service Credit account. At this time, partial payments from a Service Credit Account are only allowed for consolidated invoices (subscription groups). Therefore, for normal invoices the Service Credit account balance must be greater than or equal to the invoice's `due_amount`.
+ /// 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.
///
/// Required parameter: The unique identifier for the invoice, this does not refer to the public facing invoice number..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.Invoice response from the API call.
public async Task RecordPaymentForInvoiceAsync(
@@ -363,7 +298,7 @@ public Models.Invoice RecordPaymentForInvoice(
/// ```.
/// Note that the invoice payment amounts must be greater than 0. Total amount must be greater or equal to invoices payment amount sum.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.MultiInvoicePaymentResponse response from the API call.
public Models.MultiInvoicePaymentResponse RecordPaymentForMultipleInvoices(
Models.CreateMultiInvoicePaymentRequest body = null)
@@ -394,7 +329,7 @@ public Models.MultiInvoicePaymentResponse RecordPaymentForMultipleInvoices(
/// ```.
/// Note that the invoice payment amounts must be greater than 0. Total amount must be greater or equal to invoices payment amount sum.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.MultiInvoicePaymentResponse response from the API call.
public async Task RecordPaymentForMultipleInvoicesAsync(
@@ -479,7 +414,7 @@ public Models.CreditNote ReadCreditNote(
/// Only ungrouped or primary subscriptions may be paid using the "bulk" payment request.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.RecordPaymentResponse response from the API call.
public Models.RecordPaymentResponse RecordPaymentForSubscription(
int subscriptionId,
@@ -493,7 +428,7 @@ public Models.RecordPaymentResponse RecordPaymentForSubscription(
/// Only ungrouped or primary subscriptions may be paid using the "bulk" payment request.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.RecordPaymentResponse response from the API call.
public async Task RecordPaymentForSubscriptionAsync(
@@ -557,7 +492,7 @@ public Models.Invoice ReopenInvoice(
/// 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.
///
/// Required parameter: The unique identifier for the invoice, this does not refer to the public facing invoice number..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.Invoice response from the API call.
public Models.Invoice VoidInvoice(
string uid,
@@ -568,7 +503,7 @@ public Models.Invoice VoidInvoice(
/// 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.
///
/// Required parameter: The unique identifier for the invoice, this does not refer to the public facing invoice number..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.Invoice response from the API call.
public async Task VoidInvoiceAsync(
@@ -731,7 +666,7 @@ public Models.ConsolidatedInvoice ListConsolidatedInvoiceSegments(
/// By default, invoices will be created with open status. Possible alternative is `draft`.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.InvoiceResponse response from the API call.
public Models.InvoiceResponse CreateInvoice(
int subscriptionId,
@@ -852,7 +787,7 @@ public Models.InvoiceResponse CreateInvoice(
/// By default, invoices will be created with open status. Possible alternative is `draft`.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.InvoiceResponse response from the API call.
public async Task CreateInvoiceAsync(
@@ -877,7 +812,7 @@ public Models.InvoiceResponse CreateInvoice(
/// On success, a 204 no-content response will be returned. Please note that this does not indicate that email(s) have been delivered, but instead indicates that emails have been successfully queued for delivery. If _any_ invalid or malformed email address is found in the request body, the entire request will be rejected and a 422 response will be returned.
///
/// Required parameter: The unique identifier for the invoice, this does not refer to the public facing invoice number..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
public void SendInvoice(
string uid,
Models.SendInvoiceRequest body = null)
@@ -889,7 +824,7 @@ public void SendInvoice(
/// On success, a 204 no-content response will be returned. Please note that this does not indicate that email(s) have been delivered, but instead indicates that emails have been successfully queued for delivery. If _any_ invalid or malformed email address is found in the request body, the entire request will be rejected and a 422 response will be returned.
///
/// Required parameter: The unique identifier for the invoice, this does not refer to the public facing invoice number..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the void response from the API call.
public async Task SendInvoiceAsync(
@@ -980,7 +915,7 @@ public Models.Invoice UpdateCustomerInformation(
/// - `initiate_dunning` - prepayments and credits applied to the invoice; invoice status set to "open"; email sent to the customer for the issued invoice (if setting applies); payment failure recorded in the invoice history; subscription will most likely go into "past_due" or "canceled" state (depending upon net terms and dunning settings).
///
/// Required parameter: The unique identifier for the invoice, this does not refer to the public facing invoice number..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.Invoice response from the API call.
public Models.Invoice IssueInvoice(
string uid,
@@ -997,7 +932,7 @@ public Models.Invoice IssueInvoice(
/// - `initiate_dunning` - prepayments and credits applied to the invoice; invoice status set to "open"; email sent to the customer for the issued invoice (if setting applies); payment failure recorded in the invoice history; subscription will most likely go into "past_due" or "canceled" state (depending upon net terms and dunning settings).
///
/// Required parameter: The unique identifier for the invoice, this does not refer to the public facing invoice number..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.Invoice response from the API call.
public async Task IssueInvoiceAsync(
diff --git a/AdvancedBilling.Standard/Controllers/OffersController.cs b/AdvancedBilling.Standard/Controllers/OffersController.cs
index 0f202133..a6dd34fb 100644
--- a/AdvancedBilling.Standard/Controllers/OffersController.cs
+++ b/AdvancedBilling.Standard/Controllers/OffersController.cs
@@ -42,7 +42,7 @@ internal OffersController(GlobalConfiguration globalConfiguration) : base(global
/// ## Using a Product Price Point.
/// You can optionally pass in a `product_price_point_id` that corresponds with the `product_id` and the offer will use that price point. If a `product_price_point_id` is not passed in, the product's default price point will be used.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.OfferResponse response from the API call.
public Models.OfferResponse CreateOffer(
Models.CreateOfferRequest body = null)
@@ -57,7 +57,7 @@ public Models.OfferResponse CreateOffer(
/// ## Using a Product Price Point.
/// You can optionally pass in a `product_price_point_id` that corresponds with the `product_id` and the offer will use that price point. If a `product_price_point_id` is not passed in, the product's default price point will be used.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.OfferResponse response from the API call.
public async Task CreateOfferAsync(
diff --git a/AdvancedBilling.Standard/Controllers/PaymentProfilesController.cs b/AdvancedBilling.Standard/Controllers/PaymentProfilesController.cs
index 5fac0f34..07efccc6 100644
--- a/AdvancedBilling.Standard/Controllers/PaymentProfilesController.cs
+++ b/AdvancedBilling.Standard/Controllers/PaymentProfilesController.cs
@@ -516,6 +516,8 @@ public Models.PaymentProfileResponse CreatePaymentProfile(
/// "id": 10089892,.
/// "first_name": "Chester",.
/// "last_name": "Tester",.
+ /// "created_at": "2025-01-01T00:00:00-05:00",.
+ /// "updated_at": "2025-01-01T00:00:00-05:00",.
/// "customer_id": 14543792,.
/// "current_vault": "bogus",.
/// "vault_token": "0011223344",.
@@ -555,6 +557,8 @@ public Models.PaymentProfileResponse ReadPaymentProfile(
/// "id": 10089892,.
/// "first_name": "Chester",.
/// "last_name": "Tester",.
+ /// "created_at": "2025-01-01T00:00:00-05:00",.
+ /// "updated_at": "2025-01-01T00:00:00-05:00",.
/// "customer_id": 14543792,.
/// "current_vault": "bogus",.
/// "vault_token": "0011223344",.
@@ -620,7 +624,7 @@ public Models.PaymentProfileResponse ReadPaymentProfile(
/// - If you are using Authorize.net or Stripe, you may elect to manually trigger a retry for a past due subscription after a partial update.
///
/// Required parameter: The Chargify id of the payment profile.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.PaymentProfileResponse response from the API call.
public Models.PaymentProfileResponse UpdatePaymentProfile(
int paymentProfileId,
@@ -654,7 +658,7 @@ public Models.PaymentProfileResponse UpdatePaymentProfile(
/// - If you are using Authorize.net or Stripe, you may elect to manually trigger a retry for a past due subscription after a partial update.
///
/// Required parameter: The Chargify id of the payment profile.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.PaymentProfileResponse response from the API call.
public async Task UpdatePaymentProfileAsync(
@@ -742,7 +746,7 @@ public async Task DeleteSubscriptionsPaymentProfileAsync(
/// Submit the two small deposit amounts the customer received in their bank account in order to verify the bank account. (Stripe only).
///
/// Required parameter: Identifier of the bank account in the system..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.BankAccountResponse response from the API call.
public Models.BankAccountResponse VerifyBankAccount(
int bankAccountId,
@@ -753,7 +757,7 @@ public Models.BankAccountResponse VerifyBankAccount(
/// Submit the two small deposit amounts the customer received in their bank account in order to verify the bank account. (Stripe only).
///
/// Required parameter: Identifier of the bank account in the system..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.BankAccountResponse response from the API call.
public async Task VerifyBankAccountAsync(
diff --git a/AdvancedBilling.Standard/Controllers/ProductFamiliesController.cs b/AdvancedBilling.Standard/Controllers/ProductFamiliesController.cs
index ef35c4fe..9060ae57 100644
--- a/AdvancedBilling.Standard/Controllers/ProductFamiliesController.cs
+++ b/AdvancedBilling.Standard/Controllers/ProductFamiliesController.cs
@@ -68,14 +68,14 @@ internal ProductFamiliesController(GlobalConfiguration globalConfiguration) : ba
.Query(_query => _query.Setup("include_archived", input.IncludeArchived))
.Query(_query => _query.Setup("include", (input.Include.HasValue) ? ApiHelper.JsonSerialize(input.Include.Value).Trim('\"') : null))))
.ResponseHandler(_responseHandler => _responseHandler
- .ErrorCase("404", CreateErrorCase("Not Found", (_reason, _context) => new ApiException(_reason, _context))))
+ .ErrorCase("404", CreateErrorCase("Not Found:'{$response.body}'", (_reason, _context) => new ApiException(_reason, _context), true)))
.ExecuteAsync(cancellationToken).ConfigureAwait(false);
///
/// This method will create a Product Family within your Advanced Billing 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).
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ProductFamilyResponse response from the API call.
public Models.ProductFamilyResponse CreateProductFamily(
Models.CreateProductFamilyRequest body = null)
@@ -85,7 +85,7 @@ public Models.ProductFamilyResponse CreateProductFamily(
/// This method will create a Product Family within your Advanced Billing 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).
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ProductFamilyResponse response from the API call.
public async Task CreateProductFamilyAsync(
diff --git a/AdvancedBilling.Standard/Controllers/ProductPricePointsController.cs b/AdvancedBilling.Standard/Controllers/ProductPricePointsController.cs
index 3e543f23..9f847695 100644
--- a/AdvancedBilling.Standard/Controllers/ProductPricePointsController.cs
+++ b/AdvancedBilling.Standard/Controllers/ProductPricePointsController.cs
@@ -38,7 +38,7 @@ internal ProductPricePointsController(GlobalConfiguration globalConfiguration) :
/// [Product Price Point Documentation](https://maxio.zendesk.com/hc/en-us/articles/24261111947789-Product-Price-Points).
///
/// Required parameter: The id or handle of the product. When using the handle, it must be prefixed with `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ProductPricePointResponse response from the API call.
public Models.ProductPricePointResponse CreateProductPricePoint(
CreateProductPricePointProductId productId,
@@ -49,7 +49,7 @@ public Models.ProductPricePointResponse CreateProductPricePoint(
/// [Product Price Point Documentation](https://maxio.zendesk.com/hc/en-us/articles/24261111947789-Product-Price-Points).
///
/// Required parameter: The id or handle of the product. When using the handle, it must be prefixed with `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ProductPricePointResponse response from the API call.
public async Task CreateProductPricePointAsync(
@@ -105,7 +105,7 @@ public Models.ListProductPricePointsResponse ListProductPricePoints(
///
/// Required parameter: The id or handle of the product. When using the handle, it must be prefixed with `handle:`. Example: `123` for an integer ID, or `handle:example-product-handle` for a string handle..
/// Required parameter: The id or handle of the price point. When using the handle, it must be prefixed with `handle:`. Example: `123` for an integer ID, or `handle:example-product-price-point-handle` for a string handle..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ProductPricePointResponse response from the API call.
public Models.ProductPricePointResponse UpdateProductPricePoint(
UpdateProductPricePointProductId productId,
@@ -119,7 +119,7 @@ public Models.ProductPricePointResponse UpdateProductPricePoint(
///
/// Required parameter: The id or handle of the product. When using the handle, it must be prefixed with `handle:`. Example: `123` for an integer ID, or `handle:example-product-handle` for a string handle..
/// Required parameter: The id or handle of the price point. When using the handle, it must be prefixed with `handle:`. Example: `123` for an integer ID, or `handle:example-product-price-point-handle` for a string handle..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ProductPricePointResponse response from the API call.
public async Task UpdateProductPricePointAsync(
@@ -275,7 +275,7 @@ public Models.ProductResponse PromoteProductPricePointToDefault(
/// Use this endpoint to create multiple product price points in one request.
///
/// Required parameter: The Advanced Billing id of the product to which the price points belong.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.BulkCreateProductPricePointsResponse response from the API call.
public Models.BulkCreateProductPricePointsResponse BulkCreateProductPricePoints(
int productId,
@@ -286,7 +286,7 @@ public Models.BulkCreateProductPricePointsResponse BulkCreateProductPricePoints(
/// Use this endpoint to create multiple product price points in one request.
///
/// Required parameter: The Advanced Billing id of the product to which the price points belong.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.BulkCreateProductPricePointsResponse response from the API call.
public async Task BulkCreateProductPricePointsAsync(
@@ -311,7 +311,7 @@ public Models.BulkCreateProductPricePointsResponse BulkCreateProductPricePoints(
/// Note: Currency Prices are not able to be created for custom product price points.
///
/// Required parameter: The Advanced Billing id of the product price point.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.CurrencyPricesResponse response from the API call.
public Models.CurrencyPricesResponse CreateProductCurrencyPrices(
int productPricePointId,
@@ -324,7 +324,7 @@ public Models.CurrencyPricesResponse CreateProductCurrencyPrices(
/// Note: Currency Prices are not able to be created for custom product price points.
///
/// Required parameter: The Advanced Billing id of the product price point.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.CurrencyPricesResponse response from the API call.
public async Task CreateProductCurrencyPricesAsync(
@@ -349,7 +349,7 @@ public Models.CurrencyPricesResponse CreateProductCurrencyPrices(
/// Note: Currency Prices are not able to be updated for custom product price points.
///
/// Required parameter: The Advanced Billing id of the product price point.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.CurrencyPricesResponse response from the API call.
public Models.CurrencyPricesResponse UpdateProductCurrencyPrices(
int productPricePointId,
@@ -362,7 +362,7 @@ public Models.CurrencyPricesResponse UpdateProductCurrencyPrices(
/// Note: Currency Prices are not able to be updated for custom product price points.
///
/// Required parameter: The Advanced Billing id of the product price point.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.CurrencyPricesResponse response from the API call.
public async Task UpdateProductCurrencyPricesAsync(
diff --git a/AdvancedBilling.Standard/Controllers/ProductsController.cs b/AdvancedBilling.Standard/Controllers/ProductsController.cs
index b4b772f7..ee840dc6 100644
--- a/AdvancedBilling.Standard/Controllers/ProductsController.cs
+++ b/AdvancedBilling.Standard/Controllers/ProductsController.cs
@@ -39,7 +39,7 @@ internal ProductsController(GlobalConfiguration globalConfiguration) : base(glob
/// + [Changing a Subscription's Product](https://maxio.zendesk.com/hc/en-us/articles/24252069837581-Product-Changes-and-Migrations).
///
/// Required parameter: Either the product family's id or its handle prefixed with `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ProductResponse response from the API call.
public Models.ProductResponse CreateProduct(
string productFamilyId,
@@ -52,7 +52,7 @@ public Models.ProductResponse CreateProduct(
/// + [Changing a Subscription's Product](https://maxio.zendesk.com/hc/en-us/articles/24252069837581-Product-Changes-and-Migrations).
///
/// Required parameter: Either the product family's id or its handle prefixed with `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ProductResponse response from the API call.
public async Task CreateProductAsync(
@@ -105,7 +105,7 @@ public Models.ProductResponse ReadProduct(
/// Updating a product using this endpoint will create a new price point and set it as the default price point for this product. If you should like to update an existing product price point, that must be done separately.
///
/// Required parameter: The Advanced Billing id of the product.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ProductResponse response from the API call.
public Models.ProductResponse UpdateProduct(
int productId,
@@ -120,7 +120,7 @@ public Models.ProductResponse UpdateProduct(
/// Updating a product using this endpoint will create a new price point and set it as the default price point for this product. If you should like to update an existing product price point, that must be done separately.
///
/// Required parameter: The Advanced Billing id of the product.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ProductResponse response from the API call.
public async Task UpdateProductAsync(
diff --git a/AdvancedBilling.Standard/Controllers/ProformaInvoicesController.cs b/AdvancedBilling.Standard/Controllers/ProformaInvoicesController.cs
index b0699cae..cf62ca58 100644
--- a/AdvancedBilling.Standard/Controllers/ProformaInvoicesController.cs
+++ b/AdvancedBilling.Standard/Controllers/ProformaInvoicesController.cs
@@ -214,7 +214,7 @@ public Models.ListProformaInvoicesResponse ListProformaInvoices(
/// A reason for the void operation is required to be included in the request body. If one is not provided, the response will have HTTP status code 422 and an error message.
///
/// Required parameter: The uid of the proforma invoice.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ProformaInvoice response from the API call.
public Models.ProformaInvoice VoidProformaInvoice(
string proformaInvoiceUid,
@@ -229,7 +229,7 @@ public Models.ProformaInvoice VoidProformaInvoice(
/// A reason for the void operation is required to be included in the request body. If one is not provided, the response will have HTTP status code 422 and an error message.
///
/// Required parameter: The uid of the proforma invoice.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ProformaInvoice response from the API call.
public async Task VoidProformaInvoiceAsync(
@@ -290,7 +290,7 @@ public Models.ProformaInvoice PreviewProformaInvoice(
/// Pass a payload that resembles a subscription create or signup preview request. For example, you can specify components, coupons/a referral, offers, custom pricing, and an existing customer or payment profile to populate a shipping or billing address.
/// A product and customer first name, last name, and email are the minimum requirements. We recommend associating the proforma invoice with a customer_id to easily find their proforma invoices, since the subscription_id will always be blank.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ProformaInvoice response from the API call.
public Models.ProformaInvoice CreateSignupProformaInvoice(
Models.CreateSubscriptionRequest body = null)
@@ -302,7 +302,7 @@ public Models.ProformaInvoice CreateSignupProformaInvoice(
/// Pass a payload that resembles a subscription create or signup preview request. For example, you can specify components, coupons/a referral, offers, custom pricing, and an existing customer or payment profile to populate a shipping or billing address.
/// A product and customer first name, last name, and email are the minimum requirements. We recommend associating the proforma invoice with a customer_id to easily find their proforma invoices, since the subscription_id will always be blank.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ProformaInvoice response from the API call.
public async Task CreateSignupProformaInvoiceAsync(
@@ -327,7 +327,7 @@ public Models.ProformaInvoice CreateSignupProformaInvoice(
/// A product and customer first name, last name, and email are the minimum requirements.
///
/// Optional parameter: Choose to include a proforma invoice preview for the first renewal. Use in query `include=next_proforma_invoice`..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SignupProformaPreviewResponse response from the API call.
public Models.SignupProformaPreviewResponse PreviewSignupProformaInvoice(
Models.CreateSignupProformaPreviewInclude? include = null,
@@ -341,7 +341,7 @@ public Models.SignupProformaPreviewResponse PreviewSignupProformaInvoice(
/// A product and customer first name, last name, and email are the minimum requirements.
///
/// Optional parameter: Choose to include a proforma invoice preview for the first renewal. Use in query `include=next_proforma_invoice`..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SignupProformaPreviewResponse response from the API call.
public async Task PreviewSignupProformaInvoiceAsync(
diff --git a/AdvancedBilling.Standard/Controllers/ReasonCodesController.cs b/AdvancedBilling.Standard/Controllers/ReasonCodesController.cs
index aa88ff60..c8af4da2 100644
--- a/AdvancedBilling.Standard/Controllers/ReasonCodesController.cs
+++ b/AdvancedBilling.Standard/Controllers/ReasonCodesController.cs
@@ -35,7 +35,7 @@ internal ReasonCodesController(GlobalConfiguration globalConfiguration) : base(g
///
/// # Reason Codes Intro.
- /// ReasonCodes are a way to gain a high level view of why your customers are cancelling the subcription to your product or service.
+ /// ReasonCodes 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.
@@ -43,7 +43,7 @@ internal ReasonCodesController(GlobalConfiguration globalConfiguration) : base(g
/// ## Create Reason Code.
/// This method gives a merchant the option to create a reason codes for a given Site.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ReasonCodeResponse response from the API call.
public Models.ReasonCodeResponse CreateReasonCode(
Models.CreateReasonCodeRequest body = null)
@@ -51,7 +51,7 @@ public Models.ReasonCodeResponse CreateReasonCode(
///
/// # Reason Codes Intro.
- /// ReasonCodes are a way to gain a high level view of why your customers are cancelling the subcription to your product or service.
+ /// ReasonCodes 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.
@@ -59,7 +59,7 @@ public Models.ReasonCodeResponse CreateReasonCode(
/// ## Create Reason Code.
/// This method gives a merchant the option to create a reason codes for a given Site.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ReasonCodeResponse response from the API call.
public async Task CreateReasonCodeAsync(
@@ -137,7 +137,7 @@ public Models.ReasonCodeResponse ReadReasonCode(
/// This method gives a merchant the option to update an existing reason code for a given site.
///
/// Required parameter: The Advanced Billing id of the reason code.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ReasonCodeResponse response from the API call.
public Models.ReasonCodeResponse UpdateReasonCode(
int reasonCodeId,
@@ -148,7 +148,7 @@ public Models.ReasonCodeResponse UpdateReasonCode(
/// This method gives a merchant the option to update an existing reason code for a given site.
///
/// Required parameter: The Advanced Billing id of the reason code.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ReasonCodeResponse response from the API call.
public async Task UpdateReasonCodeAsync(
@@ -169,7 +169,7 @@ public Models.ReasonCodeResponse UpdateReasonCode(
.ExecuteAsync(cancellationToken).ConfigureAwait(false);
///
- /// This method gives a merchant the option to delete one reason code from the Churn Reason Codes. This code will be immediately removed. This action is not reversable.
+ /// This method gives a merchant the option to delete one reason code from the Churn Reason Codes. This code will be immediately removed. This action is not reversible.
///
/// Required parameter: The Advanced Billing id of the reason code.
/// Returns the Models.OkResponse response from the API call.
@@ -178,7 +178,7 @@ public Models.OkResponse DeleteReasonCode(
=> CoreHelper.RunTask(DeleteReasonCodeAsync(reasonCodeId));
///
- /// This method gives a merchant the option to delete one reason code from the Churn Reason Codes. This code will be immediately removed. This action is not reversable.
+ /// This method gives a merchant the option to delete one reason code from the Churn Reason Codes. This code will be immediately removed. This action is not reversible.
///
/// Required parameter: The Advanced Billing id of the reason code.
/// cancellationToken.
diff --git a/AdvancedBilling.Standard/Controllers/SubscriptionComponentsController.cs b/AdvancedBilling.Standard/Controllers/SubscriptionComponentsController.cs
index 023fef37..96edd7c8 100644
--- a/AdvancedBilling.Standard/Controllers/SubscriptionComponentsController.cs
+++ b/AdvancedBilling.Standard/Controllers/SubscriptionComponentsController.cs
@@ -117,7 +117,7 @@ public Models.SubscriptionComponentResponse ReadSubscriptionComponent(
/// 3. `"_default"` string, which will reset the price point to the component's current default price point.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.BulkComponentsPricePointAssignment response from the API call.
public Models.BulkComponentsPricePointAssignment BulkUpdateSubscriptionComponentsPricePoints(
int subscriptionId,
@@ -132,7 +132,7 @@ public Models.BulkComponentsPricePointAssignment BulkUpdateSubscriptionComponent
/// 3. `"_default"` string, which will reset the price point to the component's current default price point.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.BulkComponentsPricePointAssignment response from the API call.
public async Task BulkUpdateSubscriptionComponentsPricePointsAsync(
@@ -216,7 +216,7 @@ public Models.SubscriptionResponse BulkResetSubscriptionComponentsPricePoints(
///
/// Required parameter: The Chargify id of the subscription.
/// Required parameter: The Advanced Billing id of the component.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.AllocationResponse response from the API call.
public Models.AllocationResponse AllocateComponent(
int subscriptionId,
@@ -261,7 +261,7 @@ public Models.AllocationResponse AllocateComponent(
///
/// Required parameter: The Chargify id of the subscription.
/// Required parameter: The Advanced Billing id of the component.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.AllocationResponse response from the API call.
public async Task AllocateComponentAsync(
@@ -353,7 +353,7 @@ public Models.AllocationResponse AllocateComponent(
/// This endpoint only responds to JSON. It is not available for XML.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the List of Models.AllocationResponse response from the API call.
public List AllocateComponents(
int subscriptionId,
@@ -366,7 +366,7 @@ public Models.AllocationResponse AllocateComponent(
/// This endpoint only responds to JSON. It is not available for XML.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the List of Models.AllocationResponse response from the API call.
public async Task> AllocateComponentsAsync(
@@ -393,7 +393,7 @@ public Models.AllocationResponse AllocateComponent(
/// See example below for Fine-Grained Component Control response.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.AllocationPreviewResponse response from the API call.
public Models.AllocationPreviewResponse PreviewAllocations(
int subscriptionId,
@@ -407,7 +407,7 @@ public Models.AllocationPreviewResponse PreviewAllocations(
/// See example below for Fine-Grained Component Control response.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.AllocationPreviewResponse response from the API call.
public async Task PreviewAllocationsAsync(
@@ -438,7 +438,7 @@ public Models.AllocationPreviewResponse PreviewAllocations(
/// Required parameter: The Chargify id of the subscription.
/// Required parameter: The Advanced Billing id of the component.
/// Required parameter: The Advanced Billing id of the allocation.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
public void UpdatePrepaidUsageAllocationExpirationDate(
int subscriptionId,
int componentId,
@@ -458,7 +458,7 @@ public void UpdatePrepaidUsageAllocationExpirationDate(
/// Required parameter: The Chargify id of the subscription.
/// Required parameter: The Advanced Billing id of the component.
/// Required parameter: The Advanced Billing id of the allocation.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the void response from the API call.
public async Task UpdatePrepaidUsageAllocationExpirationDateAsync(
@@ -493,7 +493,7 @@ public async Task UpdatePrepaidUsageAllocationExpirationDateAsync(
/// Required parameter: The Chargify id of the subscription.
/// Required parameter: The Advanced Billing id of the component.
/// Required parameter: The Advanced Billing id of the allocation.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
public void DeletePrepaidUsageAllocation(
int subscriptionId,
int componentId,
@@ -512,7 +512,7 @@ public void DeletePrepaidUsageAllocation(
/// Required parameter: The Chargify id of the subscription.
/// Required parameter: The Advanced Billing id of the component.
/// Required parameter: The Advanced Billing id of the allocation.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the void response from the API call.
public async Task DeletePrepaidUsageAllocationAsync(
@@ -576,7 +576,7 @@ public async Task DeletePrepaidUsageAllocationAsync(
///
/// Required parameter: The Chargify id of the subscription.
/// Required parameter: Either the Advanced Billing id for the component or the component's handle prefixed by `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.UsageResponse response from the API call.
public Models.UsageResponse CreateUsage(
int subscriptionId,
@@ -624,7 +624,7 @@ public Models.UsageResponse CreateUsage(
///
/// Required parameter: The Chargify id of the subscription.
/// Required parameter: Either the Advanced Billing id for the component or the component's handle prefixed by `handle:`.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.UsageResponse response from the API call.
public async Task CreateUsageAsync(
@@ -706,7 +706,7 @@ public Models.UsageResponse CreateUsage(
///
/// Required parameter: The Advanced Billing id of the subscription.
/// Required parameter: The Advanced Billing id of the component.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
public void ActivateEventBasedComponent(
int subscriptionId,
int componentId,
@@ -721,7 +721,7 @@ public void ActivateEventBasedComponent(
///
/// Required parameter: The Advanced Billing id of the subscription.
/// Required parameter: The Advanced Billing id of the component.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the void response from the API call.
public async Task ActivateEventBasedComponentAsync(
@@ -785,7 +785,7 @@ public async Task DeactivateEventBasedComponentAsync(
///
/// Required parameter: Identifies the Stream for which the event should be published..
/// Optional parameter: If you've attached your own Keen project as an Advanced Billing event data-store, use this parameter to indicate the data-store..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
public void RecordEvent(
string apiHandle,
string storeUid = null,
@@ -807,7 +807,7 @@ public void RecordEvent(
///
/// Required parameter: Identifies the Stream for which the event should be published..
/// Optional parameter: If you've attached your own Keen project as an Advanced Billing event data-store, use this parameter to indicate the data-store..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the void response from the API call.
public async Task RecordEventAsync(
@@ -834,7 +834,7 @@ public async Task RecordEventAsync(
///
/// Required parameter: Identifies the Stream for which the events should be published..
/// Optional parameter: If you've attached your own Keen project as an Advanced Billing event data-store, use this parameter to indicate the data-store..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
public void BulkRecordEvents(
string apiHandle,
string storeUid = null,
@@ -848,7 +848,7 @@ public void BulkRecordEvents(
///
/// Required parameter: Identifies the Stream for which the events should be published..
/// Optional parameter: If you've attached your own Keen project as an Advanced Billing event data-store, use this parameter to indicate the data-store..
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the void response from the API call.
public async Task BulkRecordEventsAsync(
diff --git a/AdvancedBilling.Standard/Controllers/SubscriptionGroupInvoiceAccountController.cs b/AdvancedBilling.Standard/Controllers/SubscriptionGroupInvoiceAccountController.cs
index 4b319f23..01aedce9 100644
--- a/AdvancedBilling.Standard/Controllers/SubscriptionGroupInvoiceAccountController.cs
+++ b/AdvancedBilling.Standard/Controllers/SubscriptionGroupInvoiceAccountController.cs
@@ -37,7 +37,7 @@ internal SubscriptionGroupInvoiceAccountController(GlobalConfiguration globalCon
/// A prepayment can be added for a subscription group identified by the group's `uid`. This endpoint requires a `amount`, `details`, `method`, and `memo`. On success, the prepayment will be added to the group's prepayment balance.
///
/// Required parameter: The uid of the subscription group.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionGroupPrepaymentResponse response from the API call.
public Models.SubscriptionGroupPrepaymentResponse CreateSubscriptionGroupPrepayment(
string uid,
@@ -48,7 +48,7 @@ public Models.SubscriptionGroupPrepaymentResponse CreateSubscriptionGroupPrepaym
/// A prepayment can be added for a subscription group identified by the group's `uid`. This endpoint requires a `amount`, `details`, `method`, and `memo`. On success, the prepayment will be added to the group's prepayment balance.
///
/// Required parameter: The uid of the subscription group.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionGroupPrepaymentResponse response from the API call.
public async Task CreateSubscriptionGroupPrepaymentAsync(
@@ -102,7 +102,7 @@ public Models.ListSubscriptionGroupPrepaymentResponse ListPrepaymentsForSubscrip
/// Credit can be issued for a subscription group identified by the group's `uid`. Credit will be added to the group in the amount specified in the request body. The credit will be applied to group member invoices as they are generated.
///
/// Required parameter: The uid of the subscription group.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ServiceCreditResponse response from the API call.
public Models.ServiceCreditResponse IssueSubscriptionGroupServiceCredit(
string uid,
@@ -113,7 +113,7 @@ public Models.ServiceCreditResponse IssueSubscriptionGroupServiceCredit(
/// Credit can be issued for a subscription group identified by the group's `uid`. Credit will be added to the group in the amount specified in the request body. The credit will be applied to group member invoices as they are generated.
///
/// Required parameter: The uid of the subscription group.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ServiceCreditResponse response from the API call.
public async Task IssueSubscriptionGroupServiceCreditAsync(
@@ -136,7 +136,7 @@ public Models.ServiceCreditResponse IssueSubscriptionGroupServiceCredit(
/// Credit can be deducted for a subscription group identified by the group's `uid`. Credit will be deducted from the group in the amount specified in the request body.
///
/// Required parameter: The uid of the subscription group.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ServiceCredit response from the API call.
public Models.ServiceCredit DeductSubscriptionGroupServiceCredit(
string uid,
@@ -147,7 +147,7 @@ public Models.ServiceCredit DeductSubscriptionGroupServiceCredit(
/// Credit can be deducted for a subscription group identified by the group's `uid`. Credit will be deducted from the group in the amount specified in the request body.
///
/// Required parameter: The uid of the subscription group.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ServiceCredit response from the API call.
public async Task DeductSubscriptionGroupServiceCreditAsync(
diff --git a/AdvancedBilling.Standard/Controllers/SubscriptionGroupStatusController.cs b/AdvancedBilling.Standard/Controllers/SubscriptionGroupStatusController.cs
index 2020bebc..71e9ceb9 100644
--- a/AdvancedBilling.Standard/Controllers/SubscriptionGroupStatusController.cs
+++ b/AdvancedBilling.Standard/Controllers/SubscriptionGroupStatusController.cs
@@ -38,7 +38,7 @@ internal SubscriptionGroupStatusController(GlobalConfiguration globalConfigurati
/// In order to cancel a subscription group while also charging for any unbilled usage on metered or prepaid components, the `charge_unbilled_usage=true` parameter must be included in the request.
///
/// Required parameter: The uid of the subscription group.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
public void CancelSubscriptionsInGroup(
string uid,
Models.CancelGroupedSubscriptionsRequest body = null)
@@ -49,7 +49,7 @@ public void CancelSubscriptionsInGroup(
/// In order to cancel a subscription group while also charging for any unbilled usage on metered or prepaid components, the `charge_unbilled_usage=true` parameter must be included in the request.
///
/// Required parameter: The uid of the subscription group.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the void response from the API call.
public async Task CancelSubscriptionsInGroupAsync(
@@ -137,7 +137,7 @@ public async Task CancelDelayedCancellationForGroupAsync(
/// For calendar billing subscriptions, the new billing period created will be a partial one, spanning from the date of reactivation to the next corresponding calendar renewal date.
///
/// Required parameter: The uid of the subscription group.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ReactivateSubscriptionGroupResponse response from the API call.
public Models.ReactivateSubscriptionGroupResponse ReactivateSubscriptionGroup(
string uid,
@@ -157,7 +157,7 @@ public Models.ReactivateSubscriptionGroupResponse ReactivateSubscriptionGroup(
/// For calendar billing subscriptions, the new billing period created will be a partial one, spanning from the date of reactivation to the next corresponding calendar renewal date.
///
/// Required parameter: The uid of the subscription group.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ReactivateSubscriptionGroupResponse response from the API call.
public async Task ReactivateSubscriptionGroupAsync(
diff --git a/AdvancedBilling.Standard/Controllers/SubscriptionGroupsController.cs b/AdvancedBilling.Standard/Controllers/SubscriptionGroupsController.cs
index 8a323ffb..d586ecbf 100644
--- a/AdvancedBilling.Standard/Controllers/SubscriptionGroupsController.cs
+++ b/AdvancedBilling.Standard/Controllers/SubscriptionGroupsController.cs
@@ -41,7 +41,7 @@ internal SubscriptionGroupsController(GlobalConfiguration globalConfiguration) :
/// Only one of the `subscriptions` can have `"primary": true` attribute set.
/// When passing product to a subscription you can use either `product_id` or `product_handle` or `offer_id`. You can also use `custom_price` instead.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionGroupSignupResponse response from the API call.
public Models.SubscriptionGroupSignupResponse SignupWithSubscriptionGroup(
Models.SubscriptionGroupSignupRequest body = null)
@@ -54,7 +54,7 @@ public Models.SubscriptionGroupSignupResponse SignupWithSubscriptionGroup(
/// Only one of the `subscriptions` can have `"primary": true` attribute set.
/// When passing product to a subscription you can use either `product_id` or `product_handle` or `offer_id`. You can also use `custom_price` instead.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionGroupSignupResponse response from the API call.
public async Task SignupWithSubscriptionGroupAsync(
@@ -74,7 +74,7 @@ public Models.SubscriptionGroupSignupResponse SignupWithSubscriptionGroup(
///
/// Creates a subscription group with given members.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionGroupResponse response from the API call.
public Models.SubscriptionGroupResponse CreateSubscriptionGroup(
Models.CreateSubscriptionGroupRequest body = null)
@@ -83,7 +83,7 @@ public Models.SubscriptionGroupResponse CreateSubscriptionGroup(
///
/// Creates a subscription group with given members.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionGroupResponse response from the API call.
public async Task CreateSubscriptionGroupAsync(
@@ -172,7 +172,7 @@ public Models.FullSubscriptionGroupResponse ReadSubscriptionGroup(
/// `"member_ids"` should contain an array of both subscription IDs to set as group members and subscription IDs already present in the groups. Not including them will result in removing them from subscription group. To clean up members, just leave the array empty.
///
/// Required parameter: The uid of the subscription group.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionGroupResponse response from the API call.
public Models.SubscriptionGroupResponse UpdateSubscriptionGroupMembers(
string uid,
@@ -184,7 +184,7 @@ public Models.SubscriptionGroupResponse UpdateSubscriptionGroupMembers(
/// `"member_ids"` should contain an array of both subscription IDs to set as group members and subscription IDs already present in the groups. Not including them will result in removing them from subscription group. To clean up members, just leave the array empty.
///
/// Required parameter: The uid of the subscription group.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionGroupResponse response from the API call.
public async Task UpdateSubscriptionGroupMembersAsync(
@@ -275,7 +275,7 @@ public Models.FullSubscriptionGroupResponse FindSubscriptionGroup(
/// [Create Subscription in a Subscription Group](https://developers.chargify.com/docs/api-docs/d571659cf0f24-create-subscription#subscription-in-a-subscription-group).
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionGroupResponse response from the API call.
public Models.SubscriptionGroupResponse AddSubscriptionToGroup(
int subscriptionId,
@@ -294,7 +294,7 @@ public Models.SubscriptionGroupResponse AddSubscriptionToGroup(
/// [Create Subscription in a Subscription Group](https://developers.chargify.com/docs/api-docs/d571659cf0f24-create-subscription#subscription-in-a-subscription-group).
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionGroupResponse response from the API call.
public async Task AddSubscriptionToGroupAsync(
diff --git a/AdvancedBilling.Standard/Controllers/SubscriptionInvoiceAccountController.cs b/AdvancedBilling.Standard/Controllers/SubscriptionInvoiceAccountController.cs
index ceb5513b..5b16814c 100644
--- a/AdvancedBilling.Standard/Controllers/SubscriptionInvoiceAccountController.cs
+++ b/AdvancedBilling.Standard/Controllers/SubscriptionInvoiceAccountController.cs
@@ -66,7 +66,7 @@ public Models.AccountBalances ReadAccountBalances(
/// Please note that you **can't** pass `amount_in_cents`.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.CreatePrepaymentResponse response from the API call.
public Models.CreatePrepaymentResponse CreatePrepayment(
int subscriptionId,
@@ -80,7 +80,7 @@ public Models.CreatePrepaymentResponse CreatePrepayment(
/// Please note that you **can't** pass `amount_in_cents`.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.CreatePrepaymentResponse response from the API call.
public async Task CreatePrepaymentAsync(
@@ -134,7 +134,7 @@ public Models.PrepaymentsResponse ListPrepayments(
/// Credit will be added to the subscription in the amount specified in the request body. The credit is subsequently applied to the next generated invoice.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ServiceCredit response from the API call.
public Models.ServiceCredit IssueServiceCredit(
int subscriptionId,
@@ -145,7 +145,7 @@ public Models.ServiceCredit IssueServiceCredit(
/// Credit will be added to the subscription in the amount specified in the request body. The credit is subsequently applied to the next generated invoice.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ServiceCredit response from the API call.
public async Task IssueServiceCreditAsync(
@@ -168,7 +168,7 @@ public Models.ServiceCredit IssueServiceCredit(
/// Credit will be removed from the subscription in the amount specified in the request body. The credit amount being deducted must be equal to or less than the current credit balance.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
public void DeductServiceCredit(
int subscriptionId,
Models.DeductServiceCreditRequest body = null)
@@ -178,7 +178,7 @@ public void DeductServiceCredit(
/// Credit will be removed from the subscription in the amount specified in the request body. The credit amount being deducted must be equal to or less than the current credit balance.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the void response from the API call.
public async Task DeductServiceCreditAsync(
@@ -197,13 +197,57 @@ public async Task DeductServiceCreditAsync(
.ErrorCase("422", CreateErrorCase("HTTP Response Not OK. Status code: {$statusCode}. Response: '{$response.body}'.", (_reason, _context) => new ApiException(_reason, _context), true)))
.ExecuteAsync(cancellationToken).ConfigureAwait(false);
+ ///
+ /// This request will list a subscription's service credits.
+ ///
+ /// Required parameter: The Chargify id of the subscription.
+ /// Optional parameter: Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned. Use in query `page=1`..
+ /// Optional parameter: This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200. Use in query `per_page=200`..
+ /// Optional parameter: Controls the order in which results are returned. Use in query `direction=asc`..
+ /// Returns the Models.ListServiceCreditsResponse response from the API call.
+ public Models.ListServiceCreditsResponse ListServiceCredits(
+ int subscriptionId,
+ int? page = 1,
+ int? perPage = 20,
+ Models.SortingDirection? direction = null)
+ => CoreHelper.RunTask(ListServiceCreditsAsync(subscriptionId, page, perPage, direction));
+
+ ///
+ /// This request will list a subscription's service credits.
+ ///
+ /// Required parameter: The Chargify id of the subscription.
+ /// Optional parameter: Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned. Use in query `page=1`..
+ /// Optional parameter: This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200. Use in query `per_page=200`..
+ /// Optional parameter: Controls the order in which results are returned. Use in query `direction=asc`..
+ /// cancellationToken.
+ /// Returns the Models.ListServiceCreditsResponse response from the API call.
+ public async Task ListServiceCreditsAsync(
+ int subscriptionId,
+ int? page = 1,
+ int? perPage = 20,
+ Models.SortingDirection? direction = null,
+ CancellationToken cancellationToken = default)
+ => await CreateApiCall()
+ .RequestBuilder(_requestBuilder => _requestBuilder
+ .Setup(HttpMethod.Get, "/subscriptions/{subscription_id}/service_credits/list.json")
+ .WithAuth("BasicAuth")
+ .Parameters(_parameters => _parameters
+ .Template(_template => _template.Setup("subscription_id", subscriptionId))
+ .Query(_query => _query.Setup("page", page ?? 1))
+ .Query(_query => _query.Setup("per_page", perPage ?? 20))
+ .Query(_query => _query.Setup("direction", (direction.HasValue) ? ApiHelper.JsonSerialize(direction.Value).Trim('\"') : null))))
+ .ResponseHandler(_responseHandler => _responseHandler
+ .ErrorCase("404", CreateErrorCase("Not Found:'{$response.body}'", (_reason, _context) => new ApiException(_reason, _context), true))
+ .ErrorCase("422", CreateErrorCase("HTTP Response Not OK. Status code: {$statusCode}. Response: '{$response.body}'.", (_reason, _context) => new ErrorListResponseException(_reason, _context), true)))
+ .ExecuteAsync(cancellationToken).ConfigureAwait(false);
+
///
/// This endpoint will refund, completely or partially, a particular prepayment applied to a subscription. The `prepayment_id` will be the account transaction ID of the original payment. The prepayment must have some amount remaining in order to be refunded.
/// The amount may be passed either as a decimal, with `amount`, or an integer in cents, with `amount_in_cents`.
///
/// Required parameter: The Chargify id of the subscription.
/// Required parameter: id of prepayment.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.PrepaymentResponse response from the API call.
public Models.PrepaymentResponse RefundPrepayment(
int subscriptionId,
@@ -217,7 +261,7 @@ public Models.PrepaymentResponse RefundPrepayment(
///
/// Required parameter: The Chargify id of the subscription.
/// Required parameter: id of prepayment.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.PrepaymentResponse response from the API call.
public async Task RefundPrepaymentAsync(
diff --git a/AdvancedBilling.Standard/Controllers/SubscriptionNotesController.cs b/AdvancedBilling.Standard/Controllers/SubscriptionNotesController.cs
index 60ca52a1..ce57fd0c 100644
--- a/AdvancedBilling.Standard/Controllers/SubscriptionNotesController.cs
+++ b/AdvancedBilling.Standard/Controllers/SubscriptionNotesController.cs
@@ -41,7 +41,7 @@ internal SubscriptionNotesController(GlobalConfiguration globalConfiguration) :
/// 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).
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionNoteResponse response from the API call.
public Models.SubscriptionNoteResponse CreateSubscriptionNote(
int subscriptionId,
@@ -56,7 +56,7 @@ public Models.SubscriptionNoteResponse CreateSubscriptionNote(
/// 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).
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionNoteResponse response from the API call.
public async Task CreateSubscriptionNoteAsync(
@@ -141,7 +141,7 @@ public Models.SubscriptionNoteResponse ReadSubscriptionNote(
///
/// Required parameter: The Chargify id of the subscription.
/// Required parameter: The Advanced Billing id of the note.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionNoteResponse response from the API call.
public Models.SubscriptionNoteResponse UpdateSubscriptionNote(
int subscriptionId,
@@ -154,7 +154,7 @@ public Models.SubscriptionNoteResponse UpdateSubscriptionNote(
///
/// Required parameter: The Chargify id of the subscription.
/// Required parameter: The Advanced Billing id of the note.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionNoteResponse response from the API call.
public async Task UpdateSubscriptionNoteAsync(
diff --git a/AdvancedBilling.Standard/Controllers/SubscriptionProductsController.cs b/AdvancedBilling.Standard/Controllers/SubscriptionProductsController.cs
index d9f5461c..a1b4e67b 100644
--- a/AdvancedBilling.Standard/Controllers/SubscriptionProductsController.cs
+++ b/AdvancedBilling.Standard/Controllers/SubscriptionProductsController.cs
@@ -76,7 +76,7 @@ internal SubscriptionProductsController(GlobalConfiguration globalConfiguration)
/// ]]>
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionResponse response from the API call.
public Models.SubscriptionResponse MigrateSubscriptionProduct(
int subscriptionId,
@@ -126,7 +126,7 @@ public Models.SubscriptionResponse MigrateSubscriptionProduct(
/// ]]>
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionResponse response from the API call.
public async Task MigrateSubscriptionProductAsync(
@@ -151,7 +151,7 @@ public Models.SubscriptionResponse MigrateSubscriptionProduct(
/// This will calculate the prorated adjustment, charge, payment and credit applied values assuming the migration is done at that date in the future as opposed to right now.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionMigrationPreviewResponse response from the API call.
public Models.SubscriptionMigrationPreviewResponse PreviewSubscriptionProductMigration(
int subscriptionId,
@@ -164,7 +164,7 @@ public Models.SubscriptionMigrationPreviewResponse PreviewSubscriptionProductMig
/// This will calculate the prorated adjustment, charge, payment and credit applied values assuming the migration is done at that date in the future as opposed to right now.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionMigrationPreviewResponse response from the API call.
public async Task PreviewSubscriptionProductMigrationAsync(
diff --git a/AdvancedBilling.Standard/Controllers/SubscriptionStatusController.cs b/AdvancedBilling.Standard/Controllers/SubscriptionStatusController.cs
index 797f012a..c3cdc375 100644
--- a/AdvancedBilling.Standard/Controllers/SubscriptionStatusController.cs
+++ b/AdvancedBilling.Standard/Controllers/SubscriptionStatusController.cs
@@ -73,7 +73,7 @@ public Models.SubscriptionResponse RetrySubscription(
/// The DELETE action causes the cancellation of the Subscription. This means, the method sets the Subscription state to "canceled".
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionResponse response from the API call.
public Models.SubscriptionResponse CancelSubscription(
int subscriptionId,
@@ -84,7 +84,7 @@ public Models.SubscriptionResponse CancelSubscription(
/// The DELETE action causes the cancellation of the Subscription. This means, the method sets the Subscription state to "canceled".
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionResponse response from the API call.
public async Task CancelSubscriptionAsync(
@@ -143,7 +143,7 @@ public Models.SubscriptionResponse ResumeSubscription(
/// You may not place a subscription on hold if the `next_billing` date is within 24 hours.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionResponse response from the API call.
public Models.SubscriptionResponse PauseSubscription(
int subscriptionId,
@@ -156,7 +156,7 @@ public Models.SubscriptionResponse PauseSubscription(
/// You may not place a subscription on hold if the `next_billing` date is within 24 hours.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionResponse response from the API call.
public async Task PauseSubscriptionAsync(
@@ -182,7 +182,7 @@ public Models.SubscriptionResponse PauseSubscription(
/// Alternately, you can change the `automatically_resume_at` to `null` if you would like the subscription to not have a resume date.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionResponse response from the API call.
public Models.SubscriptionResponse UpdateAutomaticSubscriptionResumption(
int subscriptionId,
@@ -196,7 +196,7 @@ public Models.SubscriptionResponse UpdateAutomaticSubscriptionResumption(
/// Alternately, you can change the `automatically_resume_at` to `null` if you would like the subscription to not have a resume date.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionResponse response from the API call.
public async Task UpdateAutomaticSubscriptionResumptionAsync(
@@ -316,7 +316,7 @@ public Models.SubscriptionResponse UpdateAutomaticSubscriptionResumption(
/// + Any product-related charges should have been collected.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionResponse response from the API call.
public Models.SubscriptionResponse ReactivateSubscription(
int subscriptionId,
@@ -424,7 +424,7 @@ public Models.SubscriptionResponse ReactivateSubscription(
/// + Any product-related charges should have been collected.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionResponse response from the API call.
public async Task ReactivateSubscriptionAsync(
@@ -449,7 +449,7 @@ public Models.SubscriptionResponse ReactivateSubscription(
/// Note that you cannot set `cancel_at_end_of_period` at subscription creation, or if the subscription is past due.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.DelayedCancellationResponse response from the API call.
public Models.DelayedCancellationResponse InitiateDelayedCancellation(
int subscriptionId,
@@ -462,7 +462,7 @@ public Models.DelayedCancellationResponse InitiateDelayedCancellation(
/// Note that you cannot set `cancel_at_end_of_period` at subscription creation, or if the subscription is past due.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.DelayedCancellationResponse response from the API call.
public async Task InitiateDelayedCancellationAsync(
@@ -556,7 +556,7 @@ public Models.SubscriptionResponse CancelDunning(
/// You can request a `POST` to obtain this data from the endpoint without any side effects. Plain and simple, this will preview data, not log any changes against a subscription.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.RenewalPreviewResponse response from the API call.
public Models.RenewalPreviewResponse PreviewRenewal(
int subscriptionId,
@@ -579,7 +579,7 @@ public Models.RenewalPreviewResponse PreviewRenewal(
/// You can request a `POST` to obtain this data from the endpoint without any side effects. Plain and simple, this will preview data, not log any changes against a subscription.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.RenewalPreviewResponse response from the API call.
public async Task PreviewRenewalAsync(
diff --git a/AdvancedBilling.Standard/Controllers/SubscriptionsController.cs b/AdvancedBilling.Standard/Controllers/SubscriptionsController.cs
index 17efe241..83004858 100644
--- a/AdvancedBilling.Standard/Controllers/SubscriptionsController.cs
+++ b/AdvancedBilling.Standard/Controllers/SubscriptionsController.cs
@@ -128,40 +128,6 @@ internal SubscriptionsController(GlobalConfiguration globalConfiguration) : base
/// }.
/// }.
/// ```.
- /// ## Subscription with Credit Card.
- /// ```json.
- /// "subscription": {.
- /// "product_handle": "basic",.
- /// "customer_attributes": {.
- /// "first_name": "Joe",.
- /// "last_name": "Blow",.
- /// "email": "joe@example.com",.
- /// "zip": "02120",.
- /// "state": "MA",.
- /// "reference": "XYZ",.
- /// "phone": "(617) 111 - 0000",.
- /// "organization": "Acme",.
- /// "country": "US",.
- /// "city": "Boston",.
- /// "address_2": null,.
- /// "address": "123 Mass Ave.".
- /// },.
- /// "credit_card_attributes": {.
- /// "last_name": "Smith",.
- /// "first_name": "Joe",.
- /// "full_number": "4111111111111111",.
- /// "expiration_year": "2021",.
- /// "expiration_month": "1",.
- /// "card_type": "visa",.
- /// "billing_zip": "02120",.
- /// "billing_state": "MA",.
- /// "billing_country": "US",.
- /// "billing_city": "Boston",.
- /// "billing_address_2": null,.
- /// "billing_address": "123 Mass Ave.".
- /// }.
- /// }.
- /// ```.
/// ## Subscription with ACH as Payment Profile.
/// ```json.
/// {.
@@ -530,7 +496,7 @@ internal SubscriptionsController(GlobalConfiguration globalConfiguration) : base
/// ```.
/// ]]>
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionResponse response from the API call.
public Models.SubscriptionResponse CreateSubscription(
Models.CreateSubscriptionRequest body = null)
@@ -630,40 +596,6 @@ public Models.SubscriptionResponse CreateSubscription(
/// }.
/// }.
/// ```.
- /// ## Subscription with Credit Card.
- /// ```json.
- /// "subscription": {.
- /// "product_handle": "basic",.
- /// "customer_attributes": {.
- /// "first_name": "Joe",.
- /// "last_name": "Blow",.
- /// "email": "joe@example.com",.
- /// "zip": "02120",.
- /// "state": "MA",.
- /// "reference": "XYZ",.
- /// "phone": "(617) 111 - 0000",.
- /// "organization": "Acme",.
- /// "country": "US",.
- /// "city": "Boston",.
- /// "address_2": null,.
- /// "address": "123 Mass Ave.".
- /// },.
- /// "credit_card_attributes": {.
- /// "last_name": "Smith",.
- /// "first_name": "Joe",.
- /// "full_number": "4111111111111111",.
- /// "expiration_year": "2021",.
- /// "expiration_month": "1",.
- /// "card_type": "visa",.
- /// "billing_zip": "02120",.
- /// "billing_state": "MA",.
- /// "billing_country": "US",.
- /// "billing_city": "Boston",.
- /// "billing_address_2": null,.
- /// "billing_address": "123 Mass Ave.".
- /// }.
- /// }.
- /// ```.
/// ## Subscription with ACH as Payment Profile.
/// ```json.
/// {.
@@ -1032,7 +964,7 @@ public Models.SubscriptionResponse CreateSubscription(
/// ```.
/// ]]>
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionResponse response from the API call.
public async Task CreateSubscriptionAsync(
@@ -1086,6 +1018,7 @@ public Models.SubscriptionResponse CreateSubscription(
.Query(_query => _query.Setup("product", input.Product))
.Query(_query => _query.Setup("product_price_point_id", input.ProductPricePointId))
.Query(_query => _query.Setup("coupon", input.Coupon))
+ .Query(_query => _query.Setup("coupon_code", input.CouponCode))
.Query(_query => _query.Setup("date_field", (input.DateField.HasValue) ? ApiHelper.JsonSerialize(input.DateField.Value).Trim('\"') : null))
.Query(_query => _query.Setup("start_date", input.StartDate.HasValue ? input.StartDate.Value.ToString("yyyy'-'MM'-'dd") : null))
.Query(_query => _query.Setup("end_date", input.EndDate.HasValue ? input.EndDate.Value.ToString("yyyy'-'MM'-'dd") : null))
@@ -1121,7 +1054,7 @@ public Models.SubscriptionResponse CreateSubscription(
/// Note: If you change the product associated with a subscription that contains a `snap_date` and immediately `READ/GET` the subscription data, it will still contain evidence of the existing `snap_date`. This is due to the fact that a product change is instantanous and only affects the product associated with a subscription. After the `next_billing` date arrives, the `snap_day` associated with the subscription will return to `null.` Another way of looking at this is that you willl have to wait for the next billing cycle to arrive before the `snap_date` will reset to `null`.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionResponse response from the API call.
public Models.SubscriptionResponse UpdateSubscription(
int subscriptionId,
@@ -1152,7 +1085,7 @@ public Models.SubscriptionResponse UpdateSubscription(
/// Note: If you change the product associated with a subscription that contains a `snap_date` and immediately `READ/GET` the subscription data, it will still contain evidence of the existing `snap_date`. This is due to the fact that a product change is instantanous and only affects the product associated with a subscription. After the `next_billing` date arrives, the `snap_day` associated with the subscription will return to `null.` Another way of looking at this is that you willl have to wait for the next billing cycle to arrive before the `snap_date` will reset to `null`.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionResponse response from the API call.
public async Task UpdateSubscriptionAsync(
@@ -1341,7 +1274,7 @@ public Models.SubscriptionResponse PurgeSubscription(
/// Use this endpoint to update a subscription's prepaid configuration.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.PrepaidConfigurationResponse response from the API call.
public Models.PrepaidConfigurationResponse UpdatePrepaidSubscriptionConfiguration(
int subscriptionId,
@@ -1352,7 +1285,7 @@ public Models.PrepaidConfigurationResponse UpdatePrepaidSubscriptionConfiguratio
/// Use this endpoint to update a subscription's prepaid configuration.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.PrepaidConfigurationResponse response from the API call.
public async Task UpdatePrepaidSubscriptionConfigurationAsync(
@@ -1373,9 +1306,9 @@ public Models.PrepaidConfigurationResponse UpdatePrepaidSubscriptionConfiguratio
///
/// The Chargify API allows you to preview a subscription by POSTing the same JSON or XML as for a subscription creation.
- /// The "Next Billing" amount and "Next Billing" date are represented in each Subscriber's Summary. For more information, please see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24252493695757-Subscriber-Interface-Overview).
- /// ## Side effects.
- /// A subscription will not be created by sending a POST to this endpoint. It is meant to serve as a prediction.
+ /// 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.
+ /// For more information, please see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24252493695757-Subscriber-Interface-Overview).
/// ## Taxable Subscriptions.
/// This endpoint will preview taxes applicable to a purchase. In order for taxes to be previewed, the following conditions must be met:.
/// + Taxes must be configured on the subscription.
@@ -1387,7 +1320,7 @@ public Models.PrepaidConfigurationResponse UpdatePrepaidSubscriptionConfiguratio
/// ## Non-taxable Subscriptions.
/// If you'd like to calculate subscriptions that do not include tax, please feel free to leave off the billing information.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionPreviewResponse response from the API call.
public Models.SubscriptionPreviewResponse PreviewSubscription(
Models.CreateSubscriptionRequest body = null)
@@ -1395,9 +1328,9 @@ public Models.SubscriptionPreviewResponse PreviewSubscription(
///
/// The Chargify API allows you to preview a subscription by POSTing the same JSON or XML as for a subscription creation.
- /// The "Next Billing" amount and "Next Billing" date are represented in each Subscriber's Summary. For more information, please see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24252493695757-Subscriber-Interface-Overview).
- /// ## Side effects.
- /// A subscription will not be created by sending a POST to this endpoint. It is meant to serve as a prediction.
+ /// 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.
+ /// For more information, please see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24252493695757-Subscriber-Interface-Overview).
/// ## Taxable Subscriptions.
/// This endpoint will preview taxes applicable to a purchase. In order for taxes to be previewed, the following conditions must be met:.
/// + Taxes must be configured on the subscription.
@@ -1409,7 +1342,7 @@ public Models.SubscriptionPreviewResponse PreviewSubscription(
/// ## Non-taxable Subscriptions.
/// If you'd like to calculate subscriptions that do not include tax, please feel free to leave off the billing information.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionPreviewResponse response from the API call.
public async Task PreviewSubscriptionAsync(
@@ -1432,7 +1365,7 @@ public Models.SubscriptionPreviewResponse PreviewSubscription(
///
/// Required parameter: The Chargify id of the subscription.
/// Optional parameter: A code for the coupon that would be applied to a subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionResponse response from the API call.
public Models.SubscriptionResponse ApplyCouponsToSubscription(
int subscriptionId,
@@ -1448,7 +1381,7 @@ public Models.SubscriptionResponse ApplyCouponsToSubscription(
///
/// Required parameter: The Chargify id of the subscription.
/// Optional parameter: A code for the coupon that would be applied to a subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionResponse response from the API call.
public async Task ApplyCouponsToSubscriptionAsync(
@@ -1538,7 +1471,7 @@ public async Task RemoveCouponFromSubscriptionAsync(
/// 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.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.SubscriptionResponse response from the API call.
public Models.SubscriptionResponse ActivateSubscription(
int subscriptionId,
@@ -1579,7 +1512,7 @@ public Models.SubscriptionResponse ActivateSubscription(
/// 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.
///
/// Required parameter: The Chargify id of the subscription.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.SubscriptionResponse response from the API call.
public async Task ActivateSubscriptionAsync(
diff --git a/AdvancedBilling.Standard/Controllers/WebhooksController.cs b/AdvancedBilling.Standard/Controllers/WebhooksController.cs
index eeb6149b..f813949f 100644
--- a/AdvancedBilling.Standard/Controllers/WebhooksController.cs
+++ b/AdvancedBilling.Standard/Controllers/WebhooksController.cs
@@ -84,7 +84,7 @@ internal WebhooksController(GlobalConfiguration globalConfiguration) : base(glob
///
/// This method allows you to enable webhooks via API for your site.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.EnableWebhooksResponse response from the API call.
public Models.EnableWebhooksResponse EnableWebhooks(
Models.EnableWebhooksRequest body = null)
@@ -93,7 +93,7 @@ public Models.EnableWebhooksResponse EnableWebhooks(
///
/// This method allows you to enable webhooks via API for your site.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.EnableWebhooksResponse response from the API call.
public async Task EnableWebhooksAsync(
@@ -112,7 +112,7 @@ public Models.EnableWebhooksResponse EnableWebhooks(
/// Posting to the replay endpoint does not immediately resend the webhooks. They are added to a queue and will be sent as soon as possible, depending on available system resources.
/// You may submit an array of up to 1000 webhook IDs to replay in the request.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.ReplayWebhooksResponse response from the API call.
public Models.ReplayWebhooksResponse ReplayWebhooks(
Models.ReplayWebhooksRequest body = null)
@@ -122,7 +122,7 @@ public Models.ReplayWebhooksResponse ReplayWebhooks(
/// Posting to the replay endpoint does not immediately resend the webhooks. They are added to a queue and will be sent as soon as possible, depending on available system resources.
/// You may submit an array of up to 1000 webhook IDs to replay in the request.
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.ReplayWebhooksResponse response from the API call.
public async Task ReplayWebhooksAsync(
@@ -142,7 +142,7 @@ public Models.ReplayWebhooksResponse ReplayWebhooks(
/// You can check available events here.
/// [Event keys](https://maxio.zendesk.com/hc/en-us/articles/24266136649869-Webhooks-Reference#events).
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.EndpointResponse response from the API call.
public Models.EndpointResponse CreateEndpoint(
Models.CreateOrUpdateEndpointRequest body = null)
@@ -153,7 +153,7 @@ public Models.EndpointResponse CreateEndpoint(
/// You can check available events here.
/// [Event keys](https://maxio.zendesk.com/hc/en-us/articles/24266136649869-Webhooks-Reference#events).
///
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.EndpointResponse response from the API call.
public async Task CreateEndpointAsync(
@@ -198,7 +198,7 @@ public Models.EndpointResponse CreateEndpoint(
/// If you want unsubscribe from specific event, just send a list of `webhook_subscriptions` without the specific event key.
///
/// Required parameter: The Advanced Billing id for the endpoint that should be updated.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// Returns the Models.EndpointResponse response from the API call.
public Models.EndpointResponse UpdateEndpoint(
int endpointId,
@@ -214,7 +214,7 @@ public Models.EndpointResponse UpdateEndpoint(
/// If you want unsubscribe from specific event, just send a list of `webhook_subscriptions` without the specific event key.
///
/// Required parameter: The Advanced Billing id for the endpoint that should be updated.
- /// Optional parameter: Example: .
+ /// Optional parameter: .
/// cancellationToken.
/// Returns the Models.EndpointResponse response from the API call.
public async Task UpdateEndpointAsync(
diff --git a/AdvancedBilling.Standard/Exceptions/ApiException.cs b/AdvancedBilling.Standard/Exceptions/ApiException.cs
index a9f4c52d..a9231e5a 100644
--- a/AdvancedBilling.Standard/Exceptions/ApiException.cs
+++ b/AdvancedBilling.Standard/Exceptions/ApiException.cs
@@ -11,7 +11,7 @@ namespace AdvancedBilling.Standard.Exceptions
{
///
/// This is the base class for all exceptions that represent an error response
- /// from the server.
+ /// from the server. It inherits from [`System.Exception`](https://learn.microsoft.com/en-us/dotnet/api/system.exception).
///
public class ApiException : CoreApiException
{
diff --git a/AdvancedBilling.Standard/Http/Client/HttpClientConfiguration.cs b/AdvancedBilling.Standard/Http/Client/HttpClientConfiguration.cs
index e6d4faf0..24a4c450 100644
--- a/AdvancedBilling.Standard/Http/Client/HttpClientConfiguration.cs
+++ b/AdvancedBilling.Standard/Http/Client/HttpClientConfiguration.cs
@@ -3,10 +3,10 @@
//
using System;
using System.Collections.Generic;
-using System.Collections.Immutable;
-using System.Linq;
using System.Net.Http;
using APIMatic.Core.Http.Configuration;
+using APIMatic.Core.Proxy;
+using AdvancedBilling.Standard.Http.Client.Proxy;
namespace AdvancedBilling.Standard.Http.Client
{
@@ -15,15 +15,18 @@ namespace AdvancedBilling.Standard.Http.Client
///
public class HttpClientConfiguration : IHttpClientConfiguration
{
- private CoreHttpClientConfiguration coreHttpClientConfiguration;
+ private readonly CoreHttpClientConfiguration coreHttpClientConfiguration;
///
/// Initializes a new instance of the
/// class.
///
+ private readonly CoreProxyConfiguration coreProxyConfiguration;
private HttpClientConfiguration(
- CoreHttpClientConfiguration.Builder coreHttpClientConfigurationBuilder)
+ CoreHttpClientConfiguration.Builder coreHttpClientConfigurationBuilder,
+ CoreProxyConfiguration coreProxyConfiguration)
{
coreHttpClientConfiguration = coreHttpClientConfigurationBuilder.Build();
+ this.coreProxyConfiguration = coreProxyConfiguration;
}
///
@@ -93,7 +96,8 @@ public override string ToString()
public Builder ToBuilder()
=> new Builder()
{
- CoreHttpClientConfigurationBuilder = coreHttpClientConfiguration.ToBuilder()
+ CoreHttpClientConfigurationBuilder = coreHttpClientConfiguration.ToBuilder(),
+ CoreProxyConfiguration = this.coreProxyConfiguration
};
///
@@ -102,6 +106,7 @@ public Builder ToBuilder()
public class Builder
{
internal CoreHttpClientConfiguration.Builder CoreHttpClientConfigurationBuilder { private get; set; } = new CoreHttpClientConfiguration.Builder();
+ internal CoreProxyConfiguration CoreProxyConfiguration { private get; set; }
///
/// Sets the Timeout.
@@ -192,13 +197,26 @@ public Builder HttpClientInstance(HttpClient httpClientInstance, bool overrideHt
return this;
}
+ ///
+ /// Sets the Proxy.
+ ///
+ /// ProxyConfigurationBuilder.
+ /// Builder.
+ public Builder Proxy(ProxyConfigurationBuilder proxyConfigurationBuilder)
+ {
+ var proxyConfiguration = proxyConfigurationBuilder?.Build();
+ CoreProxyConfiguration = proxyConfiguration;
+ CoreHttpClientConfigurationBuilder.ProxyConfiguration(proxyConfiguration);
+ return this;
+ }
+
///
/// Creates an object of the HttpClientConfiguration using the values provided for the builder.
///
/// HttpClientConfiguration.
public HttpClientConfiguration Build()
{
- return new HttpClientConfiguration(CoreHttpClientConfigurationBuilder);
+ return new HttpClientConfiguration(CoreHttpClientConfigurationBuilder, CoreProxyConfiguration);
}
}
}
diff --git a/AdvancedBilling.Standard/Http/Client/Proxy/ProxyConfigurationBuilder.cs b/AdvancedBilling.Standard/Http/Client/Proxy/ProxyConfigurationBuilder.cs
new file mode 100644
index 00000000..fd629c9e
--- /dev/null
+++ b/AdvancedBilling.Standard/Http/Client/Proxy/ProxyConfigurationBuilder.cs
@@ -0,0 +1,68 @@
+//
+// Copyright (c) APIMatic. All rights reserved.
+//
+using APIMatic.Core.Proxy;
+
+namespace AdvancedBilling.Standard.Http.Client.Proxy
+{
+ ///
+ /// Represents the proxy server configurations for API calls.
+ ///
+ public class ProxyConfigurationBuilder
+ {
+ private string _address;
+ private int _port = 8080;
+ private string _user;
+ private string _pass;
+ private bool _tunnel;
+
+ ///
+ /// Sets the Address.
+ ///
+ ///
+ public ProxyConfigurationBuilder(string address)
+ {
+ _address = address;
+ }
+
+ ///
+ /// Sets the Port.
+ ///
+ ///
+ ///
+ public ProxyConfigurationBuilder Port(int port)
+ {
+ _port = port;
+ return this;
+ }
+
+ ///
+ /// Sets the Auth.
+ ///
+ ///
+ ///
+ ///
+ public ProxyConfigurationBuilder Auth(string user, string pass)
+ {
+ _user = user;
+ _pass = pass;
+ return this;
+ }
+
+ ///
+ /// Sets the Tunnel.
+ ///
+ ///
+ ///
+ public ProxyConfigurationBuilder Tunnel(bool tunnel)
+ {
+ _tunnel = tunnel;
+ return this;
+ }
+
+ internal CoreProxyConfiguration Build()
+ {
+ return new CoreProxyConfiguration(_address, _port, _user, _pass, _tunnel);
+ }
+ }
+}
diff --git a/AdvancedBilling.Standard/Models/ApplePayPaymentProfile.cs b/AdvancedBilling.Standard/Models/ApplePayPaymentProfile.cs
index d4d87588..5273d6c6 100644
--- a/AdvancedBilling.Standard/Models/ApplePayPaymentProfile.cs
+++ b/AdvancedBilling.Standard/Models/ApplePayPaymentProfile.cs
@@ -69,6 +69,8 @@ public ApplePayPaymentProfile()
/// billing_address_2.
/// site_gateway_setting_id.
/// gateway_handle.
+ /// created_at.
+ /// updated_at.
public ApplePayPaymentProfile(
Models.PaymentType paymentType,
int? id = null,
@@ -85,7 +87,9 @@ public ApplePayPaymentProfile(
string customerVaultToken = null,
string billingAddress2 = null,
int? siteGatewaySettingId = null,
- string gatewayHandle = null)
+ string gatewayHandle = null,
+ DateTimeOffset? createdAt = null,
+ DateTimeOffset? updatedAt = null)
{
this.Id = id;
this.FirstName = firstName;
@@ -139,6 +143,8 @@ public ApplePayPaymentProfile(
{
this.GatewayHandle = gatewayHandle;
}
+ this.CreatedAt = createdAt;
+ this.UpdatedAt = updatedAt;
}
///
@@ -357,6 +363,20 @@ public string GatewayHandle
}
}
+ ///
+ /// A timestamp indicating when this payment profile was created
+ ///
+ [JsonConverter(typeof(IsoDateTimeConverter))]
+ [JsonProperty("created_at", NullValueHandling = NullValueHandling.Ignore)]
+ public DateTimeOffset? CreatedAt { get; set; }
+
+ ///
+ /// A timestamp indicating when this payment profile was last updated
+ ///
+ [JsonConverter(typeof(IsoDateTimeConverter))]
+ [JsonProperty("updated_at", NullValueHandling = NullValueHandling.Ignore)]
+ public DateTimeOffset? UpdatedAt { get; set; }
+
///
public override string ToString()
{
@@ -556,6 +576,10 @@ public override bool Equals(object obj)
this.SiteGatewaySettingId?.Equals(other.SiteGatewaySettingId) == true) &&
(this.GatewayHandle == null && other.GatewayHandle == null ||
this.GatewayHandle?.Equals(other.GatewayHandle) == true) &&
+ (this.CreatedAt == null && other.CreatedAt == null ||
+ this.CreatedAt?.Equals(other.CreatedAt) == true) &&
+ (this.UpdatedAt == null && other.UpdatedAt == null ||
+ this.UpdatedAt?.Equals(other.UpdatedAt) == true) &&
base.Equals(obj);
}
@@ -581,6 +605,8 @@ public override bool Equals(object obj)
toStringOutput.Add($"PaymentType = {this.PaymentType}");
toStringOutput.Add($"SiteGatewaySettingId = {(this.SiteGatewaySettingId == null ? "null" : this.SiteGatewaySettingId.ToString())}");
toStringOutput.Add($"GatewayHandle = {this.GatewayHandle ?? "null"}");
+ toStringOutput.Add($"CreatedAt = {(this.CreatedAt == null ? "null" : this.CreatedAt.ToString())}");
+ toStringOutput.Add($"UpdatedAt = {(this.UpdatedAt == null ? "null" : this.UpdatedAt.ToString())}");
base.ToString(toStringOutput);
}
diff --git a/AdvancedBilling.Standard/Models/BankAccountPaymentProfile.cs b/AdvancedBilling.Standard/Models/BankAccountPaymentProfile.cs
index d8899ef0..573a7923 100644
--- a/AdvancedBilling.Standard/Models/BankAccountPaymentProfile.cs
+++ b/AdvancedBilling.Standard/Models/BankAccountPaymentProfile.cs
@@ -75,6 +75,8 @@ public BankAccountPaymentProfile()
/// verified.
/// site_gateway_setting_id.
/// gateway_handle.
+ /// created_at.
+ /// updated_at.
public BankAccountPaymentProfile(
string maskedBankAccountNumber,
Models.PaymentType paymentType,
@@ -97,7 +99,9 @@ public BankAccountPaymentProfile(
Models.BankAccountHolderType? bankAccountHolderType = null,
bool? verified = false,
int? siteGatewaySettingId = null,
- string gatewayHandle = null)
+ string gatewayHandle = null,
+ DateTimeOffset? createdAt = null,
+ DateTimeOffset? updatedAt = null)
{
this.Id = id;
this.FirstName = firstName;
@@ -157,6 +161,8 @@ public BankAccountPaymentProfile(
{
this.GatewayHandle = gatewayHandle;
}
+ this.CreatedAt = createdAt;
+ this.UpdatedAt = updatedAt;
}
///
@@ -415,6 +421,20 @@ public string GatewayHandle
}
}
+ ///
+ /// A timestamp indicating when this payment profile was created
+ ///
+ [JsonConverter(typeof(IsoDateTimeConverter))]
+ [JsonProperty("created_at", NullValueHandling = NullValueHandling.Ignore)]
+ public DateTimeOffset? CreatedAt { get; set; }
+
+ ///
+ /// A timestamp indicating when this payment profile was last updated
+ ///
+ [JsonConverter(typeof(IsoDateTimeConverter))]
+ [JsonProperty("updated_at", NullValueHandling = NullValueHandling.Ignore)]
+ public DateTimeOffset? UpdatedAt { get; set; }
+
///
public override string ToString()
{
@@ -626,6 +646,10 @@ public override bool Equals(object obj)
this.SiteGatewaySettingId?.Equals(other.SiteGatewaySettingId) == true) &&
(this.GatewayHandle == null && other.GatewayHandle == null ||
this.GatewayHandle?.Equals(other.GatewayHandle) == true) &&
+ (this.CreatedAt == null && other.CreatedAt == null ||
+ this.CreatedAt?.Equals(other.CreatedAt) == true) &&
+ (this.UpdatedAt == null && other.UpdatedAt == null ||
+ this.UpdatedAt?.Equals(other.UpdatedAt) == true) &&
base.Equals(obj);
}
@@ -657,6 +681,8 @@ public override bool Equals(object obj)
toStringOutput.Add($"Verified = {(this.Verified == null ? "null" : this.Verified.ToString())}");
toStringOutput.Add($"SiteGatewaySettingId = {(this.SiteGatewaySettingId == null ? "null" : this.SiteGatewaySettingId.ToString())}");
toStringOutput.Add($"GatewayHandle = {this.GatewayHandle ?? "null"}");
+ toStringOutput.Add($"CreatedAt = {(this.CreatedAt == null ? "null" : this.CreatedAt.ToString())}");
+ toStringOutput.Add($"UpdatedAt = {(this.UpdatedAt == null ? "null" : this.UpdatedAt.ToString())}");
base.ToString(toStringOutput);
}
diff --git a/AdvancedBilling.Standard/Models/BaseModel.cs b/AdvancedBilling.Standard/Models/BaseModel.cs
index 8da94c7e..3c90a5ab 100644
--- a/AdvancedBilling.Standard/Models/BaseModel.cs
+++ b/AdvancedBilling.Standard/Models/BaseModel.cs
@@ -1,11 +1,11 @@
//
// Copyright (c) APIMatic. All rights reserved.
//
+using AdvancedBilling.Standard.Utilities;
+using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
-using AdvancedBilling.Standard.Utilities;
-using Newtonsoft.Json;
namespace AdvancedBilling.Standard.Models
{
diff --git a/AdvancedBilling.Standard/Models/Component.cs b/AdvancedBilling.Standard/Models/Component.cs
index 83bee6bc..1777f01a 100644
--- a/AdvancedBilling.Standard/Models/Component.cs
+++ b/AdvancedBilling.Standard/Models/Component.cs
@@ -77,6 +77,7 @@ public Component()
/// unit_price.
/// product_family_id.
/// product_family_name.
+ /// product_family_handle.
/// price_per_unit_in_cents.
/// kind.
/// archived.
@@ -112,6 +113,7 @@ public Component(
string unitPrice = null,
int? productFamilyId = null,
string productFamilyName = null,
+ string productFamilyHandle = null,
long? pricePerUnitInCents = null,
Models.ComponentKind? kind = null,
bool? archived = null,
@@ -159,6 +161,7 @@ public Component(
}
this.ProductFamilyId = productFamilyId;
this.ProductFamilyName = productFamilyName;
+ this.ProductFamilyHandle = productFamilyHandle;
if (pricePerUnitInCents != null)
{
@@ -327,6 +330,12 @@ public string UnitPrice
[JsonProperty("product_family_name", NullValueHandling = NullValueHandling.Ignore)]
public string ProductFamilyName { get; set; }
+ ///
+ /// The handle of the Product Family to which the Component belongs
+ ///
+ [JsonProperty("product_family_handle", NullValueHandling = NullValueHandling.Ignore)]
+ public string ProductFamilyHandle { get; set; }
+
///
/// deprecated - use unit_price instead
///
@@ -976,6 +985,8 @@ public override bool Equals(object obj)
this.ProductFamilyId?.Equals(other.ProductFamilyId) == true) &&
(this.ProductFamilyName == null && other.ProductFamilyName == null ||
this.ProductFamilyName?.Equals(other.ProductFamilyName) == true) &&
+ (this.ProductFamilyHandle == null && other.ProductFamilyHandle == null ||
+ this.ProductFamilyHandle?.Equals(other.ProductFamilyHandle) == true) &&
(this.PricePerUnitInCents == null && other.PricePerUnitInCents == null ||
this.PricePerUnitInCents?.Equals(other.PricePerUnitInCents) == true) &&
(this.Kind == null && other.Kind == null ||
@@ -1045,6 +1056,7 @@ public override bool Equals(object obj)
toStringOutput.Add($"UnitPrice = {this.UnitPrice ?? "null"}");
toStringOutput.Add($"ProductFamilyId = {(this.ProductFamilyId == null ? "null" : this.ProductFamilyId.ToString())}");
toStringOutput.Add($"ProductFamilyName = {this.ProductFamilyName ?? "null"}");
+ toStringOutput.Add($"ProductFamilyHandle = {this.ProductFamilyHandle ?? "null"}");
toStringOutput.Add($"PricePerUnitInCents = {(this.PricePerUnitInCents == null ? "null" : this.PricePerUnitInCents.ToString())}");
toStringOutput.Add($"Kind = {(this.Kind == null ? "null" : this.Kind.ToString())}");
toStringOutput.Add($"Archived = {(this.Archived == null ? "null" : this.Archived.ToString())}");
diff --git a/AdvancedBilling.Standard/Models/CouponRequest.cs b/AdvancedBilling.Standard/Models/CouponRequest.cs
index 24d87969..4153271e 100644
--- a/AdvancedBilling.Standard/Models/CouponRequest.cs
+++ b/AdvancedBilling.Standard/Models/CouponRequest.cs
@@ -51,13 +51,13 @@ public CouponRequest(
public Models.CouponPayload Coupon { get; set; }
///
- /// An object where the keys are product_ids and the values are booleans indicating if the coupon should be applicable to the product
+ /// An object where the keys are product IDs or handles (prefixed with 'handle:'), and the values are booleans indicating if the coupon should be applicable to the product
///
[JsonProperty("restricted_products", NullValueHandling = NullValueHandling.Ignore)]
public Dictionary RestrictedProducts { get; set; }
///
- /// An object where the keys are component_ids and the values are booleans indicating if the coupon should be applicable to the component
+ /// An object where the keys are component IDs or handles (prefixed with 'handle:'), and the values are booleans indicating if the coupon should be applicable to the component
///
[JsonProperty("restricted_components", NullValueHandling = NullValueHandling.Ignore)]
public Dictionary RestrictedComponents { get; set; }
diff --git a/AdvancedBilling.Standard/Models/CreateSubscription.cs b/AdvancedBilling.Standard/Models/CreateSubscription.cs
index 12531c99..0cb59972 100644
--- a/AdvancedBilling.Standard/Models/CreateSubscription.cs
+++ b/AdvancedBilling.Standard/Models/CreateSubscription.cs
@@ -51,6 +51,7 @@ public CreateSubscription()
/// customer_id.
/// next_billing_at.
/// initial_billing_at.
+ /// defer_signup.
/// stored_credential_transaction_id.
/// sales_rep_id.
/// payment_profile_id.
@@ -101,6 +102,7 @@ public CreateSubscription(
int? customerId = null,
DateTimeOffset? nextBillingAt = null,
DateTimeOffset? initialBillingAt = null,
+ bool? deferSignup = false,
int? storedCredentialTransactionId = null,
int? salesRepId = null,
int? paymentProfileId = null,
@@ -151,6 +153,7 @@ public CreateSubscription(
this.CustomerId = customerId;
this.NextBillingAt = nextBillingAt;
this.InitialBillingAt = initialBillingAt;
+ this.DeferSignup = deferSignup;
this.StoredCredentialTransactionId = storedCredentialTransactionId;
this.SalesRepId = salesRepId;
this.PaymentProfileId = paymentProfileId;
@@ -267,12 +270,18 @@ public CreateSubscription(
public DateTimeOffset? NextBillingAt { get; set; }
///
- /// (Optional) Set this attribute to a future date/time to create a subscription in the "Awaiting Signup" state, rather than "Active" or "Trialing". See the notes on “Date/Time Format” in our [subscription import documentation](https://maxio.zendesk.com/hc/en-us/articles/24251489107213-Advanced-Billing-Subscription-Imports#date-format). In the "Awaiting Signup" state, a subscription behaves like any other. It can be canceled, allocated to, had its billing date changed. etc. When the initial_billing_at date hits, the subscription will transition to the expected state. If the product has a trial, the subscription will enter a trial, otherwise it will go active. Setup fees will be respected either before or after the trial, as configured on the price point. If the payment is due at the initial_billing_at and it fails the subscription will be immediately canceled. See further notes in the section on Delayed Signups.
+ /// (Optional) Set this attribute to a future date/time to create a subscription in the Awaiting Signup state, rather than Active or Trialing. You can omit the initial_billing_at date to activate the subscription immediately. In the Awaiting Signup state, a subscription behaves like any other. It can be canceled, allocated to, or have its billing date changed. etc. When the initial_billing_at date hits, the subscription will transition to the expected state. If the product has a trial, the subscription will enter a trial, otherwise it will go active. Setup fees will be respected either before or after the trial, as configured on the price point. If the payment is due at the initial_billing_at and it fails the subscription will be immediately canceled. See the [subscription import](https://maxio.zendesk.com/hc/en-us/articles/24251489107213-Advanced-Billing-Subscription-Imports#date-format) documentation for more information about Date/Time Formats.
///
[JsonConverter(typeof(IsoDateTimeConverter))]
[JsonProperty("initial_billing_at", NullValueHandling = NullValueHandling.Ignore)]
public DateTimeOffset? InitialBillingAt { get; set; }
+ ///
+ /// (Optional) Set this attribute to true to create the subscription in the Awaiting Signup Date state. Use this when you want to create a subscription that has an unknown first billing date. When the first billing date is known, update a subscription and set the `initial_billing_at` date. The subscription moves to the Awaiting Signup state with a scheduled initial billing date. You can omit the initial_billing_at date to activate the subscription immediately. See [Subscription States](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404222005773-Subscription-States) for more information.
+ ///
+ [JsonProperty("defer_signup", NullValueHandling = NullValueHandling.Ignore)]
+ public bool? DeferSignup { get; set; }
+
///
/// For European sites subject to PSD2 and using 3D Secure, this can be used to reference a previous transaction for the customer. This will ensure the card will be charged successfully at renewal.
///
@@ -292,7 +301,7 @@ public CreateSubscription(
public int? PaymentProfileId { get; set; }
///
- /// The reference value (provided by your app) for the subscription itelf.
+ /// The reference value (provided by your app) for the subscription itself.
///
[JsonProperty("reference", NullValueHandling = NullValueHandling.Ignore)]
public string Reference { get; set; }
@@ -419,7 +428,7 @@ public CreateSubscription(
public string ReasonCode { get; set; }
///
- /// (Optional, used only for Delayed Product Change When set to true, indicates that a changed value for product_handle should schedule the product change to the next subscription renewal.
+ /// (Optional) used only for Delayed Product Change When set to true, indicates that a changed value for product_handle should schedule the product change to the next subscription renewal.
///
[JsonProperty("product_change_delayed", NullValueHandling = NullValueHandling.Ignore)]
public bool? ProductChangeDelayed { get; set; }
@@ -563,6 +572,8 @@ public override bool Equals(object obj)
this.NextBillingAt?.Equals(other.NextBillingAt) == true) &&
(this.InitialBillingAt == null && other.InitialBillingAt == null ||
this.InitialBillingAt?.Equals(other.InitialBillingAt) == true) &&
+ (this.DeferSignup == null && other.DeferSignup == null ||
+ this.DeferSignup?.Equals(other.DeferSignup) == true) &&
(this.StoredCredentialTransactionId == null && other.StoredCredentialTransactionId == null ||
this.StoredCredentialTransactionId?.Equals(other.StoredCredentialTransactionId) == true) &&
(this.SalesRepId == null && other.SalesRepId == null ||
@@ -657,6 +668,7 @@ public override bool Equals(object obj)
toStringOutput.Add($"CustomerId = {(this.CustomerId == null ? "null" : this.CustomerId.ToString())}");
toStringOutput.Add($"NextBillingAt = {(this.NextBillingAt == null ? "null" : this.NextBillingAt.ToString())}");
toStringOutput.Add($"InitialBillingAt = {(this.InitialBillingAt == null ? "null" : this.InitialBillingAt.ToString())}");
+ toStringOutput.Add($"DeferSignup = {(this.DeferSignup == null ? "null" : this.DeferSignup.ToString())}");
toStringOutput.Add($"StoredCredentialTransactionId = {(this.StoredCredentialTransactionId == null ? "null" : this.StoredCredentialTransactionId.ToString())}");
toStringOutput.Add($"SalesRepId = {(this.SalesRepId == null ? "null" : this.SalesRepId.ToString())}");
toStringOutput.Add($"PaymentProfileId = {(this.PaymentProfileId == null ? "null" : this.PaymentProfileId.ToString())}");
diff --git a/AdvancedBilling.Standard/Models/CreditCardPaymentProfile.cs b/AdvancedBilling.Standard/Models/CreditCardPaymentProfile.cs
index 04e5ee3a..09ed65d2 100644
--- a/AdvancedBilling.Standard/Models/CreditCardPaymentProfile.cs
+++ b/AdvancedBilling.Standard/Models/CreditCardPaymentProfile.cs
@@ -77,6 +77,8 @@ public CreditCardPaymentProfile()
/// chargify_token.
/// site_gateway_setting_id.
/// gateway_handle.
+ /// created_at.
+ /// updated_at.
public CreditCardPaymentProfile(
Models.PaymentType paymentType,
int? id = null,
@@ -99,7 +101,9 @@ public CreditCardPaymentProfile(
bool? disabled = null,
string chargifyToken = null,
int? siteGatewaySettingId = null,
- string gatewayHandle = null)
+ string gatewayHandle = null,
+ DateTimeOffset? createdAt = null,
+ DateTimeOffset? updatedAt = null)
{
this.Id = id;
this.FirstName = firstName;
@@ -163,6 +167,8 @@ public CreditCardPaymentProfile(
{
this.GatewayHandle = gatewayHandle;
}
+ this.CreatedAt = createdAt;
+ this.UpdatedAt = updatedAt;
}
///
@@ -431,6 +437,20 @@ public string GatewayHandle
}
}
+ ///
+ /// A timestamp indicating when this payment profile was created
+ ///
+ [JsonConverter(typeof(IsoDateTimeConverter))]
+ [JsonProperty("created_at", NullValueHandling = NullValueHandling.Ignore)]
+ public DateTimeOffset? CreatedAt { get; set; }
+
+ ///
+ /// A timestamp indicating when this payment profile was last updated
+ ///
+ [JsonConverter(typeof(IsoDateTimeConverter))]
+ [JsonProperty("updated_at", NullValueHandling = NullValueHandling.Ignore)]
+ public DateTimeOffset? UpdatedAt { get; set; }
+
///
public override string ToString()
{
@@ -659,6 +679,10 @@ public override bool Equals(object obj)
this.SiteGatewaySettingId?.Equals(other.SiteGatewaySettingId) == true) &&
(this.GatewayHandle == null && other.GatewayHandle == null ||
this.GatewayHandle?.Equals(other.GatewayHandle) == true) &&
+ (this.CreatedAt == null && other.CreatedAt == null ||
+ this.CreatedAt?.Equals(other.CreatedAt) == true) &&
+ (this.UpdatedAt == null && other.UpdatedAt == null ||
+ this.UpdatedAt?.Equals(other.UpdatedAt) == true) &&
base.Equals(obj);
}
@@ -690,6 +714,8 @@ public override bool Equals(object obj)
toStringOutput.Add($"ChargifyToken = {this.ChargifyToken ?? "null"}");
toStringOutput.Add($"SiteGatewaySettingId = {(this.SiteGatewaySettingId == null ? "null" : this.SiteGatewaySettingId.ToString())}");
toStringOutput.Add($"GatewayHandle = {this.GatewayHandle ?? "null"}");
+ toStringOutput.Add($"CreatedAt = {(this.CreatedAt == null ? "null" : this.CreatedAt.ToString())}");
+ toStringOutput.Add($"UpdatedAt = {(this.UpdatedAt == null ? "null" : this.UpdatedAt.ToString())}");
base.ToString(toStringOutput);
}
diff --git a/AdvancedBilling.Standard/Models/ListInvoicesInput.cs b/AdvancedBilling.Standard/Models/ListInvoicesInput.cs
index 3f70390a..0e9dad1c 100644
--- a/AdvancedBilling.Standard/Models/ListInvoicesInput.cs
+++ b/AdvancedBilling.Standard/Models/ListInvoicesInput.cs
@@ -36,6 +36,7 @@ public ListInvoicesInput()
/// status.
/// subscription_id.
/// subscription_group_uid.
+ /// consolidation_level.
/// page.
/// per_page.
/// direction.
@@ -59,6 +60,7 @@ public ListInvoicesInput(
Models.InvoiceStatus? status = null,
int? subscriptionId = null,
string subscriptionGroupUid = null,
+ string consolidationLevel = null,
int? page = 1,
int? perPage = 20,
Models.Direction? direction = Models.Direction.Desc,
@@ -82,6 +84,7 @@ public ListInvoicesInput(
this.Status = status;
this.SubscriptionId = subscriptionId;
this.SubscriptionGroupUid = subscriptionGroupUid;
+ this.ConsolidationLevel = consolidationLevel;
this.Page = page;
this.PerPage = perPage;
this.Direction = direction;
@@ -131,6 +134,12 @@ public ListInvoicesInput(
[JsonProperty("subscription_group_uid", NullValueHandling = NullValueHandling.Ignore)]
public string SubscriptionGroupUid { get; set; }
+ ///
+ /// The consolidation level of the invoice. Allowed Values: none, parent, child or comma-separated lists of thereof, e.g. none,parent.
+ ///
+ [JsonProperty("consolidation_level", NullValueHandling = NullValueHandling.Ignore)]
+ public string ConsolidationLevel { get; set; }
+
///
/// Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
/// Use in query `page=1`.
@@ -260,6 +269,8 @@ public override bool Equals(object obj)
this.SubscriptionId?.Equals(other.SubscriptionId) == true) &&
(this.SubscriptionGroupUid == null && other.SubscriptionGroupUid == null ||
this.SubscriptionGroupUid?.Equals(other.SubscriptionGroupUid) == true) &&
+ (this.ConsolidationLevel == null && other.ConsolidationLevel == null ||
+ this.ConsolidationLevel?.Equals(other.ConsolidationLevel) == true) &&
(this.Page == null && other.Page == null ||
this.Page?.Equals(other.Page) == true) &&
(this.PerPage == null && other.PerPage == null ||
@@ -308,6 +319,7 @@ public override bool Equals(object obj)
toStringOutput.Add($"Status = {(this.Status == null ? "null" : this.Status.ToString())}");
toStringOutput.Add($"SubscriptionId = {(this.SubscriptionId == null ? "null" : this.SubscriptionId.ToString())}");
toStringOutput.Add($"SubscriptionGroupUid = {this.SubscriptionGroupUid ?? "null"}");
+ toStringOutput.Add($"ConsolidationLevel = {this.ConsolidationLevel ?? "null"}");
toStringOutput.Add($"Page = {(this.Page == null ? "null" : this.Page.ToString())}");
toStringOutput.Add($"PerPage = {(this.PerPage == null ? "null" : this.PerPage.ToString())}");
toStringOutput.Add($"Direction = {(this.Direction == null ? "null" : this.Direction.ToString())}");
diff --git a/AdvancedBilling.Standard/Models/ListServiceCreditsResponse.cs b/AdvancedBilling.Standard/Models/ListServiceCreditsResponse.cs
new file mode 100644
index 00000000..255076cb
--- /dev/null
+++ b/AdvancedBilling.Standard/Models/ListServiceCreditsResponse.cs
@@ -0,0 +1,78 @@
+//
+// Copyright (c) APIMatic. All rights reserved.
+//
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using APIMatic.Core.Utilities.Converters;
+using AdvancedBilling.Standard;
+using AdvancedBilling.Standard.Utilities;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+
+namespace AdvancedBilling.Standard.Models
+{
+ ///
+ /// ListServiceCreditsResponse.
+ ///
+ public class ListServiceCreditsResponse : BaseModel
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public ListServiceCreditsResponse()
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// service_credits.
+ public ListServiceCreditsResponse(
+ List serviceCredits = null)
+ {
+ this.ServiceCredits = serviceCredits;
+ }
+
+ ///
+ /// Gets or sets ServiceCredits.
+ ///
+ [JsonProperty("service_credits", NullValueHandling = NullValueHandling.Ignore)]
+ public List ServiceCredits { get; set; }
+
+ ///
+ public override string ToString()
+ {
+ var toStringOutput = new List();
+ this.ToString(toStringOutput);
+ return $"ListServiceCreditsResponse : ({string.Join(", ", toStringOutput)})";
+ }
+
+ ///
+ public override bool Equals(object obj)
+ {
+ if (obj is null) return false;
+ if (ReferenceEquals(this, obj)) return true;
+
+ return obj is ListServiceCreditsResponse other &&
+ (this.ServiceCredits == null && other.ServiceCredits == null ||
+ this.ServiceCredits?.Equals(other.ServiceCredits) == true) &&
+ base.Equals(obj);
+ }
+
+ ///
+ /// ToString overload.
+ ///
+ /// List of strings.
+ protected new void ToString(List toStringOutput)
+ {
+ toStringOutput.Add($"ServiceCredits = {(this.ServiceCredits == null ? "null" : $"[{string.Join(", ", this.ServiceCredits)} ]")}");
+
+ base.ToString(toStringOutput);
+ }
+ }
+}
\ No newline at end of file
diff --git a/AdvancedBilling.Standard/Models/ListSubscriptionsInput.cs b/AdvancedBilling.Standard/Models/ListSubscriptionsInput.cs
index 307443be..f4325eef 100644
--- a/AdvancedBilling.Standard/Models/ListSubscriptionsInput.cs
+++ b/AdvancedBilling.Standard/Models/ListSubscriptionsInput.cs
@@ -37,6 +37,7 @@ public ListSubscriptionsInput()
/// product.
/// product_price_point_id.
/// coupon.
+ /// coupon_code.
/// date_field.
/// start_date.
/// end_date.
@@ -53,6 +54,7 @@ public ListSubscriptionsInput(
int? product = null,
int? productPricePointId = null,
int? coupon = null,
+ string couponCode = null,
Models.SubscriptionDateField? dateField = null,
DateTime? startDate = null,
DateTime? endDate = null,
@@ -69,6 +71,7 @@ public ListSubscriptionsInput(
this.Product = product;
this.ProductPricePointId = productPricePointId;
this.Coupon = coupon;
+ this.CouponCode = couponCode;
this.DateField = dateField;
this.StartDate = startDate;
this.EndDate = endDate;
@@ -118,6 +121,12 @@ public ListSubscriptionsInput(
[JsonProperty("coupon", NullValueHandling = NullValueHandling.Ignore)]
public int? Coupon { get; set; }
+ ///
+ /// The coupon code currently applied to the subscription
+ ///
+ [JsonProperty("coupon_code", NullValueHandling = NullValueHandling.Ignore)]
+ public string CouponCode { get; set; }
+
///
/// The type of filter you'd like to apply to your search. Allowed Values: , current_period_ends_at, current_period_starts_at, created_at, activated_at, canceled_at, expires_at, trial_started_at, trial_ended_at, updated_at
///
@@ -206,6 +215,8 @@ public override bool Equals(object obj)
this.ProductPricePointId?.Equals(other.ProductPricePointId) == true) &&
(this.Coupon == null && other.Coupon == null ||
this.Coupon?.Equals(other.Coupon) == true) &&
+ (this.CouponCode == null && other.CouponCode == null ||
+ this.CouponCode?.Equals(other.CouponCode) == true) &&
(this.DateField == null && other.DateField == null ||
this.DateField?.Equals(other.DateField) == true) &&
(this.StartDate == null && other.StartDate == null ||
@@ -239,6 +250,7 @@ public override bool Equals(object obj)
toStringOutput.Add($"Product = {(this.Product == null ? "null" : this.Product.ToString())}");
toStringOutput.Add($"ProductPricePointId = {(this.ProductPricePointId == null ? "null" : this.ProductPricePointId.ToString())}");
toStringOutput.Add($"Coupon = {(this.Coupon == null ? "null" : this.Coupon.ToString())}");
+ toStringOutput.Add($"CouponCode = {this.CouponCode ?? "null"}");
toStringOutput.Add($"DateField = {(this.DateField == null ? "null" : this.DateField.ToString())}");
toStringOutput.Add($"StartDate = {(this.StartDate == null ? "null" : this.StartDate.ToString())}");
toStringOutput.Add($"EndDate = {(this.EndDate == null ? "null" : this.EndDate.ToString())}");
diff --git a/AdvancedBilling.Standard/Models/OverrideSubscription.cs b/AdvancedBilling.Standard/Models/OverrideSubscription.cs
index 516610eb..783cf8ea 100644
--- a/AdvancedBilling.Standard/Models/OverrideSubscription.cs
+++ b/AdvancedBilling.Standard/Models/OverrideSubscription.cs
@@ -71,7 +71,7 @@ public OverrideSubscription(
public string CancellationMessage { get; set; }
///
- /// Can be used to record an external expiration date. Chargify sets this field automatically when a subscription expires (ceases billing) after a prescribed amount of time. Only ISO8601 format is supported.
+ /// Can be used to record an external expiration date. Chargify sets this field automatically when a subscription expires (ceases billing) after a prescribed amount of time. Only ISO8601 format is supported. This field is not supported when Multi-frequency is enabled for the Site. To change the Term End of a Subscription, use the Update Subscription endpoint.
///
[JsonConverter(typeof(IsoDateTimeConverter))]
[JsonProperty("expires_at", NullValueHandling = NullValueHandling.Ignore)]
diff --git a/AdvancedBilling.Standard/Models/PaypalPaymentProfile.cs b/AdvancedBilling.Standard/Models/PaypalPaymentProfile.cs
index fe7dc34e..fd40f6bf 100644
--- a/AdvancedBilling.Standard/Models/PaypalPaymentProfile.cs
+++ b/AdvancedBilling.Standard/Models/PaypalPaymentProfile.cs
@@ -70,6 +70,8 @@ public PaypalPaymentProfile()
/// site_gateway_setting_id.
/// gateway_handle.
/// paypal_email.
+ /// created_at.
+ /// updated_at.
public PaypalPaymentProfile(
Models.PaymentType paymentType,
int? id = null,
@@ -87,7 +89,9 @@ public PaypalPaymentProfile(
string billingAddress2 = null,
int? siteGatewaySettingId = null,
string gatewayHandle = null,
- string paypalEmail = null)
+ string paypalEmail = null,
+ DateTimeOffset? createdAt = null,
+ DateTimeOffset? updatedAt = null)
{
this.Id = id;
this.FirstName = firstName;
@@ -142,6 +146,8 @@ public PaypalPaymentProfile(
this.GatewayHandle = gatewayHandle;
}
this.PaypalEmail = paypalEmail;
+ this.CreatedAt = createdAt;
+ this.UpdatedAt = updatedAt;
}
///
@@ -367,6 +373,20 @@ public string GatewayHandle
[JsonProperty("paypal_email", NullValueHandling = NullValueHandling.Ignore)]
public string PaypalEmail { get; set; }
+ ///
+ /// A timestamp indicating when this payment profile was created
+ ///
+ [JsonConverter(typeof(IsoDateTimeConverter))]
+ [JsonProperty("created_at", NullValueHandling = NullValueHandling.Ignore)]
+ public DateTimeOffset? CreatedAt { get; set; }
+
+ ///
+ /// A timestamp indicating when this payment profile was last updated
+ ///
+ [JsonConverter(typeof(IsoDateTimeConverter))]
+ [JsonProperty("updated_at", NullValueHandling = NullValueHandling.Ignore)]
+ public DateTimeOffset? UpdatedAt { get; set; }
+
///
public override string ToString()
{
@@ -568,6 +588,10 @@ public override bool Equals(object obj)
this.GatewayHandle?.Equals(other.GatewayHandle) == true) &&
(this.PaypalEmail == null && other.PaypalEmail == null ||
this.PaypalEmail?.Equals(other.PaypalEmail) == true) &&
+ (this.CreatedAt == null && other.CreatedAt == null ||
+ this.CreatedAt?.Equals(other.CreatedAt) == true) &&
+ (this.UpdatedAt == null && other.UpdatedAt == null ||
+ this.UpdatedAt?.Equals(other.UpdatedAt) == true) &&
base.Equals(obj);
}
@@ -594,6 +618,8 @@ public override bool Equals(object obj)
toStringOutput.Add($"SiteGatewaySettingId = {(this.SiteGatewaySettingId == null ? "null" : this.SiteGatewaySettingId.ToString())}");
toStringOutput.Add($"GatewayHandle = {this.GatewayHandle ?? "null"}");
toStringOutput.Add($"PaypalEmail = {this.PaypalEmail ?? "null"}");
+ toStringOutput.Add($"CreatedAt = {(this.CreatedAt == null ? "null" : this.CreatedAt.ToString())}");
+ toStringOutput.Add($"UpdatedAt = {(this.UpdatedAt == null ? "null" : this.UpdatedAt.ToString())}");
base.ToString(toStringOutput);
}
diff --git a/AdvancedBilling.Standard/Models/ServiceCredit1.cs b/AdvancedBilling.Standard/Models/ServiceCredit1.cs
new file mode 100644
index 00000000..e154df02
--- /dev/null
+++ b/AdvancedBilling.Standard/Models/ServiceCredit1.cs
@@ -0,0 +1,202 @@
+//
+// Copyright (c) APIMatic. All rights reserved.
+//
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using APIMatic.Core.Utilities.Converters;
+using AdvancedBilling.Standard;
+using AdvancedBilling.Standard.Utilities;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+
+namespace AdvancedBilling.Standard.Models
+{
+ ///
+ /// ServiceCredit1.
+ ///
+ public class ServiceCredit1 : BaseModel
+ {
+ private string invoiceUid;
+ private Dictionary shouldSerialize = new Dictionary
+ {
+ { "invoice_uid", false },
+ };
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public ServiceCredit1()
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// id.
+ /// amount_in_cents.
+ /// ending_balance_in_cents.
+ /// entry_type.
+ /// memo.
+ /// invoice_uid.
+ /// remaining_balance_in_cents.
+ /// created_at.
+ public ServiceCredit1(
+ int? id = null,
+ long? amountInCents = null,
+ long? endingBalanceInCents = null,
+ Models.ServiceCreditType? entryType = null,
+ string memo = null,
+ string invoiceUid = null,
+ long? remainingBalanceInCents = null,
+ DateTimeOffset? createdAt = null)
+ {
+ this.Id = id;
+ this.AmountInCents = amountInCents;
+ this.EndingBalanceInCents = endingBalanceInCents;
+ this.EntryType = entryType;
+ this.Memo = memo;
+
+ if (invoiceUid != null)
+ {
+ this.InvoiceUid = invoiceUid;
+ }
+ this.RemainingBalanceInCents = remainingBalanceInCents;
+ this.CreatedAt = createdAt;
+ }
+
+ ///
+ /// Gets or sets Id.
+ ///
+ [JsonProperty("id", NullValueHandling = NullValueHandling.Ignore)]
+ public int? Id { get; set; }
+
+ ///
+ /// The amount in cents of the entry
+ ///
+ [JsonProperty("amount_in_cents", NullValueHandling = NullValueHandling.Ignore)]
+ public long? AmountInCents { get; set; }
+
+ ///
+ /// The new balance for the credit account
+ ///
+ [JsonProperty("ending_balance_in_cents", NullValueHandling = NullValueHandling.Ignore)]
+ public long? EndingBalanceInCents { get; set; }
+
+ ///
+ /// The type of entry
+ ///
+ [JsonProperty("entry_type", NullValueHandling = NullValueHandling.Ignore)]
+ public Models.ServiceCreditType? EntryType { get; set; }
+
+ ///
+ /// The memo attached to the entry
+ ///
+ [JsonProperty("memo", NullValueHandling = NullValueHandling.Ignore)]
+ public string Memo { get; set; }
+
+ ///
+ /// The invoice uid associated with the entry. Only present for debit entries
+ ///
+ [JsonProperty("invoice_uid")]
+ public string InvoiceUid
+ {
+ get
+ {
+ return this.invoiceUid;
+ }
+
+ set
+ {
+ this.shouldSerialize["invoice_uid"] = true;
+ this.invoiceUid = value;
+ }
+ }
+
+ ///
+ /// The remaining balance for the entry
+ ///
+ [JsonProperty("remaining_balance_in_cents", NullValueHandling = NullValueHandling.Ignore)]
+ public long? RemainingBalanceInCents { get; set; }
+
+ ///
+ /// The date and time the entry was created
+ ///
+ [JsonConverter(typeof(IsoDateTimeConverter))]
+ [JsonProperty("created_at", NullValueHandling = NullValueHandling.Ignore)]
+ public DateTimeOffset? CreatedAt { get; set; }
+
+ ///
+ public override string ToString()
+ {
+ var toStringOutput = new List();
+ this.ToString(toStringOutput);
+ return $"ServiceCredit1 : ({string.Join(", ", toStringOutput)})";
+ }
+
+ ///
+ /// Marks the field to not be serialized.
+ ///
+ public void UnsetInvoiceUid()
+ {
+ this.shouldSerialize["invoice_uid"] = false;
+ }
+
+ ///
+ /// Checks if the field should be serialized or not.
+ ///
+ /// A boolean weather the field should be serialized or not.
+ public bool ShouldSerializeInvoiceUid()
+ {
+ return this.shouldSerialize["invoice_uid"];
+ }
+
+ ///
+ public override bool Equals(object obj)
+ {
+ if (obj is null) return false;
+ if (ReferenceEquals(this, obj)) return true;
+
+ return obj is ServiceCredit1 other &&
+ (this.Id == null && other.Id == null ||
+ this.Id?.Equals(other.Id) == true) &&
+ (this.AmountInCents == null && other.AmountInCents == null ||
+ this.AmountInCents?.Equals(other.AmountInCents) == true) &&
+ (this.EndingBalanceInCents == null && other.EndingBalanceInCents == null ||
+ this.EndingBalanceInCents?.Equals(other.EndingBalanceInCents) == true) &&
+ (this.EntryType == null && other.EntryType == null ||
+ this.EntryType?.Equals(other.EntryType) == true) &&
+ (this.Memo == null && other.Memo == null ||
+ this.Memo?.Equals(other.Memo) == true) &&
+ (this.InvoiceUid == null && other.InvoiceUid == null ||
+ this.InvoiceUid?.Equals(other.InvoiceUid) == true) &&
+ (this.RemainingBalanceInCents == null && other.RemainingBalanceInCents == null ||
+ this.RemainingBalanceInCents?.Equals(other.RemainingBalanceInCents) == true) &&
+ (this.CreatedAt == null && other.CreatedAt == null ||
+ this.CreatedAt?.Equals(other.CreatedAt) == true) &&
+ base.Equals(obj);
+ }
+
+ ///
+ /// ToString overload.
+ ///
+ /// List of strings.
+ protected new void ToString(List toStringOutput)
+ {
+ toStringOutput.Add($"Id = {(this.Id == null ? "null" : this.Id.ToString())}");
+ toStringOutput.Add($"AmountInCents = {(this.AmountInCents == null ? "null" : this.AmountInCents.ToString())}");
+ toStringOutput.Add($"EndingBalanceInCents = {(this.EndingBalanceInCents == null ? "null" : this.EndingBalanceInCents.ToString())}");
+ toStringOutput.Add($"EntryType = {(this.EntryType == null ? "null" : this.EntryType.ToString())}");
+ toStringOutput.Add($"Memo = {this.Memo ?? "null"}");
+ toStringOutput.Add($"InvoiceUid = {this.InvoiceUid ?? "null"}");
+ toStringOutput.Add($"RemainingBalanceInCents = {(this.RemainingBalanceInCents == null ? "null" : this.RemainingBalanceInCents.ToString())}");
+ toStringOutput.Add($"CreatedAt = {(this.CreatedAt == null ? "null" : this.CreatedAt.ToString())}");
+
+ base.ToString(toStringOutput);
+ }
+ }
+}
\ No newline at end of file
diff --git a/AdvancedBilling.Standard/Models/SubscriptionGroupCreditCard.cs b/AdvancedBilling.Standard/Models/SubscriptionGroupCreditCard.cs
index 6c2c9d04..0d41f6e0 100644
--- a/AdvancedBilling.Standard/Models/SubscriptionGroupCreditCard.cs
+++ b/AdvancedBilling.Standard/Models/SubscriptionGroupCreditCard.cs
@@ -32,9 +32,6 @@ public SubscriptionGroupCreditCard()
///
/// Initializes a new instance of the class.
///
- /// full_number.
- /// expiration_month.
- /// expiration_year.
/// chargify_token.
/// vault_token.
/// current_vault.
@@ -47,15 +44,15 @@ public SubscriptionGroupCreditCard()
/// billing_state.
/// billing_zip.
/// billing_country.
+ /// full_number.
+ /// expiration_month.
+ /// expiration_year.
/// last_four.
/// card_type.
/// customer_vault_token.
/// cvv.
/// payment_type.
public SubscriptionGroupCreditCard(
- SubscriptionGroupCreditCardFullNumber fullNumber = null,
- SubscriptionGroupCreditCardExpirationMonth expirationMonth = null,
- SubscriptionGroupCreditCardExpirationYear expirationYear = null,
string chargifyToken = null,
string vaultToken = null,
Models.CreditCardVault? currentVault = null,
@@ -68,15 +65,15 @@ public SubscriptionGroupCreditCard(
string billingState = null,
string billingZip = null,
string billingCountry = null,
+ SubscriptionGroupCreditCardFullNumber fullNumber = null,
+ SubscriptionGroupCreditCardExpirationMonth expirationMonth = null,
+ SubscriptionGroupCreditCardExpirationYear expirationYear = null,
string lastFour = null,
Models.CardType? cardType = null,
string customerVaultToken = null,
string cvv = null,
string paymentType = null)
{
- this.FullNumber = fullNumber;
- this.ExpirationMonth = expirationMonth;
- this.ExpirationYear = expirationYear;
this.ChargifyToken = chargifyToken;
this.VaultToken = vaultToken;
this.CurrentVault = currentVault;
@@ -89,6 +86,9 @@ public SubscriptionGroupCreditCard(
this.BillingState = billingState;
this.BillingZip = billingZip;
this.BillingCountry = billingCountry;
+ this.FullNumber = fullNumber;
+ this.ExpirationMonth = expirationMonth;
+ this.ExpirationYear = expirationYear;
this.LastFour = lastFour;
this.CardType = cardType;
this.CustomerVaultToken = customerVaultToken;
@@ -96,24 +96,6 @@ public SubscriptionGroupCreditCard(
this.PaymentType = paymentType;
}
- ///
- /// Gets or sets FullNumber.
- ///
- [JsonProperty("full_number", NullValueHandling = NullValueHandling.Ignore)]
- public SubscriptionGroupCreditCardFullNumber FullNumber { get; set; }
-
- ///
- /// Gets or sets ExpirationMonth.
- ///
- [JsonProperty("expiration_month", NullValueHandling = NullValueHandling.Ignore)]
- public SubscriptionGroupCreditCardExpirationMonth ExpirationMonth { get; set; }
-
- ///
- /// Gets or sets ExpirationYear.
- ///
- [JsonProperty("expiration_year", NullValueHandling = NullValueHandling.Ignore)]
- public SubscriptionGroupCreditCardExpirationYear ExpirationYear { get; set; }
-
///
/// Gets or sets ChargifyToken.
///
@@ -186,6 +168,24 @@ public SubscriptionGroupCreditCard(
[JsonProperty("billing_country", NullValueHandling = NullValueHandling.Ignore)]
public string BillingCountry { get; set; }
+ ///
+ /// Gets or sets FullNumber.
+ ///
+ [JsonProperty("full_number", NullValueHandling = NullValueHandling.Ignore)]
+ public SubscriptionGroupCreditCardFullNumber FullNumber { get; set; }
+
+ ///
+ /// Gets or sets ExpirationMonth.
+ ///
+ [JsonProperty("expiration_month", NullValueHandling = NullValueHandling.Ignore)]
+ public SubscriptionGroupCreditCardExpirationMonth ExpirationMonth { get; set; }
+
+ ///
+ /// Gets or sets ExpirationYear.
+ ///
+ [JsonProperty("expiration_year", NullValueHandling = NullValueHandling.Ignore)]
+ public SubscriptionGroupCreditCardExpirationYear ExpirationYear { get; set; }
+
///
/// Gets or sets LastFour.
///
@@ -231,12 +231,6 @@ public override bool Equals(object obj)
if (ReferenceEquals(this, obj)) return true;
return obj is SubscriptionGroupCreditCard other &&
- (this.FullNumber == null && other.FullNumber == null ||
- this.FullNumber?.Equals(other.FullNumber) == true) &&
- (this.ExpirationMonth == null && other.ExpirationMonth == null ||
- this.ExpirationMonth?.Equals(other.ExpirationMonth) == true) &&
- (this.ExpirationYear == null && other.ExpirationYear == null ||
- this.ExpirationYear?.Equals(other.ExpirationYear) == true) &&
(this.ChargifyToken == null && other.ChargifyToken == null ||
this.ChargifyToken?.Equals(other.ChargifyToken) == true) &&
(this.VaultToken == null && other.VaultToken == null ||
@@ -261,6 +255,12 @@ public override bool Equals(object obj)
this.BillingZip?.Equals(other.BillingZip) == true) &&
(this.BillingCountry == null && other.BillingCountry == null ||
this.BillingCountry?.Equals(other.BillingCountry) == true) &&
+ (this.FullNumber == null && other.FullNumber == null ||
+ this.FullNumber?.Equals(other.FullNumber) == true) &&
+ (this.ExpirationMonth == null && other.ExpirationMonth == null ||
+ this.ExpirationMonth?.Equals(other.ExpirationMonth) == true) &&
+ (this.ExpirationYear == null && other.ExpirationYear == null ||
+ this.ExpirationYear?.Equals(other.ExpirationYear) == true) &&
(this.LastFour == null && other.LastFour == null ||
this.LastFour?.Equals(other.LastFour) == true) &&
(this.CardType == null && other.CardType == null ||
@@ -280,9 +280,6 @@ public override bool Equals(object obj)
/// List of strings.
protected new void ToString(List toStringOutput)
{
- toStringOutput.Add($"FullNumber = {(this.FullNumber == null ? "null" : this.FullNumber.ToString())}");
- toStringOutput.Add($"ExpirationMonth = {(this.ExpirationMonth == null ? "null" : this.ExpirationMonth.ToString())}");
- toStringOutput.Add($"ExpirationYear = {(this.ExpirationYear == null ? "null" : this.ExpirationYear.ToString())}");
toStringOutput.Add($"ChargifyToken = {this.ChargifyToken ?? "null"}");
toStringOutput.Add($"VaultToken = {this.VaultToken ?? "null"}");
toStringOutput.Add($"CurrentVault = {(this.CurrentVault == null ? "null" : this.CurrentVault.ToString())}");
@@ -295,6 +292,9 @@ public override bool Equals(object obj)
toStringOutput.Add($"BillingState = {this.BillingState ?? "null"}");
toStringOutput.Add($"BillingZip = {this.BillingZip ?? "null"}");
toStringOutput.Add($"BillingCountry = {this.BillingCountry ?? "null"}");
+ toStringOutput.Add($"FullNumber = {(this.FullNumber == null ? "null" : this.FullNumber.ToString())}");
+ toStringOutput.Add($"ExpirationMonth = {(this.ExpirationMonth == null ? "null" : this.ExpirationMonth.ToString())}");
+ toStringOutput.Add($"ExpirationYear = {(this.ExpirationYear == null ? "null" : this.ExpirationYear.ToString())}");
toStringOutput.Add($"LastFour = {this.LastFour ?? "null"}");
toStringOutput.Add($"CardType = {(this.CardType == null ? "null" : this.CardType.ToString())}");
toStringOutput.Add($"CustomerVaultToken = {this.CustomerVaultToken ?? "null"}");
diff --git a/AdvancedBilling.Standard/Models/UpdateSubscription.cs b/AdvancedBilling.Standard/Models/UpdateSubscription.cs
index d9285c05..ae27fc09 100644
--- a/AdvancedBilling.Standard/Models/UpdateSubscription.cs
+++ b/AdvancedBilling.Standard/Models/UpdateSubscription.cs
@@ -45,7 +45,10 @@ public UpdateSubscription()
/// next_product_id.
/// next_product_price_point_id.
/// snap_day.
+ /// initial_billing_at.
+ /// defer_signup.
/// next_billing_at.
+ /// expires_at.
/// payment_collection_method.
/// receives_invoice_emails.
/// net_terms.
@@ -65,7 +68,10 @@ public UpdateSubscription(
string nextProductId = null,
string nextProductPricePointId = null,
UpdateSubscriptionSnapDay snapDay = null,
+ DateTimeOffset? initialBillingAt = null,
+ bool? deferSignup = false,
DateTimeOffset? nextBillingAt = null,
+ DateTimeOffset? expiresAt = null,
string paymentCollectionMethod = null,
bool? receivesInvoiceEmails = null,
UpdateSubscriptionNetTerms netTerms = null,
@@ -85,7 +91,10 @@ public UpdateSubscription(
this.NextProductId = nextProductId;
this.NextProductPricePointId = nextProductPricePointId;
this.SnapDay = snapDay;
+ this.InitialBillingAt = initialBillingAt;
+ this.DeferSignup = deferSignup;
this.NextBillingAt = nextBillingAt;
+ this.ExpiresAt = expiresAt;
this.PaymentCollectionMethod = paymentCollectionMethod;
this.ReceivesInvoiceEmails = receivesInvoiceEmails;
this.NetTerms = netTerms;
@@ -145,6 +154,19 @@ public UpdateSubscription(
[JsonProperty("snap_day", NullValueHandling = NullValueHandling.Ignore)]
public UpdateSubscriptionSnapDay SnapDay { get; set; }
+ ///
+ /// (Optional) Set this attribute to a future date/time to update a subscription in the Awaiting Signup Date state, to Awaiting Signup. In the Awaiting Signup state, a subscription behaves like any other. It can be canceled, allocated to, or have its billing date changed. etc. When the `initial_billing_at` date hits, the subscription will transition to the expected state. If the product has a trial, the subscription will enter a trial, otherwise it will go active. Setup fees will be respected either before or after the trial, as configured on the price point. If the payment is due at the initial_billing_at and it fails the subscription will be immediately canceled. You can omit the initial_billing_at date to activate the subscription immediately. See the [subscription import](https://maxio.zendesk.com/hc/en-us/articles/24251489107213-Advanced-Billing-Subscription-Imports#date-format) documentation for more information about Date/Time formats.
+ ///
+ [JsonConverter(typeof(IsoDateTimeConverter))]
+ [JsonProperty("initial_billing_at", NullValueHandling = NullValueHandling.Ignore)]
+ public DateTimeOffset? InitialBillingAt { get; set; }
+
+ ///
+ /// (Optional) Set this attribute to true to move the subscription from Awaiting Signup, to Awaiting Signup Date. Use this when you want to update a subscription that has an unknown initial billing date. When the first billing date is known, update a subscription to set the `initial_billing_at` date. The subscription moves to the awaiting signup with a scheduled initial billing date. You can omit the initial_billing_at date to activate the subscription immediately. See [Subscription States](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404222005773-Subscription-States) for more information.
+ ///
+ [JsonProperty("defer_signup", NullValueHandling = NullValueHandling.Ignore)]
+ public bool? DeferSignup { get; set; }
+
///
/// Gets or sets NextBillingAt.
///
@@ -152,6 +174,13 @@ public UpdateSubscription(
[JsonProperty("next_billing_at", NullValueHandling = NullValueHandling.Ignore)]
public DateTimeOffset? NextBillingAt { get; set; }
+ ///
+ /// Timestamp giving the expiration date of this subscription (if any). You may manually change the expiration date at any point during a subscription period.
+ ///
+ [JsonConverter(typeof(IsoDateTimeConverter))]
+ [JsonProperty("expires_at", NullValueHandling = NullValueHandling.Ignore)]
+ public DateTimeOffset? ExpiresAt { get; set; }
+
///
/// Gets or sets PaymentCollectionMethod.
///
@@ -276,8 +305,14 @@ public override bool Equals(object obj)
this.NextProductPricePointId?.Equals(other.NextProductPricePointId) == true) &&
(this.SnapDay == null && other.SnapDay == null ||
this.SnapDay?.Equals(other.SnapDay) == true) &&
+ (this.InitialBillingAt == null && other.InitialBillingAt == null ||
+ this.InitialBillingAt?.Equals(other.InitialBillingAt) == true) &&
+ (this.DeferSignup == null && other.DeferSignup == null ||
+ this.DeferSignup?.Equals(other.DeferSignup) == true) &&
(this.NextBillingAt == null && other.NextBillingAt == null ||
this.NextBillingAt?.Equals(other.NextBillingAt) == true) &&
+ (this.ExpiresAt == null && other.ExpiresAt == null ||
+ this.ExpiresAt?.Equals(other.ExpiresAt) == true) &&
(this.PaymentCollectionMethod == null && other.PaymentCollectionMethod == null ||
this.PaymentCollectionMethod?.Equals(other.PaymentCollectionMethod) == true) &&
(this.ReceivesInvoiceEmails == null && other.ReceivesInvoiceEmails == null ||
@@ -316,7 +351,10 @@ public override bool Equals(object obj)
toStringOutput.Add($"NextProductId = {this.NextProductId ?? "null"}");
toStringOutput.Add($"NextProductPricePointId = {this.NextProductPricePointId ?? "null"}");
toStringOutput.Add($"SnapDay = {(this.SnapDay == null ? "null" : this.SnapDay.ToString())}");
+ toStringOutput.Add($"InitialBillingAt = {(this.InitialBillingAt == null ? "null" : this.InitialBillingAt.ToString())}");
+ toStringOutput.Add($"DeferSignup = {(this.DeferSignup == null ? "null" : this.DeferSignup.ToString())}");
toStringOutput.Add($"NextBillingAt = {(this.NextBillingAt == null ? "null" : this.NextBillingAt.ToString())}");
+ toStringOutput.Add($"ExpiresAt = {(this.ExpiresAt == null ? "null" : this.ExpiresAt.ToString())}");
toStringOutput.Add($"PaymentCollectionMethod = {this.PaymentCollectionMethod ?? "null"}");
toStringOutput.Add($"ReceivesInvoiceEmails = {(this.ReceivesInvoiceEmails == null ? "null" : this.ReceivesInvoiceEmails.ToString())}");
toStringOutput.Add($"NetTerms = {(this.NetTerms == null ? "null" : this.NetTerms.ToString())}");
diff --git a/AdvancedBilling.sln b/AdvancedBilling.sln
index 8cb896c1..a7a9203e 100644
--- a/AdvancedBilling.sln
+++ b/AdvancedBilling.sln
@@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26430.14
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdvancedBilling.Standard", "AdvancedBilling.Standard/AdvancedBilling.Standard.csproj", "{04307185-e940-4d95-9252-a6f100a36f35}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdvancedBilling.Standard", "AdvancedBilling.Standard/AdvancedBilling.Standard.csproj", "{c28aaa19-4363-4290-a900-b4c10e9b5bf2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -10,10 +10,10 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {04307185-e940-4d95-9252-a6f100a36f35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {04307185-e940-4d95-9252-a6f100a36f35}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {04307185-e940-4d95-9252-a6f100a36f35}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {04307185-e940-4d95-9252-a6f100a36f35}.Release|Any CPU.Build.0 = Release|Any CPU
+ {c28aaa19-4363-4290-a900-b4c10e9b5bf2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {c28aaa19-4363-4290-a900-b4c10e9b5bf2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {c28aaa19-4363-4290-a900-b4c10e9b5bf2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {c28aaa19-4363-4290-a900-b4c10e9b5bf2}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/README.md b/README.md
index 0910e9b8..03e64fb4 100644
--- a/README.md
+++ b/README.md
@@ -4,22 +4,21 @@
## Introduction
Maxio Advanced Billing (formerly Chargify) provides an HTTP-based API that conforms to the principles of REST.
-One of the many reasons to use Advanced Billing is the immense feature set and surrounding community [client libraries](page:development-tools/client-libraries).
-The Maxio API returns JSON responses as the primary and recommended format, but XML is also provided as a backwards compatible option for Merchants who require it.
+One of the many reasons to use Advanced Billing is the immense feature set and [client libraries](page:development-tools/client-libraries).
+The Maxio API returns JSON responses as the primary and recommended format, but XML is also provided as a backwards compatible option for merchants who require it.
### Steps to make your first Maxio Advanced Billing API call
1. [Sign-up](https://app.chargify.com/signup/maxio-billing-sandbox) or [log-in](https://app.chargify.com/login.html) to your [test site](https://maxio.zendesk.com/hc/en-us/articles/24250712113165-Testing-Overview) account.
-2. [Setup and configure authentication](https://maxio.zendesk.com/hc/en-us/articles/24294819360525-API-Keys) credentials.
-3. Submit your API request and try it out.
-4. Verify results through response.
-5. Test our integrations.
+2. [Setup authentication](https://maxio.zendesk.com/hc/en-us/articles/24294819360525-API-Keys) credentials.
+3. [Submit an API request and verify the response](page:development-tools/client-libraries#make-your-first-maxio-advanced-billing-api-request).
+4. Test the Advanced Billing [integrations](https://www.maxio.com/integrations).
-We strongly suggest exploring the developer portal, our [integrations](https://www.maxio.com/integrations) and the API guide, as well as the entire set of application-based documentation to aid in your discovery of the product.
+Next, you can explore [authentication methods](page:introduction/authentication), [basic concepts](page:introduction/basic-concepts/connected-sites) for interacting with Advanced Billing via the API, and the entire set of [application-based documentation](https://docs.maxio.com/hc/en-us) to aid in your discovery of the product.
-#### Example
+#### Request Example
-The following example uses the curl command-line tool to execute API requests.
+The following example uses the curl command-line tool to make an API request.
**Request**
@@ -30,28 +29,32 @@ curl -u :x -H Accept:application/json -H Content-Type:application/json
If you are building with .NET CLI tools then you can also use the following command:
```bash
-dotnet add package Maxio.AdvancedBillingSdk --version 6.1.0
+dotnet add package Maxio.AdvancedBillingSdk --version 7.0.0
```
You can also view the package at:
-https://www.nuget.org/packages/Maxio.AdvancedBillingSdk/6.1.0
+https://www.nuget.org/packages/Maxio.AdvancedBillingSdk/7.0.0
## Initialize the API Client
-**_Note:_** Documentation for the client can be found [here.](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/client.md)
+**_Note:_** Documentation for the client can be found [here.](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.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` | The API environment.
**Default: `Environment.US`** |
-| `Timeout` | `TimeSpan` | Http client timeout.
*Default*: `TimeSpan.FromSeconds(120)` |
-| `BasicAuthCredentials` | [`BasicAuthCredentials`](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/auth/basic-authentication.md) | The Credentials Setter for Basic Authentication |
+| Site | `string` | The subdomain for your Advanced Billing site.
*Default*: `"subdomain"` |
+| Environment | `Environment` | The API environment.
**Default: `Environment.US`** |
+| Timeout | `TimeSpan` | Http client timeout.
*Default*: `TimeSpan.FromSeconds(120)` |
+| HttpClientConfiguration | [`Action`](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/http-client-configuration-builder.md) | Action delegate that configures the HTTP client by using the HttpClientConfiguration.Builder for customizing API call settings.
*Default*: `new HttpClient()` |
+| BasicAuthCredentials | [`BasicAuthCredentials`](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/auth/basic-authentication.md) | The Credentials Setter for Basic Authentication |
The API client can be initialized as follows:
```csharp
+using AdvancedBilling.Standard;
+using AdvancedBilling.Standard.Authentication;
+
AdvancedBillingClient client = new AdvancedBillingClient.Builder()
.BasicAuthCredentials(
new BasicAuthModel.Builder(
@@ -79,52 +82,63 @@ 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-dotnet-sdk/tree/6.1.0/doc/auth/basic-authentication.md)
+* [`BasicAuth (Basic Authentication)`](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/auth/basic-authentication.md)
## List of APIs
-* [API Exports](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/api-exports.md)
-* [Advance Invoice](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/advance-invoice.md)
-* [Billing Portal](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/billing-portal.md)
-* [Component Price Points](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/component-price-points.md)
-* [Custom Fields](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/custom-fields.md)
-* [Events-Based Billing Segments](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/events-based-billing-segments.md)
-* [Payment Profiles](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/payment-profiles.md)
-* [Product Families](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/product-families.md)
-* [Product Price Points](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/product-price-points.md)
-* [Proforma Invoices](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/proforma-invoices.md)
-* [Reason Codes](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/reason-codes.md)
-* [Referral Codes](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/referral-codes.md)
-* [Sales Commissions](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/sales-commissions.md)
-* [Subscription Components](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/subscription-components.md)
-* [Subscription Groups](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/subscription-groups.md)
-* [Subscription Group Invoice Account](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/subscription-group-invoice-account.md)
-* [Subscription Group Status](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/subscription-group-status.md)
-* [Subscription Invoice Account](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/subscription-invoice-account.md)
-* [Subscription Notes](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/subscription-notes.md)
-* [Subscription Products](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/subscription-products.md)
-* [Subscription Status](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/subscription-status.md)
-* [Coupons](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/coupons.md)
-* [Components](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/components.md)
-* [Customers](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/customers.md)
-* [Events](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/events.md)
-* [Insights](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/insights.md)
-* [Invoices](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/invoices.md)
-* [Offers](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/offers.md)
-* [Products](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/products.md)
-* [Sites](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/sites.md)
-* [Subscriptions](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/subscriptions.md)
-* [Webhooks](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/controllers/webhooks.md)
-
-## Classes Documentation
-
-* [Utility Classes](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/utility-classes.md)
-* [HttpRequest](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/http-request.md)
-* [HttpResponse](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/http-response.md)
-* [HttpStringResponse](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/http-string-response.md)
-* [HttpContext](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/http-context.md)
-* [HttpClientConfiguration](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/http-client-configuration.md)
-* [HttpClientConfiguration Builder](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/http-client-configuration-builder.md)
-* [IAuthManager](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/i-auth-manager.md)
-* [ApiException](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/6.1.0/doc/api-exception.md)
+* [API Exports](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/api-exports.md)
+* [Advance Invoice](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/advance-invoice.md)
+* [Billing Portal](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/billing-portal.md)
+* [Component Price Points](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/component-price-points.md)
+* [Custom Fields](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/custom-fields.md)
+* [Events-Based Billing Segments](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/events-based-billing-segments.md)
+* [Payment Profiles](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/payment-profiles.md)
+* [Product Families](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/product-families.md)
+* [Product Price Points](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/product-price-points.md)
+* [Proforma Invoices](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/proforma-invoices.md)
+* [Reason Codes](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/reason-codes.md)
+* [Referral Codes](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/referral-codes.md)
+* [Sales Commissions](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/sales-commissions.md)
+* [Subscription Components](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/subscription-components.md)
+* [Subscription Groups](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/subscription-groups.md)
+* [Subscription Group Invoice Account](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/subscription-group-invoice-account.md)
+* [Subscription Group Status](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/subscription-group-status.md)
+* [Subscription Invoice Account](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/subscription-invoice-account.md)
+* [Subscription Notes](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/subscription-notes.md)
+* [Subscription Products](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/subscription-products.md)
+* [Subscription Status](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/subscription-status.md)
+* [Coupons](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/coupons.md)
+* [Components](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/components.md)
+* [Customers](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/customers.md)
+* [Events](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/events.md)
+* [Insights](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/insights.md)
+* [Invoices](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/invoices.md)
+* [Offers](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/offers.md)
+* [Products](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/products.md)
+* [Sites](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/sites.md)
+* [Subscriptions](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/subscriptions.md)
+* [Webhooks](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/controllers/webhooks.md)
+
+## SDK Infrastructure
+
+### Configuration
+
+* [HttpClientConfiguration](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/http-client-configuration.md)
+* [HttpClientConfigurationBuilder](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/http-client-configuration-builder.md)
+* [ProxyConfigurationBuilder](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/proxy-configuration-builder.md)
+
+### HTTP
+
+* [HttpCallback](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/http-callback.md)
+* [HttpContext](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/http-context.md)
+* [HttpRequest](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/http-request.md)
+* [HttpResponse](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/http-response.md)
+* [HttpStringResponse](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/http-string-response.md)
+
+### Utilities
+
+* [ApiException](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/api-exception.md)
+* [ApiHelper](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/api-helper.md)
+* [CustomDateTimeConverter](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/custom-date-time-converter.md)
+* [UnixDateTimeConverter](https://www.github.com/maxio-com/ab-dotnet-sdk/tree/7.0.0/doc/unix-date-time-converter.md)
diff --git a/doc/api-exception.md b/doc/api-exception.md
index 94fd3567..ad4ab1c7 100644
--- a/doc/api-exception.md
+++ b/doc/api-exception.md
@@ -1,18 +1,18 @@
-# ApiException Class
+# ApiException
-This is the base class for all exceptions that represent an error response from the server.
+This is the base class for all exceptions that represent an error response from the server. It inherits from [`System.Exception`](https://learn.microsoft.com/en-us/dotnet/api/system.exception).
## Properties
| Name | Description | Type |
| --- | --- | --- |
-| ResponseCode | Gets the HTTP response code from the API request. | `int` |
-| HttpContext | Gets or sets the HttpContext for the request and response. | [`HttpContext`](http-context.md) |
+| ResponseCode | Gets the HTTP response code from the API request. | `int` |
+| HttpContext | Gets or sets the HttpContext for the request and response. | [`HttpContext`](../doc/http-context.md) |
-## Constructors
+## Methods
-| Name | Description |
-| --- | --- |
-| ApiException`(string reason,` [`HttpContext`](http-context.md) `context = null)` | Initializes a new instance of the class. |
+| Name | Description | Return Type |
+| --- | --- | --- |
+| `ToString()` | Returns a human-readable string representation of the `ApiException`, including the error message and status code. | `string` |
diff --git a/doc/api-helper.md b/doc/api-helper.md
new file mode 100644
index 00000000..a6a3dbbf
--- /dev/null
+++ b/doc/api-helper.md
@@ -0,0 +1,13 @@
+
+# ApiHelper
+
+ApiHelper provides necessary methods to process requests and responses.
+
+## Methods
+
+| Name | Description | Return Type |
+| --- | --- | --- |
+| `DeepCloneObject(T obj)` | Creates a deep clone of an object by serializing it into a json string and then deserializing back into an object. | `T` |
+| `JsonSerialize(object obj, JsonConverter converter = null)` | JSON Serialization of a given object. | `string` |
+| `JsonDeserialize(string json, JsonConverter converter = null)` | JSON Deserialization of the given json string. | `T` |
+
diff --git a/doc/auth/basic-authentication.md b/doc/auth/basic-authentication.md
index 82621915..1c255458 100644
--- a/doc/auth/basic-authentication.md
+++ b/doc/auth/basic-authentication.md
@@ -23,6 +23,9 @@ Documentation for accessing and setting credentials for BasicAuth.
You must provide credentials in the client as shown in the following code snippet.
```csharp
+using AdvancedBilling.Standard;
+using AdvancedBilling.Standard.Authentication;
+
AdvancedBillingClient client = new AdvancedBillingClient.Builder()
.BasicAuthCredentials(
new BasicAuthModel.Builder(
diff --git a/doc/client.md b/doc/client.md
index c94e56b7..5691bf14 100644
--- a/doc/client.md
+++ b/doc/client.md
@@ -5,14 +5,18 @@ 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` | The API environment.
**Default: `Environment.US`** |
-| `Timeout` | `TimeSpan` | Http client timeout.
*Default*: `TimeSpan.FromSeconds(120)` |
-| `BasicAuthCredentials` | [`BasicAuthCredentials`](auth/basic-authentication.md) | The Credentials Setter for Basic Authentication |
+| Site | `string` | The subdomain for your Advanced Billing site.
*Default*: `"subdomain"` |
+| Environment | `Environment` | The API environment.
**Default: `Environment.US`** |
+| Timeout | `TimeSpan` | Http client timeout.
*Default*: `TimeSpan.FromSeconds(120)` |
+| HttpClientConfiguration | [`Action`](../doc/http-client-configuration-builder.md) | Action delegate that configures the HTTP client by using the HttpClientConfiguration.Builder for customizing API call settings.
*Default*: `new HttpClient()` |
+| BasicAuthCredentials | [`BasicAuthCredentials`](auth/basic-authentication.md) | The Credentials Setter for Basic Authentication |
The API client can be initialized as follows:
```csharp
+using AdvancedBilling.Standard;
+using AdvancedBilling.Standard.Authentication;
+
AdvancedBillingClient client = new AdvancedBillingClient.Builder()
.BasicAuthCredentials(
new BasicAuthModel.Builder(
@@ -70,7 +74,7 @@ The gateway for the SDK. This class acts as a factory for the Controllers and al
| Name | Description | Type |
| --- | --- | --- |
-| HttpClientConfiguration | Gets the configuration of the Http Client associated with this client. | [`IHttpClientConfiguration`](http-client-configuration.md) |
+| HttpClientConfiguration | Gets the configuration of the Http Client associated with this client. | [`IHttpClientConfiguration`](../doc/http-client-configuration.md) |
| Timeout | Http client timeout. | `TimeSpan` |
| Environment | Current API environment. | `Environment` |
| Site | The subdomain for your Advanced Billing site. | `string` |
@@ -91,7 +95,7 @@ Class to build instances of Maxio Advanced BillingClient.
| Name | Description | Return Type |
| --- | --- | --- |
-| `HttpClientConfiguration(Action<`[`HttpClientConfiguration.Builder`](http-client-configuration-builder.md)`> action)` | Gets the configuration of the Http Client associated with this client. | `Builder` |
+| `HttpClientConfiguration(Action<`[`HttpClientConfiguration.Builder`](../doc/http-client-configuration-builder.md)`> action)` | Gets the configuration of the Http Client associated with this client. | `Builder` |
| `Timeout(TimeSpan timeout)` | Http client timeout. | `Builder` |
| `Environment(Environment environment)` | Current API environment. | `Builder` |
| `Site(string site)` | The subdomain for your Advanced Billing site. | `Builder` |
diff --git a/doc/controllers/api-exports.md b/doc/controllers/api-exports.md
index bc6c0c2e..1e5c33a5 100644
--- a/doc/controllers/api-exports.md
+++ b/doc/controllers/api-exports.md
@@ -37,8 +37,8 @@ ListExportedProformaInvoicesAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `batchId` | `string` | Template, Required | Id of a Batch Job. |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request.
Default value is 100.
The maximum allowed values is 10000; any per_page value over 10000 will be changed to 10000.
**Default**: `100`
**Constraints**: `>= 1`, `<= 10000` |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request.
Default value is 100.
The maximum allowed values is 10000; any per_page value over 10000 will be changed to 10000.
**Default**: `100`
**Constraints**: `>= 1`, `<= 10000` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
## Response Type
@@ -88,8 +88,8 @@ ListExportedInvoicesAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `batchId` | `string` | Template, Required | Id of a Batch Job. |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request.
Default value is 100.
The maximum allowed values is 10000; any per_page value over 10000 will be changed to 10000.
**Default**: `100`
**Constraints**: `>= 1`, `<= 10000` |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request.
Default value is 100.
The maximum allowed values is 10000; any per_page value over 10000 will be changed to 10000.
**Default**: `100`
**Constraints**: `>= 1`, `<= 10000` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
## Response Type
@@ -139,8 +139,8 @@ ListExportedSubscriptionsAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `batchId` | `string` | Template, Required | Id of a Batch Job. |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request.
Default value is 100.
The maximum allowed values is 10000; any per_page value over 10000 will be changed to 10000.
**Default**: `100`
**Constraints**: `>= 1`, `<= 10000` |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request.
Default value is 100.
The maximum allowed values is 10000; any per_page value over 10000 will be changed to 10000.
**Default**: `100`
**Constraints**: `>= 1`, `<= 10000` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
## Response Type
diff --git a/doc/controllers/component-price-points.md b/doc/controllers/component-price-points.md
index 3ca73b7c..962ed48e 100644
--- a/doc/controllers/component-price-points.md
+++ b/doc/controllers/component-price-points.md
@@ -195,8 +195,8 @@ ListComponentPricePointsAsync(
| --- | --- | --- | --- |
| `componentId` | `int` | Template, Required | The Advanced Billing id of the component |
| `currencyPrices` | `bool?` | Query, Optional | Include an array of currency price data |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `filterType` | [`List`](../../doc/models/price-point-type.md) | Query, Optional | Use in query: `filter[type]=catalog,default`. |
## Response Type
@@ -894,8 +894,8 @@ ListAllComponentPricePointsAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `include` | [`ListComponentsPricePointsInclude?`](../../doc/models/list-components-price-points-include.md) | Query, Optional | Allows including additional data in the response. Use in query: `include=currency_prices`. |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `direction` | [`SortingDirection?`](../../doc/models/sorting-direction.md) | Query, Optional | Controls the order in which results are returned.
Use in query `direction=asc`. |
| `filter` | [`ListPricePointsFilter`](../../doc/models/list-price-points-filter.md) | Query, Optional | Filter to use for List PricePoints operations |
diff --git a/doc/controllers/components.md b/doc/controllers/components.md
index f7200cf7..6abb006e 100644
--- a/doc/controllers/components.md
+++ b/doc/controllers/components.md
@@ -723,7 +723,7 @@ ReadComponentAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `productFamilyId` | `int` | Template, Required | The Advanced Billing id of the product family to which the component belongs |
-| `componentId` | `string` | Template, Required | Either the Advanced Billing id of the component or the handle for the component prefixed with `handle:`
**Constraints**: *Pattern*: `/\A(?:\d+\|handle:(?:uuid:\|[a-z])(?:\w\|-)+)\z/` |
+| `componentId` | `string` | Template, Required | Either the Advanced Billing id of the component or the handle for the component prefixed with `handle:`
**Constraints**: *Pattern*: `/\A(?:\d+\|handle:(?:uuid:\|[a-z])(?:\w\|-)+)\z/` |
## Response Type
@@ -773,7 +773,8 @@ catch (ApiException e)
"downgrade_credit": null,
"created_at": "2019-08-02T05:54:53-04:00",
"default_price_point_name": "Original",
- "product_family_name": "Chargify"
+ "product_family_name": "Chargify",
+ "product_family_handle": "chargify"
}
}
```
@@ -797,7 +798,7 @@ UpdateProductFamilyComponentAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `productFamilyId` | `int` | Template, Required | The Advanced Billing id of the product family to which the component belongs |
-| `componentId` | `string` | Template, Required | Either the Advanced Billing id of the component or the handle for the component prefixed with `handle:`
**Constraints**: *Pattern*: `/\A(?:\d+\|handle:(?:uuid:\|[a-z])(?:\w\|-)+)\z/` |
+| `componentId` | `string` | Template, Required | Either the Advanced Billing id of the component or the handle for the component prefixed with `handle:`
**Constraints**: *Pattern*: `/\A(?:\d+\|handle:(?:uuid:\|[a-z])(?:\w\|-)+)\z/` |
| `body` | [`UpdateComponentRequest`](../../doc/models/update-component-request.md) | Body, Optional | - |
## Response Type
@@ -884,7 +885,7 @@ ArchiveComponentAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `productFamilyId` | `int` | Template, Required | The Advanced Billing id of the product family to which the component belongs |
-| `componentId` | `string` | Template, Required | Either the Advanced Billing id of the component or the handle for the component prefixed with `handle:`
**Constraints**: *Pattern*: `/\A(?:\d+\|handle:(?:uuid:\|[a-z])(?:\w\|-)+)\z/` |
+| `componentId` | `string` | Template, Required | Either the Advanced Billing id of the component or the handle for the component prefixed with `handle:`
**Constraints**: *Pattern*: `/\A(?:\d+\|handle:(?:uuid:\|[a-z])(?:\w\|-)+)\z/` |
## Response Type
@@ -961,8 +962,8 @@ ListComponentsAsync(
| `startDatetime` | `string` | Query, Optional | The start date and time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns components with a timestamp at or after exact time provided in query. You can specify timezone in query - otherwise your site's time zone will be used. If provided, this parameter will be used instead of start_date. |
| `endDatetime` | `string` | Query, Optional | The end date and time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns components with a timestamp at or before exact time provided in query. You can specify timezone in query - otherwise your site's time zone will be used. If provided, this parameter will be used instead of end_date. optional |
| `includeArchived` | `bool?` | Query, Optional | Include archived items |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `filter` | [`ListComponentsFilter`](../../doc/models/list-components-filter.md) | Query, Optional | Filter to use for List Components operations |
## Response Type
@@ -1037,6 +1038,7 @@ catch (ApiException e)
"created_at": "2019-08-01T09:35:38-04:00",
"default_price_point_name": "Original",
"product_family_name": "Chargify",
+ "product_family_handle": "chargify",
"use_site_exchange_rate": true
}
},
@@ -1063,6 +1065,7 @@ catch (ApiException e)
"created_at": "2019-08-01T09:35:37-04:00",
"default_price_point_name": "Original",
"product_family_name": "Chargify",
+ "product_family_handle": "chargify",
"use_site_exchange_rate": true
}
},
@@ -1089,6 +1092,7 @@ catch (ApiException e)
"created_at": "2019-08-01T09:35:38-04:00",
"default_price_point_name": "Original",
"product_family_name": "Chargify",
+ "product_family_handle": "chargify",
"use_site_exchange_rate": true
}
}
@@ -1197,8 +1201,8 @@ ListComponentsForProductFamilyAsync(
| --- | --- | --- | --- |
| `productFamilyId` | `int` | Template, Required | The Advanced Billing id of the product family |
| `includeArchived` | `bool?` | Query, Optional | Include archived items. |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `filter` | [`ListComponentsFilter`](../../doc/models/list-components-filter.md) | Query, Optional | Filter to use for List Components operations |
| `dateField` | [`BasicDateField?`](../../doc/models/basic-date-field.md) | Query, Optional | The type of filter you would like to apply to your search. Use in query `date_field=created_at`. |
| `endDate` | `string` | Query, Optional | The end date (format YYYY-MM-DD) with which to filter the date_field. Returns components with a timestamp up to and including 11:59:59PM in your site’s time zone on the date specified. |
diff --git a/doc/controllers/coupons.md b/doc/controllers/coupons.md
index 68cbb1f0..27c0c875 100644
--- a/doc/controllers/coupons.md
+++ b/doc/controllers/coupons.md
@@ -129,8 +129,8 @@ ListCouponsForProductFamilyAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `productFamilyId` | `int` | Template, Required | The Advanced Billing id of the product family to which the coupon belongs |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 30. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `30`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 30. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `30`
**Constraints**: `<= 200` |
| `filter` | [`ListCouponsFilter`](../../doc/models/list-coupons-filter.md) | Query, Optional | Filter to use for List Coupons operations |
| `currencyPrices` | `bool?` | 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. Use in query `currency_prices=true`. |
@@ -595,8 +595,8 @@ ListCouponsAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 30. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `30`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 30. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `30`
**Constraints**: `<= 200` |
| `filter` | [`ListCouponsFilter`](../../doc/models/list-coupons-filter.md) | Query, Optional | Filter to use for List Coupons operations |
| `currencyPrices` | `bool?` | 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. Use in query `currency_prices=true`. |
@@ -1043,8 +1043,8 @@ ListCouponSubcodesAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `couponId` | `int` | Template, Required | The Advanced Billing id of the coupon |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
## Response Type
diff --git a/doc/controllers/custom-fields.md b/doc/controllers/custom-fields.md
index 099b26ae..3fd4f9b2 100644
--- a/doc/controllers/custom-fields.md
+++ b/doc/controllers/custom-fields.md
@@ -42,7 +42,7 @@ Each site is limited to 100 unique Metafields (i.e. keys, or names) per resource
### Metafields "On-the-Fly"
-It is possible to create Metafields “on the fly” when you create your Metadata – if a non-existant name is passed when creating Metadata, a Metafield for that key will be automatically created. The Metafield API, however, gives you more control over your “keys”.
+It is possible to create Metafields “on the fly” when you create your Metadata – if a non-existent name is passed when creating Metadata, a Metafield for that key will be automatically created. The Metafield API, however, gives you more control over your “keys”.
### Metafield Scope Warning
@@ -157,8 +157,8 @@ ListMetafieldsAsync(
| --- | --- | --- | --- |
| `resourceType` | [`ResourceType`](../../doc/models/resource-type.md) | Template, Required | the resource type to which the metafields belong |
| `name` | `string` | Query, Optional | filter by the name of the metafield |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `direction` | [`SortingDirection?`](../../doc/models/sorting-direction.md) | Query, Optional | Controls the order in which results are returned.
Use in query `direction=asc`. |
## Response Type
@@ -410,8 +410,8 @@ ListMetadataAsync(
| --- | --- | --- | --- |
| `resourceType` | [`ResourceType`](../../doc/models/resource-type.md) | Template, Required | the resource type to which the metafields belong |
| `resourceId` | `int` | Template, Required | The Advanced Billing id of the customer or the subscription for which the metadata applies |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
## Response Type
@@ -588,15 +588,15 @@ ListMetadataForResourceTypeAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `resourceType` | [`ResourceType`](../../doc/models/resource-type.md) | Template, Required | the resource type to which the metafields belong |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `dateField` | [`BasicDateField?`](../../doc/models/basic-date-field.md) | Query, Optional | The type of filter you would like to apply to your search. |
| `startDate` | `DateTime?` | Query, Optional | The start date (format YYYY-MM-DD) with which to filter the date_field. Returns metadata with a timestamp at or after midnight (12:00:00 AM) in your site’s time zone on the date specified. |
| `endDate` | `DateTime?` | Query, Optional | The end date (format YYYY-MM-DD) with which to filter the date_field. Returns metadata with a timestamp up to and including 11:59:59PM in your site’s time zone on the date specified. |
| `startDatetime` | `DateTimeOffset?` | Query, Optional | The start date and time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns metadata with a timestamp at or after exact time provided in query. You can specify timezone in query - otherwise your site's time zone will be used. If provided, this parameter will be used instead of start_date. |
| `endDatetime` | `DateTimeOffset?` | Query, Optional | The end date and time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns metadata with a timestamp at or before exact time provided in query. You can specify timezone in query - otherwise your site's time zone will be used. If provided, this parameter will be used instead of end_date. |
| `withDeleted` | `bool?` | Query, Optional | Allow to fetch deleted metadata. |
-| `resourceIds` | `List` | Query, Optional | Allow to fetch metadata for multiple records based on provided ids. Use in query: `resource_ids[]=122&resource_ids[]=123&resource_ids[]=124`.
**Constraints**: *Maximum Items*: `50` |
+| `resourceIds` | `List` | Query, Optional | Allow to fetch metadata for multiple records based on provided ids. Use in query: `resource_ids[]=122&resource_ids[]=123&resource_ids[]=124`.
**Constraints**: *Maximum Items*: `50` |
| `direction` | [`SortingDirection?`](../../doc/models/sorting-direction.md) | Query, Optional | Controls the order in which results are returned.
Use in query `direction=asc`. |
## Response Type
diff --git a/doc/controllers/customers.md b/doc/controllers/customers.md
index 5e363e3f..801cccaa 100644
--- a/doc/controllers/customers.md
+++ b/doc/controllers/customers.md
@@ -166,8 +166,8 @@ ListCustomersAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `direction` | [`SortingDirection?`](../../doc/models/sorting-direction.md) | Query, Optional | Direction to sort customers by time of creation |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 50. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `50`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 50. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `50`
**Constraints**: `<= 200` |
| `dateField` | [`BasicDateField?`](../../doc/models/basic-date-field.md) | Query, Optional | The type of filter you would like to apply to your search.
Use in query: `date_field=created_at`. |
| `startDate` | `string` | Query, Optional | The start date (format YYYY-MM-DD) with which to filter the date_field. Returns subscriptions with a timestamp at or after midnight (12:00:00 AM) in your site’s time zone on the date specified. |
| `endDate` | `string` | Query, Optional | The end date (format YYYY-MM-DD) with which to filter the date_field. Returns subscriptions with a timestamp up to and including 11:59:59PM in your site’s time zone on the date specified. |
diff --git a/doc/controllers/events-based-billing-segments.md b/doc/controllers/events-based-billing-segments.md
index 12bb7b3e..d9090088 100644
--- a/doc/controllers/events-based-billing-segments.md
+++ b/doc/controllers/events-based-billing-segments.md
@@ -114,8 +114,8 @@ ListSegmentsForPricePointAsync(
| --- | --- | --- | --- |
| `componentId` | `string` | Template, Required | ID or Handle for the Component |
| `pricePointId` | `string` | Template, Required | ID or Handle for the Price Point belonging to the Component |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 30. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `30`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 30. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `30`
**Constraints**: `<= 200` |
| `filter` | [`ListSegmentsFilter`](../../doc/models/list-segments-filter.md) | Query, Optional | Filter to use for List Segments for a Price Point operation |
## Response Type
diff --git a/doc/controllers/events.md b/doc/controllers/events.md
index 970b1978..8bb4d6eb 100644
--- a/doc/controllers/events.md
+++ b/doc/controllers/events.md
@@ -95,11 +95,11 @@ ListEventsAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `sinceId` | `long?` | Query, Optional | Returns events with an id greater than or equal to the one specified |
| `maxId` | `long?` | Query, Optional | Returns events with an id less than or equal to the one specified |
-| `direction` | [`Direction?`](../../doc/models/direction.md) | Query, Optional | The sort direction of the returned events.
**Default**: `Direction.desc` |
+| `direction` | [`Direction?`](../../doc/models/direction.md) | Query, Optional | The sort direction of the returned events.
**Default**: `Direction.desc` |
| `filter` | [`List`](../../doc/models/event-key.md) | Query, Optional | You can pass multiple event keys after comma.
Use in query `filter=signup_success,payment_success`. |
| `dateField` | [`ListEventsDateField?`](../../doc/models/list-events-date-field.md) | Query, Optional | The type of filter you would like to apply to your search. |
| `startDate` | `string` | Query, Optional | The start date (format YYYY-MM-DD) with which to filter the date_field. Returns components with a timestamp at or after midnight (12:00:00 AM) in your site’s time zone on the date specified. |
@@ -225,11 +225,11 @@ ListSubscriptionEventsAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `subscriptionId` | `int` | Template, Required | The Chargify id of the subscription |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `sinceId` | `long?` | Query, Optional | Returns events with an id greater than or equal to the one specified |
| `maxId` | `long?` | Query, Optional | Returns events with an id less than or equal to the one specified |
-| `direction` | [`Direction?`](../../doc/models/direction.md) | Query, Optional | The sort direction of the returned events.
**Default**: `Direction.desc` |
+| `direction` | [`Direction?`](../../doc/models/direction.md) | Query, Optional | The sort direction of the returned events.
**Default**: `Direction.desc` |
| `filter` | [`List`](../../doc/models/event-key.md) | Query, Optional | You can pass multiple event keys after comma.
Use in query `filter=signup_success,payment_success`. |
## Response Type
@@ -320,11 +320,11 @@ ReadEventsCountAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `sinceId` | `long?` | Query, Optional | Returns events with an id greater than or equal to the one specified |
| `maxId` | `long?` | Query, Optional | Returns events with an id less than or equal to the one specified |
-| `direction` | [`Direction?`](../../doc/models/direction.md) | Query, Optional | The sort direction of the returned events.
**Default**: `Direction.desc` |
+| `direction` | [`Direction?`](../../doc/models/direction.md) | Query, Optional | The sort direction of the returned events.
**Default**: `Direction.desc` |
| `filter` | [`List`](../../doc/models/event-key.md) | Query, Optional | You can pass multiple event keys after comma.
Use in query `filter=signup_success,payment_success`. |
## Response Type
diff --git a/doc/controllers/insights.md b/doc/controllers/insights.md
index e1db9b77..cdd4c479 100644
--- a/doc/controllers/insights.md
+++ b/doc/controllers/insights.md
@@ -22,7 +22,7 @@ The Stats API is a very basic view of some Site-level stats. This API call only
## Stats Documentation
-There currently is not a complimentary matching set of documentation that compliments this endpoint. However, each Site's dashboard will reflect the summary of information provided in the Stats reposnse.
+There currently is not a complimentary matching set of documentation that compliments this endpoint. However, each Site's dashboard will reflect the summary of information provided in the Stats response.
```
https://subdomain.chargify.com/dashboard
@@ -167,8 +167,8 @@ ListMrrMovementsAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `subscriptionId` | `int?` | Query, Optional | optionally filter results by subscription |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 10. The maximum allowed values is 50; any per_page value over 50 will be changed to 50.
Use in query `per_page=20`.
**Default**: `10`
**Constraints**: `<= 50` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 10. The maximum allowed values is 50; any per_page value over 50 will be changed to 50.
Use in query `per_page=20`.
**Default**: `10`
**Constraints**: `<= 50` |
| `direction` | [`SortingDirection?`](../../doc/models/sorting-direction.md) | Query, Optional | Controls the order in which results are returned.
Use in query `direction=asc`. |
## Response Type
@@ -265,8 +265,8 @@ ListMrrPerSubscriptionAsync(
| --- | --- | --- | --- |
| `filter` | [`ListMrrFilter`](../../doc/models/list-mrr-filter.md) | Query, Optional | Filter to use for List MRR per subscription operation |
| `atTime` | `string` | Query, Optional | Submit a timestamp in ISO8601 format to request MRR for a historic time. Use in query: `at_time=2022-01-10T10:00:00-05:00`. |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `direction` | [`Direction?`](../../doc/models/direction.md) | Query, Optional | Controls the order in which results are returned. Records are ordered by subscription_id in ascending order by default. Use in query `direction=desc`. |
## Response Type
diff --git a/doc/controllers/invoices.md b/doc/controllers/invoices.md
index 52468de3..0e3d2f9f 100644
--- a/doc/controllers/invoices.md
+++ b/doc/controllers/invoices.md
@@ -114,23 +114,24 @@ ListInvoicesAsync(
| `status` | [`InvoiceStatus?`](../../doc/models/invoice-status.md) | Query, Optional | The current status of the invoice. Allowed Values: draft, open, paid, pending, voided |
| `subscriptionId` | `int?` | Query, Optional | The subscription's ID. |
| `subscriptionGroupUid` | `string` | Query, Optional | The UID of the subscription group you want to fetch consolidated invoices for. This will return a paginated list of consolidated invoices for the specified group. |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
-| `direction` | [`Direction?`](../../doc/models/direction.md) | Query, Optional | The sort direction of the returned invoices.
**Default**: `Direction.desc` |
-| `lineItems` | `bool?` | Query, Optional | Include line items data
**Default**: `false` |
-| `discounts` | `bool?` | Query, Optional | Include discounts data
**Default**: `false` |
-| `taxes` | `bool?` | Query, Optional | Include taxes data
**Default**: `false` |
-| `credits` | `bool?` | Query, Optional | Include credits data
**Default**: `false` |
-| `payments` | `bool?` | Query, Optional | Include payments data
**Default**: `false` |
-| `customFields` | `bool?` | Query, Optional | Include custom fields data
**Default**: `false` |
-| `refunds` | `bool?` | Query, Optional | Include refunds data
**Default**: `false` |
-| `dateField` | [`InvoiceDateField?`](../../doc/models/invoice-date-field.md) | Query, Optional | The type of filter you would like to apply to your search. Use in query `date_field=issue_date`.
**Default**: `InvoiceDateField.due_date` |
+| `consolidationLevel` | `string` | Query, Optional | The consolidation level of the invoice. Allowed Values: none, parent, child or comma-separated lists of thereof, e.g. none,parent. |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `direction` | [`Direction?`](../../doc/models/direction.md) | Query, Optional | The sort direction of the returned invoices.
**Default**: `Direction.desc` |
+| `lineItems` | `bool?` | Query, Optional | Include line items data
**Default**: `false` |
+| `discounts` | `bool?` | Query, Optional | Include discounts data
**Default**: `false` |
+| `taxes` | `bool?` | Query, Optional | Include taxes data
**Default**: `false` |
+| `credits` | `bool?` | Query, Optional | Include credits data
**Default**: `false` |
+| `payments` | `bool?` | Query, Optional | Include payments data
**Default**: `false` |
+| `customFields` | `bool?` | Query, Optional | Include custom fields data
**Default**: `false` |
+| `refunds` | `bool?` | Query, Optional | Include refunds data
**Default**: `false` |
+| `dateField` | [`InvoiceDateField?`](../../doc/models/invoice-date-field.md) | Query, Optional | The type of filter you would like to apply to your search. Use in query `date_field=issue_date`.
**Default**: `InvoiceDateField.due_date` |
| `startDatetime` | `string` | Query, Optional | The start date and time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns invoices with a timestamp at or after exact time provided in query. You can specify timezone in query - otherwise your site's time zone will be used. If provided, this parameter will be used instead of start_date. Allowed to be used only along with date_field set to created_at or updated_at. |
| `endDatetime` | `string` | Query, Optional | The end date and time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns invoices with a timestamp at or before exact time provided in query. You can specify timezone in query - otherwise your site's time zone will be used. If provided, this parameter will be used instead of end_date. Allowed to be used only along with date_field set to created_at or updated_at. |
| `customerIds` | `List` | Query, Optional | Allows fetching invoices with matching customer id based on provided values. Use in query `customer_ids=1,2,3`. |
| `number` | `List` | Query, Optional | Allows fetching invoices with matching invoice number based on provided values. Use in query `number=1234,1235`. |
| `productIds` | `List` | Query, Optional | Allows fetching invoices with matching line items product ids based on provided values. Use in query `product_ids=23,34`. |
-| `sort` | [`InvoiceSortField?`](../../doc/models/invoice-sort-field.md) | Query, Optional | Allows specification of the order of the returned list. Use in query `sort=total_amount`.
**Default**: `InvoiceSortField.number` |
+| `sort` | [`InvoiceSortField?`](../../doc/models/invoice-sort-field.md) | Query, Optional | Allows specification of the order of the returned list. Use in query `sort=total_amount`.
**Default**: `InvoiceSortField.number` |
## Response Type
@@ -604,7 +605,8 @@ catch (ApiException e)
"type": "credit_card"
},
"transaction_id": 253028955,
- "prepayment": false
+ "prepayment": false,
+ "received_on": "2018-07-26"
}
],
"public_url": "https://www.chargifypay.com/invoice/inv_8jzrw74xq8kxr?token=fb6kpjz5rcr2vttyjs4rcv6y"
@@ -650,8 +652,8 @@ ListInvoiceEventsAsync(
| --- | --- | --- | --- |
| `sinceDate` | `string` | Query, Optional | The timestamp in a format `YYYY-MM-DD T HH:MM:SS Z`, or `YYYY-MM-DD`(in this case, it returns data from the beginning of the day). of the event from which you want to start the search. All the events before the `since_date` timestamp are not returned in the response. |
| `sinceId` | `long?` | Query, Optional | The ID of the event from which you want to start the search(ID is not included. e.g. if ID is set to 2, then all events with ID 3 and more will be shown) This parameter is not used if since_date is defined. |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 100. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
**Default**: `100` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 100. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
**Default**: `100` |
| `invoiceUid` | `string` | Query, Optional | Providing an invoice_uid allows for scoping of the invoice events to a single invoice or credit note. |
| `withChangeInvoiceStatus` | `string` | Query, Optional | Use this parameter if you want to fetch also invoice events with change_invoice_status type. |
| `eventTypes` | [`List`](../../doc/models/invoice-event-type.md) | Query, Optional | Filter results by event_type. Supply a comma separated list of event types (listed above). Use in query: `event_types=void_invoice,void_remainder`. |
@@ -1066,51 +1068,7 @@ catch (ApiException e)
# Record Payment for Invoice
-This API call should be used when you want to record 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.
-
-## Create a Payment from the existing payment profile
-
-In order to apply a payment to an invoice using an existing payment profile, specify `type` as `payment`, the amount less than the invoice total, and the customer's `payment_profile_id`. The ID of a payment profile might be retrieved via the Payment Profiles API endpoint.
-
-```
-{
- "type": "payment",
- "payment": {
- "amount": 10.00,
- "payment_profile_id": 123
- }
-}
-```
-
-## Create a Payment from the Subscription's Prepayment Account
-
-In order apply a prepayment to an invoice, specify the `type` as `prepayment`, and also the `amount`.
-
-```
-{
- "type": "prepayment",
- "payment": {
- "amount": 10.00
- }
-}
-```
-
-Note that the `amount` must be less than or equal to the Subscription's Prepayment account balance.
-
-## Create a Payment from the Subscription's Service Credit Account
-
-In order to apply a service credit to an invoice, specify the `type` as `service_credit`, and also the `amount`:
-
-```
-{
- "type": "service_credit",
- "payment": {
- "amount": 10.00
- }
-}
-```
-
-Note that Advanced Billing will attempt to fully pay the invoice's `due_amount` from the Subscription's Service Credit account. At this time, partial payments from a Service Credit Account are only allowed for consolidated invoices (subscription groups). Therefore, for normal invoices the Service Credit account balance must be greater than or equal to the invoice's `due_amount`.
+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.
```csharp
RecordPaymentForInvoiceAsync(
@@ -1294,13 +1252,13 @@ ListCreditNotesAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `subscriptionId` | `int?` | Query, Optional | The subscription's Advanced Billing id |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
-| `lineItems` | `bool?` | Query, Optional | Include line items data
**Default**: `false` |
-| `discounts` | `bool?` | Query, Optional | Include discounts data
**Default**: `false` |
-| `taxes` | `bool?` | Query, Optional | Include taxes data
**Default**: `false` |
-| `refunds` | `bool?` | Query, Optional | Include refunds data
**Default**: `false` |
-| `applications` | `bool?` | Query, Optional | Include applications data
**Default**: `false` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `lineItems` | `bool?` | Query, Optional | Include line items data
**Default**: `false` |
+| `discounts` | `bool?` | Query, Optional | Include discounts data
**Default**: `false` |
+| `taxes` | `bool?` | Query, Optional | Include taxes data
**Default**: `false` |
+| `refunds` | `bool?` | Query, Optional | Include refunds data
**Default**: `false` |
+| `applications` | `bool?` | Query, Optional | Include applications data
**Default**: `false` |
## Response Type
@@ -2184,9 +2142,9 @@ ListConsolidatedInvoiceSegmentsAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `invoiceUid` | `string` | Template, Required | The unique identifier of the consolidated invoice |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
-| `direction` | [`Direction?`](../../doc/models/direction.md) | Query, Optional | Sort direction of the returned segments.
**Default**: `Direction.asc` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `direction` | [`Direction?`](../../doc/models/direction.md) | Query, Optional | Sort direction of the returned segments.
**Default**: `Direction.asc` |
## Response Type
diff --git a/doc/controllers/offers.md b/doc/controllers/offers.md
index 596ab165..9609e4bb 100644
--- a/doc/controllers/offers.md
+++ b/doc/controllers/offers.md
@@ -148,8 +148,8 @@ ListOffersAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `includeArchived` | `bool?` | Query, Optional | Include archived products. Use in query: `include_archived=true`. |
## Response Type
diff --git a/doc/controllers/payment-profiles.md b/doc/controllers/payment-profiles.md
index 6922547c..b9e19b3b 100644
--- a/doc/controllers/payment-profiles.md
+++ b/doc/controllers/payment-profiles.md
@@ -392,8 +392,8 @@ ListPaymentProfilesAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `customerId` | `int?` | Query, Optional | The ID of the customer for which you wish to list payment profiles |
## Response Type
@@ -429,6 +429,8 @@ catch (ApiException e)
"id": 10089892,
"first_name": "Chester",
"last_name": "Tester",
+ "created_at": "2025-01-01T00:00:00-05:00",
+ "updated_at": "2025-01-01T00:00:00-05:00",
"customer_id": 14543792,
"current_vault": "bogus",
"vault_token": "0011223344",
@@ -455,6 +457,8 @@ catch (ApiException e)
"id": 10188522,
"first_name": "Frankie",
"last_name": "Tester",
+ "created_at": "2025-01-01T00:00:00-05:00",
+ "updated_at": "2025-01-01T00:00:00-05:00",
"customer_id": 14543712,
"current_vault": "bogus",
"vault_token": "123456789",
@@ -496,6 +500,8 @@ Example response for Bank Account:
"id": 10089892,
"first_name": "Chester",
"last_name": "Tester",
+ "created_at": "2025-01-01T00:00:00-05:00",
+ "updated_at": "2025-01-01T00:00:00-05:00",
"customer_id": 14543792,
"current_vault": "bogus",
"vault_token": "0011223344",
@@ -560,6 +566,8 @@ catch (ApiException e)
"card_type": "bogus",
"expiration_month": 1,
"expiration_year": 2022,
+ "created_at": "2025-01-01T00:00:00-05:00",
+ "updated_at": "2025-01-01T00:00:00-05:00",
"customer_id": 14543792,
"current_vault": "bogus",
"vault_token": "1",
diff --git a/doc/controllers/product-families.md b/doc/controllers/product-families.md
index f9c2a125..b545d445 100644
--- a/doc/controllers/product-families.md
+++ b/doc/controllers/product-families.md
@@ -30,8 +30,8 @@ ListProductsForProductFamilyAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `productFamilyId` | `string` | Template, Required | Either the product family's id or its handle prefixed with `handle:` |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `dateField` | [`BasicDateField?`](../../doc/models/basic-date-field.md) | Query, Optional | The type of filter you would like to apply to your search.
Use in query: `date_field=created_at`. |
| `filter` | [`ListProductsFilter`](../../doc/models/list-products-filter.md) | Query, Optional | Filter to use for List Products operations |
| `startDate` | `DateTime?` | Query, Optional | The start date (format YYYY-MM-DD) with which to filter the date_field. Returns products with a timestamp at or after midnight (12:00:00 AM) in your site’s time zone on the date specified. |
diff --git a/doc/controllers/product-price-points.md b/doc/controllers/product-price-points.md
index 51d48361..d3a36533 100644
--- a/doc/controllers/product-price-points.md
+++ b/doc/controllers/product-price-points.md
@@ -131,8 +131,8 @@ ListProductPricePointsAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `productId` | [`ListProductPricePointsInputProductId`](../../doc/models/containers/list-product-price-points-input-product-id.md) | Template, Required | This is a container for one-of cases. |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 10. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
**Default**: `10`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 10. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
**Default**: `10`
**Constraints**: `<= 200` |
| `currencyPrices` | `bool?` | 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. |
| `filterType` | [`List`](../../doc/models/price-point-type.md) | Query, Optional | Use in query: `filter[type]=catalog,default`. |
| `archived` | `bool?` | Query, Optional | Set to include archived price points in the response. |
@@ -894,8 +894,8 @@ ListAllProductPricePointsAsync(
| `direction` | [`SortingDirection?`](../../doc/models/sorting-direction.md) | Query, Optional | Controls the order in which results are returned.
Use in query `direction=asc`. |
| `filter` | [`ListPricePointsFilter`](../../doc/models/list-price-points-filter.md) | Query, Optional | Filter to use for List PricePoints operations |
| `include` | [`ListProductsPricePointsInclude?`](../../doc/models/list-products-price-points-include.md) | Query, Optional | Allows including additional data in the response. Use in query: `include=currency_prices`. |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
## Response Type
diff --git a/doc/controllers/products.md b/doc/controllers/products.md
index e26402be..12c3eaad 100644
--- a/doc/controllers/products.md
+++ b/doc/controllers/products.md
@@ -518,8 +518,8 @@ ListProductsAsync(
| `endDatetime` | `DateTimeOffset?` | Query, Optional | The end date and time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns products with a timestamp at or before exact time provided in query. You can specify timezone in query - otherwise your site''s time zone will be used. If provided, this parameter will be used instead of end_date. |
| `startDate` | `DateTime?` | Query, Optional | The start date (format YYYY-MM-DD) with which to filter the date_field. Returns products with a timestamp at or after midnight (12:00:00 AM) in your site’s time zone on the date specified. |
| `startDatetime` | `DateTimeOffset?` | Query, Optional | The start date and time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns products with a timestamp at or after exact time provided in query. You can specify timezone in query - otherwise your site''s time zone will be used. If provided, this parameter will be used instead of start_date. |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `includeArchived` | `bool?` | Query, Optional | Include archived products. Use in query: `include_archived=true`. |
| `include` | [`ListProductsInclude?`](../../doc/models/list-products-include.md) | Query, Optional | Allows including additional data in the response. Use in query `include=prepaid_product_price_point`. |
diff --git a/doc/controllers/proforma-invoices.md b/doc/controllers/proforma-invoices.md
index bcf91f64..7882d7a3 100644
--- a/doc/controllers/proforma-invoices.md
+++ b/doc/controllers/proforma-invoices.md
@@ -84,12 +84,12 @@ ListSubscriptionGroupProformaInvoicesAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `uid` | `string` | Template, Required | The uid of the subscription group |
-| `lineItems` | `bool?` | Query, Optional | Include line items data
**Default**: `false` |
-| `discounts` | `bool?` | Query, Optional | Include discounts data
**Default**: `false` |
-| `taxes` | `bool?` | Query, Optional | Include taxes data
**Default**: `false` |
-| `credits` | `bool?` | Query, Optional | Include credits data
**Default**: `false` |
-| `payments` | `bool?` | Query, Optional | Include payments data
**Default**: `false` |
-| `customFields` | `bool?` | Query, Optional | Include custom fields data
**Default**: `false` |
+| `lineItems` | `bool?` | Query, Optional | Include line items data
**Default**: `false` |
+| `discounts` | `bool?` | Query, Optional | Include discounts data
**Default**: `false` |
+| `taxes` | `bool?` | Query, Optional | Include taxes data
**Default**: `false` |
+| `credits` | `bool?` | Query, Optional | Include credits data
**Default**: `false` |
+| `payments` | `bool?` | Query, Optional | Include payments data
**Default**: `false` |
+| `customFields` | `bool?` | Query, Optional | Include custom fields data
**Default**: `false` |
## Response Type
@@ -236,15 +236,15 @@ ListProformaInvoicesAsync(
| `startDate` | `string` | Query, Optional | The beginning date range for the invoice's Due Date, in the YYYY-MM-DD format. |
| `endDate` | `string` | Query, Optional | The ending date range for the invoice's Due Date, in the YYYY-MM-DD format. |
| `status` | [`ProformaInvoiceStatus?`](../../doc/models/proforma-invoice-status.md) | Query, Optional | The current status of the invoice. Allowed Values: draft, open, paid, pending, voided |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
-| `direction` | [`Direction?`](../../doc/models/direction.md) | Query, Optional | The sort direction of the returned invoices.
**Default**: `Direction.desc` |
-| `lineItems` | `bool?` | Query, Optional | Include line items data
**Default**: `false` |
-| `discounts` | `bool?` | Query, Optional | Include discounts data
**Default**: `false` |
-| `taxes` | `bool?` | Query, Optional | Include taxes data
**Default**: `false` |
-| `credits` | `bool?` | Query, Optional | Include credits data
**Default**: `false` |
-| `payments` | `bool?` | Query, Optional | Include payments data
**Default**: `false` |
-| `customFields` | `bool?` | Query, Optional | Include custom fields data
**Default**: `false` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `direction` | [`Direction?`](../../doc/models/direction.md) | Query, Optional | The sort direction of the returned invoices.
**Default**: `Direction.desc` |
+| `lineItems` | `bool?` | Query, Optional | Include line items data
**Default**: `false` |
+| `discounts` | `bool?` | Query, Optional | Include discounts data
**Default**: `false` |
+| `taxes` | `bool?` | Query, Optional | Include taxes data
**Default**: `false` |
+| `credits` | `bool?` | Query, Optional | Include credits data
**Default**: `false` |
+| `payments` | `bool?` | Query, Optional | Include payments data
**Default**: `false` |
+| `customFields` | `bool?` | Query, Optional | Include custom fields data
**Default**: `false` |
## Response Type
diff --git a/doc/controllers/reason-codes.md b/doc/controllers/reason-codes.md
index 54e73ed3..baa331e7 100644
--- a/doc/controllers/reason-codes.md
+++ b/doc/controllers/reason-codes.md
@@ -21,7 +21,7 @@ ReasonCodesController reasonCodesController = client.ReasonCodesController;
# Reason Codes Intro
-ReasonCodes are a way to gain a high level view of why your customers are cancelling the subcription to your product or service.
+ReasonCodes 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.
@@ -94,8 +94,8 @@ ListReasonCodesAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
## Response Type
@@ -141,7 +141,7 @@ catch (ApiException e)
"id": 1,
"site_id": 2,
"code": "CH1",
- "description": "This doesnt meet my needs",
+ "description": "This does not meet my needs",
"position": 2,
"created_at": "2017-02-16T16:48:45-05:00",
"updated_at": "2017-02-17T16:29:59-05:00"
@@ -255,7 +255,7 @@ catch (ApiException e)
# Delete Reason Code
-This method gives a merchant the option to delete one reason code from the Churn Reason Codes. This code will be immediately removed. This action is not reversable.
+This method gives a merchant the option to delete one reason code from the Churn Reason Codes. This code will be immediately removed. This action is not reversible.
```csharp
DeleteReasonCodeAsync(
diff --git a/doc/controllers/sales-commissions.md b/doc/controllers/sales-commissions.md
index e00315e9..0ac93d15 100644
--- a/doc/controllers/sales-commissions.md
+++ b/doc/controllers/sales-commissions.md
@@ -37,10 +37,10 @@ ListSalesCommissionSettingsAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `sellerId` | `string` | Template, Required | The Chargify id of your seller account |
-| `authorization` | `string` | Header, Optional | For authorization use user API key. See details [here](https://developers.chargify.com/docs/developer-docs/ZG9jOjMyNzk5NTg0-2020-04-20-new-api-authentication).
**Default**: `"Bearer <>"` |
+| `authorization` | `string` | Header, Optional | For authorization use user API key. See details [here](https://developers.chargify.com/docs/developer-docs/ZG9jOjMyNzk5NTg0-2020-04-20-new-api-authentication).
**Default**: `"Bearer <>"` |
| `liveMode` | `bool?` | Query, Optional | This parameter indicates if records should be fetched from live mode sites. Default value is true. |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 100.
**Default**: `100` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 100.
**Default**: `100` |
## Response Type
@@ -125,10 +125,10 @@ ListSalesRepsAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `sellerId` | `string` | Template, Required | The Chargify id of your seller account |
-| `authorization` | `string` | Header, Optional | For authorization use user API key. See details [here](https://developers.chargify.com/docs/developer-docs/ZG9jOjMyNzk5NTg0-2020-04-20-new-api-authentication).
**Default**: `"Bearer <>"` |
+| `authorization` | `string` | Header, Optional | For authorization use user API key. See details [here](https://developers.chargify.com/docs/developer-docs/ZG9jOjMyNzk5NTg0-2020-04-20-new-api-authentication).
**Default**: `"Bearer <>"` |
| `liveMode` | `bool?` | Query, Optional | This parameter indicates if records should be fetched from live mode sites. Default value is true. |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 100.
**Default**: `100` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 100.
**Default**: `100` |
## Response Type
@@ -268,10 +268,10 @@ ReadSalesRepAsync(
| --- | --- | --- | --- |
| `sellerId` | `string` | Template, Required | The Chargify id of your seller account |
| `salesRepId` | `string` | Template, Required | The Advanced Billing id of sales rep. |
-| `authorization` | `string` | Header, Optional | For authorization use user API key. See details [here](https://developers.chargify.com/docs/developer-docs/ZG9jOjMyNzk5NTg0-2020-04-20-new-api-authentication).
**Default**: `"Bearer <>"` |
+| `authorization` | `string` | Header, Optional | For authorization use user API key. See details [here](https://developers.chargify.com/docs/developer-docs/ZG9jOjMyNzk5NTg0-2020-04-20-new-api-authentication).
**Default**: `"Bearer <>"` |
| `liveMode` | `bool?` | Query, Optional | This parameter indicates if records should be fetched from live mode sites. Default value is true. |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 100.
**Default**: `100` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 100.
**Default**: `100` |
## Response Type
diff --git a/doc/controllers/sites.md b/doc/controllers/sites.md
index 71f8764c..c52bdcfb 100644
--- a/doc/controllers/sites.md
+++ b/doc/controllers/sites.md
@@ -123,7 +123,7 @@ ClearSiteAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
-| `cleanupScope` | [`CleanupScope?`](../../doc/models/cleanup-scope.md) | Query, Optional | `all`: Will clear all products, customers, and related subscriptions from the site.
`customers`: Will clear only customers and related subscriptions (leaving the products untouched) for the site.
Revenue will also be reset to 0.
Use in query `cleanup_scope=all`.
**Default**: `CleanupScope.all` |
+| `cleanupScope` | [`CleanupScope?`](../../doc/models/cleanup-scope.md) | Query, Optional | `all`: Will clear all products, customers, and related subscriptions from the site.
`customers`: Will clear only customers and related subscriptions (leaving the products untouched) for the site.
Revenue will also be reset to 0.
Use in query `cleanup_scope=all`.
**Default**: `CleanupScope.all` |
## Response Type
@@ -158,8 +158,8 @@ ListChargifyJsPublicKeysAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
## Response Type
diff --git a/doc/controllers/subscription-components.md b/doc/controllers/subscription-components.md
index 724a3922..1466aa00 100644
--- a/doc/controllers/subscription-components.md
+++ b/doc/controllers/subscription-components.md
@@ -601,7 +601,7 @@ ListAllocationsAsync(
| --- | --- | --- | --- |
| `subscriptionId` | `int` | Template, Required | The Chargify id of the subscription |
| `componentId` | `int` | Template, Required | The Advanced Billing id of the component |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
## Response Type
@@ -1277,8 +1277,8 @@ ListUsagesAsync(
| `maxId` | `long?` | Query, Optional | Returns usages with an id less than or equal to the one specified |
| `sinceDate` | `DateTime?` | Query, Optional | Returns usages with a created_at date greater than or equal to midnight (12:00 AM) on the date specified. |
| `untilDate` | `DateTime?` | Query, Optional | Returns usages with a created_at date less than or equal to midnight (12:00 AM) on the date specified. |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
## Response Type
@@ -1599,8 +1599,8 @@ ListSubscriptionComponentsForSiteAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `sort` | [`ListSubscriptionComponentsSort?`](../../doc/models/list-subscription-components-sort.md) | Query, Optional | The attribute by which to sort. Use in query: `sort=updated_at`. |
| `direction` | [`SortingDirection?`](../../doc/models/sorting-direction.md) | Query, Optional | Controls the order in which results are returned.
Use in query `direction=asc`. |
| `filter` | [`ListSubscriptionComponentsForSiteFilter`](../../doc/models/list-subscription-components-for-site-filter.md) | Query, Optional | Filter to use for List Subscription Components For Site operation |
@@ -1609,7 +1609,7 @@ ListSubscriptionComponentsForSiteAsync(
| `startDatetime` | `string` | Query, Optional | The start date and time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns components with a timestamp at or after exact time provided in query. You can specify timezone in query - otherwise your site''s time zone will be used. If provided, this parameter will be used instead of start_date. Use in query `start_datetime=2022-07-01 09:00:05`. |
| `endDate` | `string` | Query, Optional | The end date (format YYYY-MM-DD) with which to filter the date_field. Returns components with a timestamp up to and including 11:59:59PM in your site’s time zone on the date specified. Use in query `end_date=2011-12-16`. |
| `endDatetime` | `string` | Query, Optional | The end date and time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns components with a timestamp at or before exact time provided in query. You can specify timezone in query - otherwise your site''s time zone will be used. If provided, this parameter will be used instead of end_date. Use in query `end_datetime=2022-07-01 09:00:05`. |
-| `subscriptionIds` | `List` | Query, Optional | Allows fetching components allocation with matching subscription id based on provided ids. Use in query `subscription_ids=1,2,3`.
**Constraints**: *Minimum Items*: `1`, *Maximum Items*: `200` |
+| `subscriptionIds` | `List` | Query, Optional | Allows fetching components allocation with matching subscription id based on provided ids. Use in query `subscription_ids=1,2,3`.
**Constraints**: *Minimum Items*: `1`, *Maximum Items*: `200` |
| `pricePointIds` | [`IncludeNotNull?`](../../doc/models/include-not-null.md) | Query, Optional | Allows fetching components allocation only if price point id is present. Use in query `price_point_ids=not_null`. |
| `productFamilyIds` | `List` | Query, Optional | Allows fetching components allocation with matching product family id based on provided ids. Use in query `product_family_ids=1,2,3`. |
| `include` | [`ListSubscriptionComponentsInclude?`](../../doc/models/list-subscription-components-include.md) | Query, Optional | Allows including additional data in the response. Use in query `include=subscription,historic_usages`. |
diff --git a/doc/controllers/subscription-group-invoice-account.md b/doc/controllers/subscription-group-invoice-account.md
index 01909934..5b33c2fa 100644
--- a/doc/controllers/subscription-group-invoice-account.md
+++ b/doc/controllers/subscription-group-invoice-account.md
@@ -85,8 +85,8 @@ ListPrepaymentsForSubscriptionGroupAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `uid` | `string` | Template, Required | The uid of the subscription group |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `filter` | [`ListPrepaymentsFilter`](../../doc/models/list-prepayments-filter.md) | Query, Optional | Filter to use for List Prepayments operations |
## Response Type
diff --git a/doc/controllers/subscription-groups.md b/doc/controllers/subscription-groups.md
index 44493061..853a9e4c 100644
--- a/doc/controllers/subscription-groups.md
+++ b/doc/controllers/subscription-groups.md
@@ -187,8 +187,8 @@ ListSubscriptionGroupsAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `include` | [`List`](../../doc/models/subscription-groups-list-include.md) | Query, Optional | A list of additional information to include in the response. The following values are supported:
- `account_balances`: Account balance information for the subscription groups. Use in query: `include[]=account_balances` |
## Response Type
diff --git a/doc/controllers/subscription-invoice-account.md b/doc/controllers/subscription-invoice-account.md
index 1d465fc6..f520f766 100644
--- a/doc/controllers/subscription-invoice-account.md
+++ b/doc/controllers/subscription-invoice-account.md
@@ -15,6 +15,7 @@ SubscriptionInvoiceAccountController subscriptionInvoiceAccountController = clie
* [List Prepayments](../../doc/controllers/subscription-invoice-account.md#list-prepayments)
* [Issue Service Credit](../../doc/controllers/subscription-invoice-account.md#issue-service-credit)
* [Deduct Service Credit](../../doc/controllers/subscription-invoice-account.md#deduct-service-credit)
+* [List Service Credits](../../doc/controllers/subscription-invoice-account.md#list-service-credits)
* [Refund Prepayment](../../doc/controllers/subscription-invoice-account.md#refund-prepayment)
@@ -146,8 +147,8 @@ ListPrepaymentsAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `subscriptionId` | `int` | Template, Required | The Chargify id of the subscription |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `filter` | [`ListPrepaymentsFilter`](../../doc/models/list-prepayments-filter.md) | Query, Optional | Filter to use for List Prepayments operations |
## Response Type
@@ -330,6 +331,89 @@ catch (ApiException e)
| 422 | Unprocessable Entity (WebDAV) | `ApiException` |
+# List Service Credits
+
+This request will list a subscription's service credits.
+
+```csharp
+ListServiceCreditsAsync(
+ int subscriptionId,
+ int? page = 1,
+ int? perPage = 20,
+ Models.SortingDirection? direction = null)
+```
+
+## Parameters
+
+| Parameter | Type | Tags | Description |
+| --- | --- | --- | --- |
+| `subscriptionId` | `int` | Template, Required | The Chargify id of the subscription |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `direction` | [`SortingDirection?`](../../doc/models/sorting-direction.md) | Query, Optional | Controls the order in which results are returned.
Use in query `direction=asc`. |
+
+## Response Type
+
+[`Task`](../../doc/models/list-service-credits-response.md)
+
+## Example Usage
+
+```csharp
+int subscriptionId = 222;
+int? page = 2;
+int? perPage = 50;
+try
+{
+ ListServiceCreditsResponse result = await subscriptionInvoiceAccountController.ListServiceCreditsAsync(
+ subscriptionId,
+ page,
+ perPage
+ );
+}
+catch (ApiException e)
+{
+ // TODO: Handle exception here
+ Console.WriteLine(e.Message);
+}
+```
+
+## Example Response *(as JSON)*
+
+```json
+{
+ "service_credits": [
+ {
+ "id": 68,
+ "amount_in_cents": 2200,
+ "ending_balance_in_cents": 1100,
+ "entry_type": "Debit",
+ "memo": "Service credit memo",
+ "invoice_uid": "inv_brntdvmmqxc3j",
+ "remaining_balance_in_cents": 1100,
+ "created_at": "2025-04-01T09:54:49-04:00"
+ },
+ {
+ "id": 67,
+ "amount_in_cents": 3300,
+ "ending_balance_in_cents": 3300,
+ "entry_type": "Credit",
+ "memo": "Service credit memo",
+ "invoice_uid": null,
+ "remaining_balance_in_cents": 1100,
+ "created_at": "2025-03-05T16:06:08-05:00"
+ }
+ ]
+}
+```
+
+## Errors
+
+| HTTP Status Code | Error Description | Exception Class |
+| --- | --- | --- |
+| 404 | Not Found | `ApiException` |
+| 422 | Unprocessable Entity | [`ErrorListResponseException`](../../doc/models/error-list-response-exception.md) |
+
+
# Refund Prepayment
This endpoint will refund, completely or partially, a particular prepayment applied to a subscription. The `prepayment_id` will be the account transaction ID of the original payment. The prepayment must have some amount remaining in order to be refunded.
diff --git a/doc/controllers/subscription-notes.md b/doc/controllers/subscription-notes.md
index 21fc294b..47963cdd 100644
--- a/doc/controllers/subscription-notes.md
+++ b/doc/controllers/subscription-notes.md
@@ -94,8 +94,8 @@ ListSubscriptionNotesAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `subscriptionId` | `int` | Template, Required | The Chargify id of the subscription |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
## Response Type
diff --git a/doc/controllers/subscription-status.md b/doc/controllers/subscription-status.md
index 7d44be48..2d4b3c10 100644
--- a/doc/controllers/subscription-status.md
+++ b/doc/controllers/subscription-status.md
@@ -402,7 +402,7 @@ ResumeSubscriptionAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `subscriptionId` | `int` | Template, Required | The Chargify id of the subscription |
-| `calendarBillingResumptionCharge` | [`ResumptionCharge?`](../../doc/models/resumption-charge.md) | Query, Optional | (For calendar billing subscriptions only) The way that the resumed subscription's charge should be handled
**Default**: `ResumptionCharge.prorated` |
+| `calendarBillingResumptionCharge` | [`ResumptionCharge?`](../../doc/models/resumption-charge.md) | Query, Optional | (For calendar billing subscriptions only) The way that the resumed subscription's charge should be handled
**Default**: `ResumptionCharge.prorated` |
## Response Type
@@ -412,9 +412,9 @@ ResumeSubscriptionAsync(
```csharp
int subscriptionId = 222;
-Liquid error: Value cannot be null. (Parameter 'key')Liquid error: Value cannot be null. (Parameter 'key')try
+Liquid error: Value cannot be null. (Parameter 'key')try
{
- SubscriptionResponse result = await subscriptionStatusController.ResumeSubscriptionAsync(subscriptionId);
+ SubscriptionResponse result = await subscriptionStatusController.ResumeSubscriptionAsync(Liquid error: Value cannot be null. (Parameter 'key')subscriptionId);
}
catch (ApiException e)
{
diff --git a/doc/controllers/subscriptions.md b/doc/controllers/subscriptions.md
index f527c51e..49eb4d89 100644
--- a/doc/controllers/subscriptions.md
+++ b/doc/controllers/subscriptions.md
@@ -164,42 +164,6 @@ If you already have a customer and card stored in your payment gateway, you may
}
```
-## Subscription with Credit Card
-
-```json
-"subscription": {
- "product_handle": "basic",
- "customer_attributes": {
- "first_name": "Joe",
- "last_name": "Blow",
- "email": "joe@example.com",
- "zip": "02120",
- "state": "MA",
- "reference": "XYZ",
- "phone": "(617) 111 - 0000",
- "organization": "Acme",
- "country": "US",
- "city": "Boston",
- "address_2": null,
- "address": "123 Mass Ave."
- },
- "credit_card_attributes": {
- "last_name": "Smith",
- "first_name": "Joe",
- "full_number": "4111111111111111",
- "expiration_year": "2021",
- "expiration_month": "1",
- "card_type": "visa",
- "billing_zip": "02120",
- "billing_state": "MA",
- "billing_country": "US",
- "billing_city": "Boston",
- "billing_address_2": null,
- "billing_address": "123 Mass Ave."
- }
-}
-```
-
## Subscription with ACH as Payment Profile
```json
@@ -901,12 +865,13 @@ ListSubscriptionsAsync(
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `state` | [`SubscriptionStateFilter?`](../../doc/models/subscription-state-filter.md) | Query, Optional | The current state of the subscription |
| `product` | `int?` | Query, Optional | The product id of the subscription. (Note that the product handle cannot be used.) |
| `productPricePointId` | `int?` | Query, Optional | The ID of the product price point. If supplied, product is required |
| `coupon` | `int?` | Query, Optional | The numeric id of the coupon currently applied to the subscription. (This can be found in the URL when editing a coupon. Note that the coupon code cannot be used.) |
+| `couponCode` | `string` | Query, Optional | The coupon code currently applied to the subscription |
| `dateField` | [`SubscriptionDateField?`](../../doc/models/subscription-date-field.md) | Query, Optional | The type of filter you'd like to apply to your search. Allowed Values: , current_period_ends_at, current_period_starts_at, created_at, activated_at, canceled_at, expires_at, trial_started_at, trial_ended_at, updated_at |
| `startDate` | `DateTime?` | Query, Optional | The start date (format YYYY-MM-DD) with which to filter the date_field. Returns subscriptions with a timestamp at or after midnight (12:00:00 AM) in your site’s time zone on the date specified. Use in query `start_date=2022-07-01`. |
| `endDate` | `DateTime?` | Query, Optional | The end date (format YYYY-MM-DD) with which to filter the date_field. Returns subscriptions with a timestamp up to and including 11:59:59PM in your site’s time zone on the date specified. Use in query `end_date=2022-08-01`. |
@@ -914,7 +879,7 @@ ListSubscriptionsAsync(
| `endDatetime` | `DateTimeOffset?` | Query, Optional | The end date and time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns subscriptions with a timestamp at or before exact time provided in query. You can specify timezone in query - otherwise your site's time zone will be used. If provided, this parameter will be used instead of end_date. Use in query `end_datetime=2022-08-01 10:00:05`. |
| `metadata` | `Dictionary` | Query, Optional | The value of the metadata field specified in the parameter. Use in query `metadata[my-field]=value&metadata[other-field]=another_value`. |
| `direction` | [`SortingDirection?`](../../doc/models/sorting-direction.md) | Query, Optional | Controls the order in which results are returned.
Use in query `direction=asc`. |
-| `sort` | [`SubscriptionSort?`](../../doc/models/subscription-sort.md) | Query, Optional | The attribute by which to sort
**Default**: `SubscriptionSort.signup_date` |
+| `sort` | [`SubscriptionSort?`](../../doc/models/subscription-sort.md) | Query, Optional | The attribute by which to sort
**Default**: `SubscriptionSort.signup_date` |
| `include` | [`List`](../../doc/models/subscription-list-include.md) | Query, Optional | Allows including additional data in the response. Use in query: `include[]=self_service_page_token`. |
## Response Type
@@ -1024,15 +989,10 @@ UpdateSubscriptionRequest body = new UpdateSubscriptionRequest
{
Subscription = new UpdateSubscription
{
- CreditCardAttributes = new CreditCardAttributes
- {
- FullNumber = "4111111111111111",
- ExpirationMonth = "10",
- ExpirationYear = "2030",
- },
NextBillingAt = DateTime.ParseExact("2010-08-06T15:34:00Z", "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK",
provider: CultureInfo.InvariantCulture,
DateTimeStyles.RoundtripKind),
+ PaymentCollectionMethod = "remittance",
},
};
@@ -1616,11 +1576,11 @@ catch (ApiException e)
The Chargify API allows you to preview a subscription by POSTing the same JSON or XML as for a subscription creation.
-The "Next Billing" amount and "Next Billing" date are represented in each Subscriber's Summary. For more information, please 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 represented in each Subscriber's Summary.
-## Side effects
+A subscription will not be created by utilizing this endpoint; it is meant to serve as a prediction.
-A subscription will not be created by sending a POST to this endpoint. It is meant to serve as a prediction.
+For more information, please see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24252493695757-Subscriber-Interface-Overview).
## Taxable Subscriptions
diff --git a/doc/controllers/webhooks.md b/doc/controllers/webhooks.md
index 5d7bde0e..2dfdcda9 100644
--- a/doc/controllers/webhooks.md
+++ b/doc/controllers/webhooks.md
@@ -47,8 +47,8 @@ ListWebhooksAsync(
| `status` | [`WebhookStatus?`](../../doc/models/webhook-status.md) | Query, Optional | Webhooks with matching status would be returned. |
| `sinceDate` | `string` | Query, Optional | Format YYYY-MM-DD. Returns Webhooks with the created_at date greater than or equal to the one specified. |
| `untilDate` | `string` | Query, Optional | Format YYYY-MM-DD. Returns Webhooks with the created_at date less than or equal to the one specified. |
-| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
-| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
+| `page` | `int?` | Query, Optional | Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.
Use in query `page=1`.
**Default**: `1`
**Constraints**: `>= 1` |
+| `perPage` | `int?` | Query, Optional | This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.
Use in query `per_page=200`.
**Default**: `20`
**Constraints**: `<= 200` |
| `order` | [`WebhookOrder?`](../../doc/models/webhook-order.md) | Query, Optional | The order in which the Webhooks are returned. |
| `subscription` | `int?` | Query, Optional | The Advanced Billing id of a subscription you'd like to filter for |
diff --git a/doc/custom-date-time-converter.md b/doc/custom-date-time-converter.md
new file mode 100644
index 00000000..cb13b219
--- /dev/null
+++ b/doc/custom-date-time-converter.md
@@ -0,0 +1,11 @@
+
+# CustomDateTimeConverter
+
+Extends from IsoDateTimeConverter to allow a custom DateTime format.
+
+## Constructors
+
+| Name | Description |
+| --- | --- |
+| `CustomDateTimeConverter(string format)` | Initializes a new instance of the class. |
+
diff --git a/doc/http-callback.md b/doc/http-callback.md
new file mode 100644
index 00000000..a1085a0d
--- /dev/null
+++ b/doc/http-callback.md
@@ -0,0 +1,12 @@
+
+# HttpCallback
+
+Class to provide callbacks for the Http request and response of an API call.
+
+## Methods
+
+| Name | Description | Return Type |
+| --- | --- | --- |
+| OnBeforeRequest([`HttpRequest`](../doc/http-request.md) request) | Override to provide callback for the Http request. | `void` |
+| OnAfterResponse([`HttpResponse`](../doc/http-response.md) response) | Override to provide callback for the Http response. | `void` |
+
diff --git a/doc/http-client-configuration-builder.md b/doc/http-client-configuration-builder.md
index 3401aa3f..0dd27e65 100644
--- a/doc/http-client-configuration-builder.md
+++ b/doc/http-client-configuration-builder.md
@@ -1,5 +1,5 @@
-# HttpClientConfiguration Builder Class
+# HttpClientConfigurationBuilder
Class to build instances of HttpClientConfiguration.
@@ -7,12 +7,14 @@ Class to build instances of HttpClientConfiguration.
| Name | Description | Return Type |
| --- | --- | --- |
-| `Timeout(TimeSpan timeout)` | Http client timeout. | [`Builder`](http-client-configuration-builder.md) |
-| `NumberOfRetries(int numberOfRetries)` | Number of times the request is retried. | [`Builder`](http-client-configuration-builder.md) |
-| `BackoffFactor(int backoffFactor)` | Exponential backoff factor for duration between retry calls. | [`Builder`](http-client-configuration-builder.md) |
-| `RetryInterval(double retryInterval)` | The time interval between the endpoint calls. | [`Builder`](http-client-configuration-builder.md) |
-| `MaximumRetryWaitTime(TimeSpan maximumRetryWaitTime)` | The maximum retry wait time. | [`Builder`](http-client-configuration-builder.md) |
-| `StatusCodesToRetry(IList statusCodesToRetry)` | List of Http status codes to invoke retry. | [`Builder`](http-client-configuration-builder.md) |
-| `RequestMethodsToRetry(IList requestMethodsToRetry)` | List of Http request methods to invoke retry. | [`Builder`](http-client-configuration-builder.md) |
-| `Build()` | Builds a new HttpClientConfiguration object using the set fields. | [`HttpClientConfiguration`](http-client-configuration.md) |
+| Timeout(TimeSpan timeout) | Http client timeout. | `Builder` |
+| NumberOfRetries(int numberOfRetries) | Number of times the request is retried. | `Builder` |
+| BackoffFactor(int backoffFactor) | Exponential backoff factor for duration between retry calls. | `Builder` |
+| RetryInterval(double retryInterval) | The time interval between the endpoint calls. | `Builder` |
+| MaximumRetryWaitTime(TimeSpan maximumRetryWaitTime) | The maximum retry wait time. | `Builder` |
+| StatusCodesToRetry(IList statusCodesToRetry) | List of Http status codes to invoke retry. | `Builder` |
+| RequestMethodsToRetry(IList requestMethodsToRetry) | List of Http request methods to invoke retry. | `Builder` |
+| ProxyConfiguration([ProxyConfigurationBuilder](../doc/proxy-configuration-builder.md) proxyConfiguration) | Configures the proxy server settings used for outbound API calls. | `Builder` |
+| HttpClientInstance(HttpClient httpClientInstance) | HttpClient instance used to make the HTTP calls | `Builder` |
+| `Build()` | Builds a new HttpClientConfiguration object using the set fields. | [`HttpClientConfiguration`](../doc/http-client-configuration.md) |
diff --git a/doc/http-client-configuration.md b/doc/http-client-configuration.md
index 6d3d20e0..a23e884e 100644
--- a/doc/http-client-configuration.md
+++ b/doc/http-client-configuration.md
@@ -1,5 +1,5 @@
-# HttpClientConfiguration Class
+# HttpClientConfiguration
HttpClientConfiguration represents the current state of the Http Client.
@@ -7,19 +7,19 @@ HttpClientConfiguration represents the current state of the Http Client.
| Name | Description | Type |
| --- | --- | --- |
-| Timeout | Http client timeout. | `TimeSpan` |
-| NumberOfRetries | Number of times the request is retried. | `int` |
-| BackoffFactor | Exponential backoff factor for duration between retry calls. | `int` |
-| RetryInterval | The time interval between the endpoint calls. | `double` |
-| MaximumRetryWaitTime | The maximum retry wait time. | `TimeSpan` |
-| StatusCodesToRetry | List of Http status codes to invoke retry. | `IList` |
-| RequestMethodsToRetry | List of Http request methods to invoke retry. | `IList` |
-| HttpClientInstance | HttpClient instance used to make the HTTP calls | `HttpClient` |
-| OverrideHttpClientConfiguration | Boolean which allows the SDK to override http client instance's settings used for features like retries, timeouts etc. | `bool` |
+| Timeout | Http client timeout. | `TimeSpan` |
+| NumberOfRetries | Number of times the request is retried. | `int` |
+| BackoffFactor | Exponential backoff factor for duration between retry calls. | `int` |
+| RetryInterval | The time interval between the endpoint calls. | `double` |
+| MaximumRetryWaitTime | The maximum retry wait time. | `TimeSpan` |
+| StatusCodesToRetry | List of Http status codes to invoke retry. | `IList` |
+| RequestMethodsToRetry | List of Http request methods to invoke retry. | `IList` |
+| HttpClientInstance | HttpClient instance used to make the HTTP calls | `HttpClient` |
+| OverrideHttpClientConfiguration | Boolean which allows the SDK to override http client instance's settings used for features like retries, timeouts etc. | `bool` |
## Methods
| Name | Description | Return Type |
| --- | --- | --- |
-| `ToBuilder()` | Creates an object of the HttpClientConfiguration using the values provided for the builder. | [`Builder`](http-client-configuration-builder.md) |
+| `ToBuilder()` | Creates an object of the HttpClientConfiguration using the values provided for the builder. | [`Builder`](../doc/http-client-configuration-builder.md) |
diff --git a/doc/http-context.md b/doc/http-context.md
index 6e84555e..1fe0ddc6 100644
--- a/doc/http-context.md
+++ b/doc/http-context.md
@@ -1,5 +1,5 @@
-# HttpContext Class
+# HttpContext
Represents the contextual information of HTTP request and response.
@@ -7,12 +7,6 @@ Represents the contextual information of HTTP request and response.
| Name | Description | Type |
| --- | --- | --- |
-| Request | Gets the http request in the current context. | [`HttpRequest`](http-request.md) |
-| Response | Gets the http response in the current context. | [`HttpResponse`](http-response.md) |
-
-## Constructors
-
-| Name | Description |
-| --- | --- |
-| `HttpContext(HttpRequest request, HttpResponse response)` | Initializes a new instance of the class. |
+| Request | Gets the http request in the current context. | [`HttpRequest`](../doc/http-request.md) |
+| Response | Gets the http response in the current context. | [`HttpResponse`](../doc/http-response.md) |
diff --git a/doc/http-request.md b/doc/http-request.md
index 3cda0c9b..e51a6713 100644
--- a/doc/http-request.md
+++ b/doc/http-request.md
@@ -1,29 +1,25 @@
-# HttpRequest Class
+# HttpRequest
-HttpResponse stores necessary information about the http response.
+HttpRequest stores necessary information about the http request.
## Properties
| Name | Description | Type |
| --- | --- | --- |
-| StatusCode | Gets the HTTP Status code of the http response. | `int` |
-| Headers | Gets the headers of the http response. | `Dictionary` |
-| RawBody | Gets the stream of the body. | `Stream` |
-
-## Constructors
-
-| Name | Description |
-| --- | --- |
-| `HttpRequest(HttpMethod method, string queryUrl)` | Constructor to initialize the http request object. |
-| `HttpRequest(HttpMethod method, string queryUrl, Dictionary headers, string username, string password, Dictionary queryParameters = null)` | Constructor to initialize the http request with headers and optional Basic auth params. |
-| `HttpRequest(HttpMethod method, string queryUrl, Dictionary headers, object body, string username, string password, Dictionary queryParameters = null)` | Constructor to initialize the http request with headers, body and optional Basic auth params. |
-| `HttpRequest(HttpMethod method, string queryUrl, Dictionary headers, List> formParameters, string username, string password, Dictionary queryParameters = null)` | Constructor to initialize the http request with headers, form parameters and optional Basic auth params. |
+| HttpMethod | The HTTP verb to use for this request. | `HttpMethod` |
+| QueryUrl | The query url for the http request. | `string` |
+| QueryParameters | Query parameters collection for the current http request. | `Dictionary` |
+| Headers | Headers collection for the current http request. | `Dictionary` |
+| FormParameters | Form parameters for the current http request. | `List>` |
+| Body | Optional raw string to send as request body. | `object` |
+| Username | Optional username for Basic Auth. | `string` |
+| Password | Optional password for Basic Auth. | `string` |
## Methods
| Name | Description | Return Type |
| --- | --- | --- |
| `AddHeaders(Dictionary HeadersToAdd)` | Concatenate values from a Dictionary to this object. | `Dictionary` |
-| `AddQueryParameters(Dictionary queryParamaters)` | Concatenate values from a Dictionary to query parameters dictionary. | `void` |
+| `AddQueryParameters(Dictionary queryParameters)` | Concatenate values from a Dictionary to query parameters dictionary. | `void` |
diff --git a/doc/http-response.md b/doc/http-response.md
index 5d54c4aa..e6a879e2 100644
--- a/doc/http-response.md
+++ b/doc/http-response.md
@@ -1,5 +1,5 @@
-# HttpResponse Class
+# HttpResponse
HttpResponse stores necessary information about the http response.
@@ -7,13 +7,7 @@ HttpResponse stores necessary information about the http response.
| Name | Description | Type |
| --- | --- | --- |
-| StatusCode | Gets the HTTP Status code of the http response. | `int` |
-| Headers | Gets the headers of the http response. | `Dictionary` |
-| RawBody | Gets the stream of the body. | `Stream` |
-
-## Constructors
-
-| Name | Description |
-| --- | --- |
-| `HttpResponse(int statusCode, Dictionary headers, Stream rawBody)` | Initializes a new instance of the class. |
+| StatusCode | Gets the HTTP Status code of the http response. | `int` |
+| Headers | Gets the headers of the http response. | `Dictionary` |
+| RawBody | Gets the stream of the body. | `Stream` |
diff --git a/doc/http-string-response.md b/doc/http-string-response.md
index 7e82f647..bb43f27a 100644
--- a/doc/http-string-response.md
+++ b/doc/http-string-response.md
@@ -1,5 +1,5 @@
-# HttpStringResponse Class
+# HttpStringResponse
HttpStringResponse inherits from HttpResponse and has additional property of string body.
@@ -7,13 +7,7 @@ HttpStringResponse inherits from HttpResponse and has additional property of str
| Name | Description | Type |
| --- | --- | --- |
-| StatusCode | Gets the HTTP Status code of the http response. | `int` |
-| Headers | Gets the headers of the http response. | `Dictionary` |
-| Body | Gets the raw string body of the http response. | `string` |
-
-## Constructors
-
-| Name | Description |
-| --- | --- |
-| `HttpStringResponse(int statusCode, Dictionary headers, Stream rawBody, string body) : base(statusCode, headers, rawBody)` | Initializes a new instance of the class. |
+| StatusCode | Gets the HTTP Status code of the http response. | `int` |
+| Headers | Gets the headers of the http response. | `Dictionary` |
+| Body | Gets the raw string body of the http response. | `string` |
diff --git a/doc/i-auth-manager.md b/doc/i-auth-manager.md
deleted file mode 100644
index 4c9e051f..00000000
--- a/doc/i-auth-manager.md
+++ /dev/null
@@ -1,12 +0,0 @@
-
-# IAuthManager Class
-
-IAuthManager adds the authenticaion layer to the http calls.
-
-## Methods
-
-| Name | Description | Return Type |
-| --- | --- | --- |
-| `Apply(HttpRequest httpRequest)` | Add authentication information to the HTTP Request. | [`HttpRequest`](http-request.md) |
-| `ApplyAsync(HttpRequest httpRequest)` | Asynchronously add authentication information to the HTTP Request. | `Task<`[`HttpRequest`](http-request.md)`>` |
-
diff --git a/doc/models/apple-pay-payment-profile.md b/doc/models/apple-pay-payment-profile.md
index 45084ad7..d0fe267d 100644
--- a/doc/models/apple-pay-payment-profile.md
+++ b/doc/models/apple-pay-payment-profile.md
@@ -25,6 +25,8 @@
| `PaymentType` | [`PaymentType`](../../doc/models/payment-type.md) | Required | **Default**: `PaymentType.apple_pay` |
| `SiteGatewaySettingId` | `int?` | Optional | - |
| `GatewayHandle` | `string` | Optional | - |
+| `CreatedAt` | `DateTimeOffset?` | Optional | A timestamp indicating when this payment profile was created |
+| `UpdatedAt` | `DateTimeOffset?` | Optional | A timestamp indicating when this payment profile was last updated |
## Example (as JSON)
diff --git a/doc/models/bank-account-payment-profile.md b/doc/models/bank-account-payment-profile.md
index f0db35b2..2d6acdd8 100644
--- a/doc/models/bank-account-payment-profile.md
+++ b/doc/models/bank-account-payment-profile.md
@@ -28,9 +28,11 @@
| `BankAccountType` | [`BankAccountType?`](../../doc/models/bank-account-type.md) | Optional | Defaults to checking |
| `BankAccountHolderType` | [`BankAccountHolderType?`](../../doc/models/bank-account-holder-type.md) | Optional | Defaults to personal |
| `PaymentType` | [`PaymentType`](../../doc/models/payment-type.md) | Required | **Default**: `PaymentType.bank_account` |
-| `Verified` | `bool?` | Optional | denotes whether a bank account has been verified by providing the amounts of two small deposits made into the account
**Default**: `false` |
+| `Verified` | `bool?` | Optional | denotes whether a bank account has been verified by providing the amounts of two small deposits made into the account
**Default**: `false` |
| `SiteGatewaySettingId` | `int?` | Optional | - |
| `GatewayHandle` | `string` | Optional | - |
+| `CreatedAt` | `DateTimeOffset?` | Optional | A timestamp indicating when this payment profile was created |
+| `UpdatedAt` | `DateTimeOffset?` | Optional | A timestamp indicating when this payment profile was last updated |
## Example (as JSON)
diff --git a/doc/models/chargify-ebb.md b/doc/models/chargify-ebb.md
index 4c360469..e740d325 100644
--- a/doc/models/chargify-ebb.md
+++ b/doc/models/chargify-ebb.md
@@ -12,7 +12,7 @@
| `Timestamp` | `DateTimeOffset?` | Optional | This timestamp determines what billing period the event will be billed in. If your request payload does not include it, Chargify will add `chargify.timestamp` to the event payload and set the value to `now`. |
| `Id` | `string` | Optional | A unique ID set by Chargify. Please note that this field is reserved. If `chargify.id` is present in the request payload, it will be overwritten. |
| `CreatedAt` | `DateTimeOffset?` | Optional | An ISO-8601 timestamp, set by Chargify at the time each event is recorded. Please note that this field is reserved. If `chargify.created_at` is present in the request payload, it will be overwritten. |
-| `UniquenessToken` | `string` | Optional | User-defined string scoped per-stream. Duplicate events within a stream will be silently ignored. Tokens expire after 31 days.
**Constraints**: *Maximum Length*: `64` |
+| `UniquenessToken` | `string` | Optional | User-defined string scoped per-stream. Duplicate events within a stream will be silently ignored. Tokens expire after 31 days.
**Constraints**: *Maximum Length*: `64` |
| `SubscriptionId` | `int?` | Optional | Id of Maxio Advanced Billing Subscription which is connected to this event.
Provide `subscription_id` if you configured `chargify.subscription_id` as Subscription Identifier in your Event Stream. |
| `SubscriptionReference` | `string` | Optional | Reference of Maxio Advanced Billing Subscription which is connected to this event.
Provide `subscription_reference` if you configured `chargify.subscription_reference` as Subscription Identifier in your Event Stream. |
diff --git a/doc/models/component.md b/doc/models/component.md
index 96b94b60..34192fd9 100644
--- a/doc/models/component.md
+++ b/doc/models/component.md
@@ -17,6 +17,7 @@
| `UnitPrice` | `string` | Optional | The amount the customer will be charged per unit. This field is only populated for ‘per_unit’ pricing schemes, otherwise it may be null. |
| `ProductFamilyId` | `int?` | Optional | The id of the Product Family to which the Component belongs |
| `ProductFamilyName` | `string` | Optional | The name of the Product Family to which the Component belongs |
+| `ProductFamilyHandle` | `string` | Optional | The handle of the Product Family to which the Component belongs |
| `PricePerUnitInCents` | `long?` | Optional | deprecated - use unit_price instead |
| `Kind` | [`ComponentKind?`](../../doc/models/component-kind.md) | Optional | A handle for the component type |
| `Archived` | `bool?` | Optional | Boolean flag describing whether a component is archived or not. |
diff --git a/doc/models/coupon-request.md b/doc/models/coupon-request.md
index e06492c1..82ac5b68 100644
--- a/doc/models/coupon-request.md
+++ b/doc/models/coupon-request.md
@@ -10,8 +10,8 @@
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
| `Coupon` | [`CouponPayload`](../../doc/models/coupon-payload.md) | Optional | - |
-| `RestrictedProducts` | `Dictionary` | Optional | An object where the keys are product_ids and the values are booleans indicating if the coupon should be applicable to the product |
-| `RestrictedComponents` | `Dictionary` | Optional | An object where the keys are component_ids and the values are booleans indicating if the coupon should be applicable to the component |
+| `RestrictedProducts` | `Dictionary` | Optional | An object where the keys are product IDs or handles (prefixed with 'handle:'), and the values are booleans indicating if the coupon should be applicable to the product |
+| `RestrictedComponents` | `Dictionary` | Optional | An object where the keys are component IDs or handles (prefixed with 'handle:'), and the values are booleans indicating if the coupon should be applicable to the component |
## Example (as JSON)
diff --git a/doc/models/create-component-price-point.md b/doc/models/create-component-price-point.md
index e8eaed94..da73cc7b 100644
--- a/doc/models/create-component-price-point.md
+++ b/doc/models/create-component-price-point.md
@@ -13,7 +13,7 @@
| `Handle` | `string` | Optional | - |
| `PricingScheme` | [`PricingScheme`](../../doc/models/pricing-scheme.md) | Required | The identifier for the pricing scheme. See [Product Components](https://help.chargify.com/products/product-components.html) for an overview of pricing schemes. |
| `Prices` | [`List`](../../doc/models/price.md) | Required | - |
-| `UseSiteExchangeRate` | `bool?` | Optional | Whether to use the site level exchange rate or define your own prices for each currency if you have multiple currencies defined on the site. Setting not supported when creating price points in bulk.
**Default**: `true` |
+| `UseSiteExchangeRate` | `bool?` | Optional | Whether to use the site level exchange rate or define your own prices for each currency if you have multiple currencies defined on the site. Setting not supported when creating price points in bulk.
**Default**: `true` |
| `TaxIncluded` | `bool?` | Optional | Whether or not the price point includes tax. Setting not supported when creating price points in bulk. |
| `Interval` | `int?` | Optional | The numerical interval. i.e. an interval of ‘30’ coupled with an interval_unit of day would mean this price point would renew every 30 days. This property is only available for sites with Multifrequency enabled. |
| `IntervalUnit` | [`IntervalUnit?`](../../doc/models/interval-unit.md) | Optional | A string representing the interval unit for this price point, either month or day. This property is only available for sites with Multifrequency enabled. |
diff --git a/doc/models/create-or-update-product.md b/doc/models/create-or-update-product.md
index d388d4bb..2d22ee50 100644
--- a/doc/models/create-or-update-product.md
+++ b/doc/models/create-or-update-product.md
@@ -24,7 +24,7 @@
| `ExpirationInterval` | `int?` | Optional | The numerical expiration interval. i.e. an expiration_interval of ‘30’ coupled with an expiration_interval_unit of day would mean this product would expire after 30 days. |
| `ExpirationIntervalUnit` | [`ExpirationIntervalUnit?`](../../doc/models/expiration-interval-unit.md) | Optional | A string representing the expiration interval unit for this product, either month, day or never |
| `AutoCreateSignupPage` | `bool?` | Optional | - |
-| `TaxCode` | `string` | Optional | A string representing the tax code related to the product type. This is especially important when using the Avalara service to tax based on locale. This attribute has a max length of 10 characters.
**Constraints**: *Maximum Length*: `10` |
+| `TaxCode` | `string` | Optional | A string representing the tax code related to the product type. This is especially important when using the Avalara service to tax based on locale. This attribute has a max length of 10 characters.
**Constraints**: *Maximum Length*: `10` |
## Example (as JSON)
diff --git a/doc/models/create-prepaid-usage-component-price-point.md b/doc/models/create-prepaid-usage-component-price-point.md
index 0bcb9dd5..61bae9b9 100644
--- a/doc/models/create-prepaid-usage-component-price-point.md
+++ b/doc/models/create-prepaid-usage-component-price-point.md
@@ -14,7 +14,7 @@
| `PricingScheme` | [`PricingScheme`](../../doc/models/pricing-scheme.md) | Required | The identifier for the pricing scheme. See [Product Components](https://help.chargify.com/products/product-components.html) for an overview of pricing schemes. |
| `Prices` | [`List`](../../doc/models/price.md) | Required | - |
| `OveragePricing` | [`OveragePricing`](../../doc/models/overage-pricing.md) | Required | - |
-| `UseSiteExchangeRate` | `bool?` | Optional | Whether to use the site level exchange rate or define your own prices for each currency if you have multiple currencies defined on the site.
**Default**: `true` |
+| `UseSiteExchangeRate` | `bool?` | Optional | Whether to use the site level exchange rate or define your own prices for each currency if you have multiple currencies defined on the site.
**Default**: `true` |
| `RolloverPrepaidRemainder` | `bool?` | Optional | (only for prepaid usage components) Boolean which controls whether or not remaining units should be rolled over to the next period |
| `RenewPrepaidAllocation` | `bool?` | Optional | (only for prepaid usage components) Boolean which controls whether or not the allocated quantity should be renewed at the beginning of each period |
| `ExpirationInterval` | `double?` | Optional | (only for prepaid usage components where rollover_prepaid_remainder is true) The number of `expiration_interval_unit`s after which rollover amounts should expire |
diff --git a/doc/models/create-product-price-point.md b/doc/models/create-product-price-point.md
index d4cc4279..d4828983 100644
--- a/doc/models/create-product-price-point.md
+++ b/doc/models/create-product-price-point.md
@@ -22,7 +22,7 @@
| `InitialChargeAfterTrial` | `bool?` | Optional | - |
| `ExpirationInterval` | `int?` | Optional | The numerical expiration interval. i.e. an expiration_interval of ‘30’ coupled with an expiration_interval_unit of day would mean this product price point would expire after 30 days. |
| `ExpirationIntervalUnit` | [`ExpirationIntervalUnit?`](../../doc/models/expiration-interval-unit.md) | Optional | A string representing the expiration interval unit for this product price point, either month, day or never |
-| `UseSiteExchangeRate` | `bool?` | Optional | Whether or not to use the site's exchange rate or define your own pricing when your site has multiple currencies defined.
**Default**: `true` |
+| `UseSiteExchangeRate` | `bool?` | Optional | Whether or not to use the site's exchange rate or define your own pricing when your site has multiple currencies defined.
**Default**: `true` |
## Example (as JSON)
diff --git a/doc/models/create-subscription-request.md b/doc/models/create-subscription-request.md
index e1843caf..5619886a 100644
--- a/doc/models/create-subscription-request.md
+++ b/doc/models/create-subscription-request.md
@@ -16,6 +16,7 @@
```json
{
"subscription": {
+ "defer_signup": false,
"metafields": {
"custom_field_name_1": "custom_field_value_1",
"custom_field_name_2": "custom_field_value_2"
diff --git a/doc/models/create-subscription.md b/doc/models/create-subscription.md
index 19ccca03..acfa9c56 100644
--- a/doc/models/create-subscription.md
+++ b/doc/models/create-subscription.md
@@ -21,11 +21,12 @@
| `NetTerms` | `string` | Optional | (Optional) Default: null The number of days after renewal (on invoice billing) that a subscription is due. A value between 0 (due immediately) and 180. |
| `CustomerId` | `int?` | Optional | The ID of an existing customer within Chargify. Required, unless a `customer_reference` or a set of `customer_attributes` is given. |
| `NextBillingAt` | `DateTimeOffset?` | Optional | (Optional) Set this attribute to a future date/time to sync imported subscriptions to your existing renewal schedule. See the notes on “Date/Time Format” in our [subscription import documentation](https://maxio.zendesk.com/hc/en-us/articles/24251489107213-Advanced-Billing-Subscription-Imports#date-format). If you provide a next_billing_at timestamp that is in the future, no trial or initial charges will be applied when you create the subscription. In fact, no payment will be captured at all. The first payment will be captured, according to the prices defined by the product, near the time specified by next_billing_at. If you do not provide a value for next_billing_at, any trial and/or initial charges will be assessed and charged at the time of subscription creation. If the card cannot be successfully charged, the subscription will not be created. See further notes in the section on Importing Subscriptions. |
-| `InitialBillingAt` | `DateTimeOffset?` | Optional | (Optional) Set this attribute to a future date/time to create a subscription in the "Awaiting Signup" state, rather than "Active" or "Trialing". See the notes on “Date/Time Format” in our [subscription import documentation](https://maxio.zendesk.com/hc/en-us/articles/24251489107213-Advanced-Billing-Subscription-Imports#date-format). In the "Awaiting Signup" state, a subscription behaves like any other. It can be canceled, allocated to, had its billing date changed. etc. When the initial_billing_at date hits, the subscription will transition to the expected state. If the product has a trial, the subscription will enter a trial, otherwise it will go active. Setup fees will be respected either before or after the trial, as configured on the price point. If the payment is due at the initial_billing_at and it fails the subscription will be immediately canceled. See further notes in the section on Delayed Signups. |
+| `InitialBillingAt` | `DateTimeOffset?` | Optional | (Optional) Set this attribute to a future date/time to create a subscription in the Awaiting Signup state, rather than Active or Trialing. You can omit the initial_billing_at date to activate the subscription immediately. In the Awaiting Signup state, a subscription behaves like any other. It can be canceled, allocated to, or have its billing date changed. etc. When the initial_billing_at date hits, the subscription will transition to the expected state. If the product has a trial, the subscription will enter a trial, otherwise it will go active. Setup fees will be respected either before or after the trial, as configured on the price point. If the payment is due at the initial_billing_at and it fails the subscription will be immediately canceled. See the [subscription import](https://maxio.zendesk.com/hc/en-us/articles/24251489107213-Advanced-Billing-Subscription-Imports#date-format) documentation for more information about Date/Time Formats. |
+| `DeferSignup` | `bool?` | Optional | (Optional) Set this attribute to true to create the subscription in the Awaiting Signup Date state. Use this when you want to create a subscription that has an unknown first billing date. When the first billing date is known, update a subscription and set the `initial_billing_at` date. The subscription moves to the Awaiting Signup state with a scheduled initial billing date. You can omit the initial_billing_at date to activate the subscription immediately. See [Subscription States](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404222005773-Subscription-States) for more information.
**Default**: `false` |
| `StoredCredentialTransactionId` | `int?` | Optional | For European sites subject to PSD2 and using 3D Secure, this can be used to reference a previous transaction for the customer. This will ensure the card will be charged successfully at renewal. |
| `SalesRepId` | `int?` | Optional | - |
| `PaymentProfileId` | `int?` | Optional | The Payment Profile ID of an existing card or bank account, which belongs to an existing customer to use for payment for this subscription. If the card, bank account, or customer does not exist already, or if you want to use a new (unstored) card or bank account for the subscription, use `payment_profile_attributes` instead to create a new payment profile along with the subscription. (This value is available on an existing subscription via the API as `credit_card` > id or `bank_account` > id) |
-| `Reference` | `string` | Optional | The reference value (provided by your app) for the subscription itelf. |
+| `Reference` | `string` | Optional | The reference value (provided by your app) for the subscription itself. |
| `CustomerAttributes` | [`CustomerAttributes`](../../doc/models/customer-attributes.md) | Optional | - |
| `PaymentProfileAttributes` | [`PaymentProfileAttributes`](../../doc/models/payment-profile-attributes.md) | Optional | alias to credit_card_attributes |
| `CreditCardAttributes` | [`PaymentProfileAttributes`](../../doc/models/payment-profile-attributes.md) | Optional | Credit Card data to create a new Subscription. Interchangeable with `payment_profile_attributes` property. |
@@ -46,7 +47,7 @@
| `AuthorizerLastName` | `string` | Optional | (Optional) The last name of the person authorizing the ACH agreement. |
| `CalendarBillingFirstCharge` | `string` | Optional | (Optional) One of “prorated” (the default – the prorated product price will be charged immediately), “immediate” (the full product price will be charged immediately), or “delayed” (the full product price will be charged with the first scheduled renewal). |
| `ReasonCode` | `string` | Optional | (Optional) Can be used when canceling a subscription (via the HTTP DELETE method) to indicate why a subscription was canceled. |
-| `ProductChangeDelayed` | `bool?` | Optional | (Optional, used only for Delayed Product Change When set to true, indicates that a changed value for product_handle should schedule the product change to the next subscription renewal. |
+| `ProductChangeDelayed` | `bool?` | Optional | (Optional) used only for Delayed Product Change When set to true, indicates that a changed value for product_handle should schedule the product change to the next subscription renewal. |
| `OfferId` | [`CreateSubscriptionOfferId`](../../doc/models/containers/create-subscription-offer-id.md) | Optional | This is a container for one-of cases. |
| `PrepaidConfiguration` | [`UpsertPrepaidConfiguration`](../../doc/models/upsert-prepaid-configuration.md) | Optional | - |
| `PreviousBillingAt` | `DateTimeOffset?` | Optional | Providing a previous_billing_at that is in the past will set the current_period_starts_at when the subscription is created. It will also set activated_at if not explicitly passed during the subscription import. Can only be used if next_billing_at is also passed. Using this option will allow you to set the period start for the subscription so mid period component allocations have the correct prorated amount. |
@@ -55,14 +56,15 @@
| `ActivatedAt` | `DateTimeOffset?` | Optional | - |
| `AgreementAcceptance` | [`AgreementAcceptance`](../../doc/models/agreement-acceptance.md) | Optional | Required when creating a subscription with Maxio Payments. |
| `AchAgreement` | [`ACHAgreement`](../../doc/models/ach-agreement.md) | Optional | (Optional) If passed, the proof of the authorized ACH agreement terms will be persisted. |
-| `DunningCommunicationDelayEnabled` | `bool?` | Optional | Enable Communication Delay feature, making sure no communication (email or SMS) is sent to the Customer between 9PM and 8AM in time zone set by the `dunning_communication_delay_time_zone` attribute.
**Default**: `false` |
+| `DunningCommunicationDelayEnabled` | `bool?` | Optional | Enable Communication Delay feature, making sure no communication (email or SMS) is sent to the Customer between 9PM and 8AM in time zone set by the `dunning_communication_delay_time_zone` attribute.
**Default**: `false` |
| `DunningCommunicationDelayTimeZone` | `string` | Optional | Time zone for the Dunning Communication Delay feature. |
-| `SkipBillingManifestTaxes` | `bool?` | Optional | Valid only for the Subscription Preview endpoint. When set to `true` it skips calculating taxes for the current and next billing manifests.
**Default**: `false` |
+| `SkipBillingManifestTaxes` | `bool?` | Optional | Valid only for the Subscription Preview endpoint. When set to `true` it skips calculating taxes for the current and next billing manifests.
**Default**: `false` |
## Example (as JSON)
```json
{
+ "defer_signup": false,
"metafields": {
"custom_field_name_1": "custom_field_value_1",
"custom_field_name_2": "custom_field_value_2"
diff --git a/doc/models/credit-card-payment-profile.md b/doc/models/credit-card-payment-profile.md
index b1f4ca2e..081aa57d 100644
--- a/doc/models/credit-card-payment-profile.md
+++ b/doc/models/credit-card-payment-profile.md
@@ -31,6 +31,8 @@
| `ChargifyToken` | `string` | Optional | Token received after sending billing information using chargify.js. This token will only be received if passed as a sole attribute of credit_card_attributes (i.e. tok_9g6hw85pnpt6knmskpwp4ttt) |
| `SiteGatewaySettingId` | `int?` | Optional | - |
| `GatewayHandle` | `string` | Optional | An identifier of connected gateway. |
+| `CreatedAt` | `DateTimeOffset?` | Optional | A timestamp indicating when this payment profile was created |
+| `UpdatedAt` | `DateTimeOffset?` | Optional | A timestamp indicating when this payment profile was last updated |
## Example (as JSON)
diff --git a/doc/models/ebb-component.md b/doc/models/ebb-component.md
index 0bc7cfe7..d1fabfab 100644
--- a/doc/models/ebb-component.md
+++ b/doc/models/ebb-component.md
@@ -12,7 +12,7 @@
| `Name` | `string` | Required | A name for this component that is suitable for showing customers and displaying on billing statements, ie. "Minutes". |
| `UnitName` | `string` | Required | The name of the unit of measurement for the component. It should be singular since it will be automatically pluralized when necessary. i.e. “message”, which may then be shown as “5 messages” on a subscription’s component line-item |
| `Description` | `string` | Optional | A description for the component that will be displayed to the user on the hosted signup page. |
-| `Handle` | `string` | Optional | A unique identifier for your use that can be used to retrieve this component is subsequent requests. Must start with a letter or number and may only contain lowercase letters, numbers, or the characters '.', ':', '-', or '_'.
**Constraints**: *Pattern*: `^[a-z0-9][a-z0-9\-_:.]*$` |
+| `Handle` | `string` | Optional | A unique identifier for your use that can be used to retrieve this component is subsequent requests. Must start with a letter or number and may only contain lowercase letters, numbers, or the characters '.', ':', '-', or '_'.
**Constraints**: *Pattern*: `^[a-z0-9][a-z0-9\-_:.]*$` |
| `Taxable` | `bool?` | Optional | Boolean flag describing whether a component is taxable or not. |
| `PricingScheme` | [`PricingScheme`](../../doc/models/pricing-scheme.md) | Required | The identifier for the pricing scheme. See [Product Components](https://help.chargify.com/products/product-components.html) for an overview of pricing schemes. |
| `Prices` | [`List`](../../doc/models/price.md) | Optional | (Not required for ‘per_unit’ pricing schemes) One or more price brackets. See [Price Bracket Rules](https://maxio.zendesk.com/hc/en-us/articles/24261149166733-Component-Pricing-Schemes#price-bracket-rules) for an overview of how price brackets work for different pricing schemes. |
diff --git a/doc/models/group-billing.md b/doc/models/group-billing.md
index 9c0d6fa0..8fdd5886 100644
--- a/doc/models/group-billing.md
+++ b/doc/models/group-billing.md
@@ -11,9 +11,9 @@ Optional attributes related to billing date and accrual. Note: Only applicable f
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
-| `Accrue` | `bool?` | Optional | A flag indicating whether or not to accrue charges on the new subscription.
**Default**: `false` |
-| `AlignDate` | `bool?` | Optional | A flag indicating whether or not to align the billing date of the new subscription with the billing date of the primary subscription of the hierarchy's default subscription group. Required to be true if prorate is also true.
**Default**: `false` |
-| `Prorate` | `bool?` | Optional | A flag indicating whether or not to prorate billing of the new subscription for the current period. A value of true is ignored unless align_date is also true.
**Default**: `false` |
+| `Accrue` | `bool?` | Optional | A flag indicating whether or not to accrue charges on the new subscription.
**Default**: `false` |
+| `AlignDate` | `bool?` | Optional | A flag indicating whether or not to align the billing date of the new subscription with the billing date of the primary subscription of the hierarchy's default subscription group. Required to be true if prorate is also true.
**Default**: `false` |
+| `Prorate` | `bool?` | Optional | A flag indicating whether or not to prorate billing of the new subscription for the current period. A value of true is ignored unless align_date is also true.
**Default**: `false` |
## Example (as JSON)
diff --git a/doc/models/issue-invoice-request.md b/doc/models/issue-invoice-request.md
index 1d4a9853..4c929b1e 100644
--- a/doc/models/issue-invoice-request.md
+++ b/doc/models/issue-invoice-request.md
@@ -9,7 +9,7 @@
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
-| `OnFailedPayment` | [`FailedPaymentAction?`](../../doc/models/failed-payment-action.md) | Optional | Action taken when payment for an invoice fails:
- `leave_open_invoice` - prepayments and credits applied to invoice; invoice status set to "open"; email sent to the customer for the issued invoice (if setting applies); payment failure recorded in the invoice history. This is the default option.
- `rollback_to_pending` - prepayments and credits not applied; invoice remains in "pending" status; no email sent to the customer; payment failure recorded in the invoice history.
- `initiate_dunning` - prepayments and credits applied to the invoice; invoice status set to "open"; email sent to the customer for the issued invoice (if setting applies); payment failure recorded in the invoice history; subscription will most likely go into "past_due" or "canceled" state (depending upon net terms and dunning settings).
**Default**: `FailedPaymentAction.leave_open_invoice` |
+| `OnFailedPayment` | [`FailedPaymentAction?`](../../doc/models/failed-payment-action.md) | Optional | Action taken when payment for an invoice fails:
- `leave_open_invoice` - prepayments and credits applied to invoice; invoice status set to "open"; email sent to the customer for the issued invoice (if setting applies); payment failure recorded in the invoice history. This is the default option.
- `rollback_to_pending` - prepayments and credits not applied; invoice remains in "pending" status; no email sent to the customer; payment failure recorded in the invoice history.
- `initiate_dunning` - prepayments and credits applied to the invoice; invoice status set to "open"; email sent to the customer for the issued invoice (if setting applies); payment failure recorded in the invoice history; subscription will most likely go into "past_due" or "canceled" state (depending upon net terms and dunning settings).
**Default**: `FailedPaymentAction.leave_open_invoice` |
## Example (as JSON)
diff --git a/doc/models/list-components-filter.md b/doc/models/list-components-filter.md
index 0830e758..9b6eef08 100644
--- a/doc/models/list-components-filter.md
+++ b/doc/models/list-components-filter.md
@@ -9,7 +9,7 @@
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
-| `Ids` | `List` | Optional | Allows fetching components with matching id based on provided value. Use in query `filter[ids]=1,2,3`.
**Constraints**: *Minimum Items*: `1` |
+| `Ids` | `List` | Optional | Allows fetching components with matching id based on provided value. Use in query `filter[ids]=1,2,3`.
**Constraints**: *Minimum Items*: `1` |
| `UseSiteExchangeRate` | `bool?` | Optional | Allows fetching components with matching use_site_exchange_rate based on provided value (refers to default price point). Use in query `filter[use_site_exchange_rate]=true`. |
## Example (as JSON)
diff --git a/doc/models/list-coupons-filter.md b/doc/models/list-coupons-filter.md
index 09170a06..7e1bbd0f 100644
--- a/doc/models/list-coupons-filter.md
+++ b/doc/models/list-coupons-filter.md
@@ -14,7 +14,7 @@
| `EndDate` | `DateTime?` | Optional | The end date (format YYYY-MM-DD) with which to filter the date_field. Returns coupons with a timestamp up to and including 11:59:59PM in your site’s time zone on the date specified. Use in query `filter[end_date]=2011-12-15`. |
| `StartDatetime` | `DateTimeOffset?` | Optional | The start date and time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns coupons with a timestamp at or after exact time provided in query. You can specify timezone in query - otherwise your site's time zone will be used. If provided, this parameter will be used instead of start_date. Use in query `filter[start_datetime]=2011-12-19T10:15:30+01:00`. |
| `EndDatetime` | `DateTimeOffset?` | Optional | The end date and time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns coupons with a timestamp at or before exact time provided in query. You can specify timezone in query - otherwise your site's time zone will be used. If provided, this parameter will be used instead of end_date. Use in query `filter[end_datetime]=2011-12-1T10:15:30+01:00`. |
-| `Ids` | `List` | Optional | Allows fetching coupons with matching id based on provided values. Use in query `filter[ids]=1,2,3`.
**Constraints**: *Minimum Items*: `1` |
+| `Ids` | `List` | Optional | Allows fetching coupons with matching id based on provided values. Use in query `filter[ids]=1,2,3`.
**Constraints**: *Minimum Items*: `1` |
| `Codes` | `List` | Optional | Allows fetching coupons with matching codes based on provided values. Use in query `filter[codes]=free,free_trial`. |
| `UseSiteExchangeRate` | `bool?` | Optional | Allows fetching coupons with matching use_site_exchange_rate based on provided value. Use in query `filter[use_site_exchange_rate]=true`. |
diff --git a/doc/models/list-mrr-filter.md b/doc/models/list-mrr-filter.md
index f687c0bb..59b62a13 100644
--- a/doc/models/list-mrr-filter.md
+++ b/doc/models/list-mrr-filter.md
@@ -9,7 +9,7 @@
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
-| `SubscriptionIds` | `List` | Optional | Submit ids in order to limit results. Use in query: `filter[subscription_ids]=1,2,3`.
**Constraints**: *Minimum Items*: `1` |
+| `SubscriptionIds` | `List` | Optional | Submit ids in order to limit results. Use in query: `filter[subscription_ids]=1,2,3`.
**Constraints**: *Minimum Items*: `1` |
## Example (as JSON)
diff --git a/doc/models/list-products-filter.md b/doc/models/list-products-filter.md
index 37a8e5f4..d7b08b9d 100644
--- a/doc/models/list-products-filter.md
+++ b/doc/models/list-products-filter.md
@@ -9,7 +9,7 @@
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
-| `Ids` | `List` | Optional | Allows fetching products with matching id based on provided values. Use in query `filter[ids]=1,2,3`.
**Constraints**: *Minimum Items*: `1` |
+| `Ids` | `List` | Optional | Allows fetching products with matching id based on provided values. Use in query `filter[ids]=1,2,3`.
**Constraints**: *Minimum Items*: `1` |
| `PrepaidProductPricePoint` | [`PrepaidProductPricePointFilter`](../../doc/models/prepaid-product-price-point-filter.md) | Optional | Allows fetching products only if a prepaid product price point is present or not. To use this filter you also have to include the following param in the request `include=prepaid_product_price_point`. Use in query `filter[prepaid_product_price_point][product_price_point_id]=not_null`. |
| `UseSiteExchangeRate` | `bool?` | Optional | Allows fetching products with matching use_site_exchange_rate based on provided value (refers to default price point). Use in query `filter[use_site_exchange_rate]=true`. |
diff --git a/doc/models/list-service-credits-response.md b/doc/models/list-service-credits-response.md
new file mode 100644
index 00000000..9a827695
--- /dev/null
+++ b/doc/models/list-service-credits-response.md
@@ -0,0 +1,36 @@
+
+# List Service Credits Response
+
+## Structure
+
+`ListServiceCreditsResponse`
+
+## Fields
+
+| Name | Type | Tags | Description |
+| --- | --- | --- | --- |
+| `ServiceCredits` | [`List`](../../doc/models/service-credit-1.md) | Optional | - |
+
+## Example (as JSON)
+
+```json
+{
+ "service_credits": [
+ {
+ "id": 224,
+ "amount_in_cents": 54,
+ "ending_balance_in_cents": 94,
+ "entry_type": "Credit",
+ "memo": "memo2"
+ },
+ {
+ "id": 224,
+ "amount_in_cents": 54,
+ "ending_balance_in_cents": 94,
+ "entry_type": "Credit",
+ "memo": "memo2"
+ }
+ ]
+}
+```
+
diff --git a/doc/models/list-subscription-components-filter.md b/doc/models/list-subscription-components-filter.md
index 8fa824a1..d686c049 100644
--- a/doc/models/list-subscription-components-filter.md
+++ b/doc/models/list-subscription-components-filter.md
@@ -9,7 +9,7 @@
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
-| `Currencies` | `List` | Optional | Allows fetching components allocation with matching currency based on provided values. Use in query `filter[currencies]=EUR,USD`.
**Constraints**: *Minimum Items*: `1` |
+| `Currencies` | `List` | Optional | Allows fetching components allocation with matching currency based on provided values. Use in query `filter[currencies]=EUR,USD`.
**Constraints**: *Minimum Items*: `1` |
| `UseSiteExchangeRate` | `bool?` | Optional | Allows fetching components allocation with matching use_site_exchange_rate based on provided value. Use in query `filter[use_site_exchange_rate]=true`. |
## Example (as JSON)
diff --git a/doc/models/list-subscription-components-for-site-filter.md b/doc/models/list-subscription-components-for-site-filter.md
index c9e9d6f3..cd6d7d74 100644
--- a/doc/models/list-subscription-components-for-site-filter.md
+++ b/doc/models/list-subscription-components-for-site-filter.md
@@ -9,7 +9,7 @@
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
-| `Currencies` | `List` | Optional | Allows fetching components allocation with matching currency based on provided values. Use in query `filter[currencies]=USD,EUR`.
**Constraints**: *Minimum Items*: `1` |
+| `Currencies` | `List` | Optional | Allows fetching components allocation with matching currency based on provided values. Use in query `filter[currencies]=USD,EUR`.
**Constraints**: *Minimum Items*: `1` |
| `UseSiteExchangeRate` | `bool?` | Optional | Allows fetching components allocation with matching use_site_exchange_rate based on provided value. Use in query `filter[use_site_exchange_rate]=true`. |
| `Subscription` | [`SubscriptionFilter`](../../doc/models/subscription-filter.md) | Optional | Nested filter used for List Subscription Components For Site Filter |
diff --git a/doc/models/metered-component.md b/doc/models/metered-component.md
index 0aa25d70..f86f05e3 100644
--- a/doc/models/metered-component.md
+++ b/doc/models/metered-component.md
@@ -12,7 +12,7 @@
| `Name` | `string` | Required | A name for this component that is suitable for showing customers and displaying on billing statements, ie. "Minutes". |
| `UnitName` | `string` | Required | The name of the unit of measurement for the component. It should be singular since it will be automatically pluralized when necessary. i.e. “message”, which may then be shown as “5 messages” on a subscription’s component line-item |
| `Description` | `string` | Optional | A description for the component that will be displayed to the user on the hosted signup page. |
-| `Handle` | `string` | Optional | A unique identifier for your use that can be used to retrieve this component is subsequent requests. Must start with a letter or number and may only contain lowercase letters, numbers, or the characters '.', ':', '-', or '_'.
**Constraints**: *Pattern*: `^[a-z0-9][a-z0-9\-_:.]*$` |
+| `Handle` | `string` | Optional | A unique identifier for your use that can be used to retrieve this component is subsequent requests. Must start with a letter or number and may only contain lowercase letters, numbers, or the characters '.', ':', '-', or '_'.
**Constraints**: *Pattern*: `^[a-z0-9][a-z0-9\-_:.]*$` |
| `Taxable` | `bool?` | Optional | Boolean flag describing whether a component is taxable or not. |
| `PricingScheme` | [`PricingScheme`](../../doc/models/pricing-scheme.md) | Required | The identifier for the pricing scheme. See [Product Components](https://help.chargify.com/products/product-components.html) for an overview of pricing schemes. |
| `Prices` | [`List`](../../doc/models/price.md) | Optional | (Not required for ‘per_unit’ pricing schemes) One or more price brackets. See [Price Bracket Rules](https://maxio.zendesk.com/hc/en-us/articles/24261149166733-Component-Pricing-Schemes#price-bracket-rules) for an overview of how price brackets work for different pricing schemes. |
diff --git a/doc/models/on-off-component.md b/doc/models/on-off-component.md
index 4ed9c523..9da3a2db 100644
--- a/doc/models/on-off-component.md
+++ b/doc/models/on-off-component.md
@@ -11,7 +11,7 @@
| --- | --- | --- | --- |
| `Name` | `string` | Required | A name for this component that is suitable for showing customers and displaying on billing statements, ie. "Minutes". |
| `Description` | `string` | Optional | A description for the component that will be displayed to the user on the hosted signup page. |
-| `Handle` | `string` | Optional | A unique identifier for your use that can be used to retrieve this component is subsequent requests. Must start with a letter or number and may only contain lowercase letters, numbers, or the characters '.', ':', '-', or '_'.
**Constraints**: *Pattern*: `^[a-z0-9][a-z0-9\-_:.]*$` |
+| `Handle` | `string` | Optional | A unique identifier for your use that can be used to retrieve this component is subsequent requests. Must start with a letter or number and may only contain lowercase letters, numbers, or the characters '.', ':', '-', or '_'.
**Constraints**: *Pattern*: `^[a-z0-9][a-z0-9\-_:.]*$` |
| `Taxable` | `bool?` | Optional | Boolean flag describing whether a component is taxable or not. |
| `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.
Available values: `full`, `prorated`, `none`. |
| `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.
Available values: `full`, `prorated`, `none`. |
diff --git a/doc/models/override-subscription.md b/doc/models/override-subscription.md
index a7b90a3a..113b0c29 100644
--- a/doc/models/override-subscription.md
+++ b/doc/models/override-subscription.md
@@ -12,7 +12,7 @@
| `ActivatedAt` | `DateTimeOffset?` | Optional | Can be used to record an external signup date. Chargify uses this field to record when a subscription first goes active (either at signup or at trial end). Only ISO8601 format is supported. |
| `CanceledAt` | `DateTimeOffset?` | Optional | Can be used to record an external cancellation date. Chargify sets this field automatically when a subscription is canceled, whether by request or via dunning. Only ISO8601 format is supported. |
| `CancellationMessage` | `string` | Optional | Can be used to record a reason for the original cancellation. |
-| `ExpiresAt` | `DateTimeOffset?` | Optional | Can be used to record an external expiration date. Chargify sets this field automatically when a subscription expires (ceases billing) after a prescribed amount of time. Only ISO8601 format is supported. |
+| `ExpiresAt` | `DateTimeOffset?` | Optional | Can be used to record an external expiration date. Chargify sets this field automatically when a subscription expires (ceases billing) after a prescribed amount of time. Only ISO8601 format is supported. This field is not supported when Multi-frequency is enabled for the Site. To change the Term End of a Subscription, use the Update Subscription endpoint. |
| `CurrentPeriodStartsAt` | `DateTimeOffset?` | Optional | Can only be used when a subscription is unbilled, which happens when a future initial billing date is passed at subscription creation. The value passed must be before the current date and time. Allows you to set when the period started so mid period component allocations have the correct proration. Only ISO8601 format is supported. |
## Example (as JSON)
diff --git a/doc/models/paypal-payment-profile.md b/doc/models/paypal-payment-profile.md
index 8ced9094..0b605d42 100644
--- a/doc/models/paypal-payment-profile.md
+++ b/doc/models/paypal-payment-profile.md
@@ -26,6 +26,8 @@
| `SiteGatewaySettingId` | `int?` | Optional | - |
| `GatewayHandle` | `string` | Optional | - |
| `PaypalEmail` | `string` | Optional | - |
+| `CreatedAt` | `DateTimeOffset?` | Optional | A timestamp indicating when this payment profile was created |
+| `UpdatedAt` | `DateTimeOffset?` | Optional | A timestamp indicating when this payment profile was last updated |
## Example (as JSON)
diff --git a/doc/models/prepaid-product-price-point-filter.md b/doc/models/prepaid-product-price-point-filter.md
index cc51bb33..13bdba11 100644
--- a/doc/models/prepaid-product-price-point-filter.md
+++ b/doc/models/prepaid-product-price-point-filter.md
@@ -9,7 +9,7 @@
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
-| `ProductPricePointId` | `string` | Required, Constant | Passed as a parameter to list methods to return only non null values.
**Value**: `"not_null"` |
+| `ProductPricePointId` | `string` | Required, Constant | Passed as a parameter to list methods to return only non null values.
**Value**: `"not_null"` |
## Example (as JSON)
diff --git a/doc/models/prepaid-usage-component.md b/doc/models/prepaid-usage-component.md
index df4d08fa..a755ddf7 100644
--- a/doc/models/prepaid-usage-component.md
+++ b/doc/models/prepaid-usage-component.md
@@ -12,7 +12,7 @@
| `Name` | `string` | Required | A name for this component that is suitable for showing customers and displaying on billing statements, ie. "Minutes". |
| `UnitName` | `string` | Required | The name of the unit of measurement for the component. It should be singular since it will be automatically pluralized when necessary. i.e. “message”, which may then be shown as “5 messages” on a subscription’s component line-item |
| `Description` | `string` | Optional | A description for the component that will be displayed to the user on the hosted signup page. |
-| `Handle` | `string` | Optional | A unique identifier for your use that can be used to retrieve this component is subsequent requests. Must start with a letter or number and may only contain lowercase letters, numbers, or the characters '.', ':', '-', or '_'.
**Constraints**: *Pattern*: `^[a-z0-9][a-z0-9\-_:.]*$` |
+| `Handle` | `string` | Optional | A unique identifier for your use that can be used to retrieve this component is subsequent requests. Must start with a letter or number and may only contain lowercase letters, numbers, or the characters '.', ':', '-', or '_'.
**Constraints**: *Pattern*: `^[a-z0-9][a-z0-9\-_:.]*$` |
| `Taxable` | `bool?` | Optional | Boolean flag describing whether a component is taxable or not. |
| `PricingScheme` | [`PricingScheme`](../../doc/models/pricing-scheme.md) | Required | The identifier for the pricing scheme. See [Product Components](https://help.chargify.com/products/product-components.html) for an overview of pricing schemes. |
| `Prices` | [`List`](../../doc/models/price.md) | Optional | (Not required for ‘per_unit’ pricing schemes) One or more price brackets. See [Price Bracket Rules](https://maxio.zendesk.com/hc/en-us/articles/24261149166733-Component-Pricing-Schemes#price-bracket-rules) for an overview of how price brackets work for different pricing schemes. |
diff --git a/doc/models/quantity-based-component.md b/doc/models/quantity-based-component.md
index 7ba13485..2ef4b368 100644
--- a/doc/models/quantity-based-component.md
+++ b/doc/models/quantity-based-component.md
@@ -12,7 +12,7 @@
| `Name` | `string` | Required | A name for this component that is suitable for showing customers and displaying on billing statements, ie. "Minutes". |
| `UnitName` | `string` | Required | The name of the unit of measurement for the component. It should be singular since it will be automatically pluralized when necessary. i.e. “message”, which may then be shown as “5 messages” on a subscription’s component line-item |
| `Description` | `string` | Optional | A description for the component that will be displayed to the user on the hosted signup page. |
-| `Handle` | `string` | Optional | A unique identifier for your use that can be used to retrieve this component is subsequent requests. Must start with a letter or number and may only contain lowercase letters, numbers, or the characters '.', ':', '-', or '_'.
**Constraints**: *Pattern*: `^[a-z0-9][a-z0-9\-_:.]*$` |
+| `Handle` | `string` | Optional | A unique identifier for your use that can be used to retrieve this component is subsequent requests. Must start with a letter or number and may only contain lowercase letters, numbers, or the characters '.', ':', '-', or '_'.
**Constraints**: *Pattern*: `^[a-z0-9][a-z0-9\-_:.]*$` |
| `Taxable` | `bool?` | Optional | Boolean flag describing whether a component is taxable or not. |
| `PricingScheme` | [`PricingScheme`](../../doc/models/pricing-scheme.md) | Required | The identifier for the pricing scheme. See [Product Components](https://help.chargify.com/products/product-components.html) for an overview of pricing schemes. |
| `Prices` | [`List`](../../doc/models/price.md) | Optional | (Not required for ‘per_unit’ pricing schemes) One or more price brackets. See [Price Bracket Rules](https://maxio.zendesk.com/hc/en-us/articles/24261149166733-Component-Pricing-Schemes#price-bracket-rules) for an overview of how price brackets work for different pricing schemes. |
diff --git a/doc/models/reactivation-billing.md b/doc/models/reactivation-billing.md
index f9d94555..74a42a50 100644
--- a/doc/models/reactivation-billing.md
+++ b/doc/models/reactivation-billing.md
@@ -11,7 +11,7 @@ These values are only applicable to subscriptions using calendar billing
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
-| `ReactivationCharge` | [`ReactivationCharge?`](../../doc/models/reactivation-charge.md) | Optional | You may choose how to handle the reactivation charge for that subscription: 1) `prorated` A prorated charge for the product price will be attempted for to complete the period 2) `immediate` A full-price charge for the product price will be attempted immediately 3) `delayed` A full-price charge for the product price will be attempted at the next renewal
**Default**: `ReactivationCharge.prorated` |
+| `ReactivationCharge` | [`ReactivationCharge?`](../../doc/models/reactivation-charge.md) | Optional | You may choose how to handle the reactivation charge for that subscription: 1) `prorated` A prorated charge for the product price will be attempted for to complete the period 2) `immediate` A full-price charge for the product price will be attempted immediately 3) `delayed` A full-price charge for the product price will be attempted at the next renewal
**Default**: `ReactivationCharge.prorated` |
## Example (as JSON)
diff --git a/doc/models/service-credit-1.md b/doc/models/service-credit-1.md
new file mode 100644
index 00000000..d0612052
--- /dev/null
+++ b/doc/models/service-credit-1.md
@@ -0,0 +1,32 @@
+
+# Service Credit 1
+
+## Structure
+
+`ServiceCredit1`
+
+## Fields
+
+| Name | Type | Tags | Description |
+| --- | --- | --- | --- |
+| `Id` | `int?` | Optional | - |
+| `AmountInCents` | `long?` | Optional | The amount in cents of the entry |
+| `EndingBalanceInCents` | `long?` | Optional | The new balance for the credit account |
+| `EntryType` | [`ServiceCreditType?`](../../doc/models/service-credit-type.md) | Optional | The type of entry |
+| `Memo` | `string` | Optional | The memo attached to the entry |
+| `InvoiceUid` | `string` | Optional | The invoice uid associated with the entry. Only present for debit entries |
+| `RemainingBalanceInCents` | `long?` | Optional | The remaining balance for the entry |
+| `CreatedAt` | `DateTimeOffset?` | Optional | The date and time the entry was created |
+
+## Example (as JSON)
+
+```json
+{
+ "id": 174,
+ "amount_in_cents": 4,
+ "ending_balance_in_cents": 44,
+ "entry_type": "Credit",
+ "memo": "memo8"
+}
+```
+
diff --git a/doc/models/subscription-filter.md b/doc/models/subscription-filter.md
index 2fb0d82b..339a88d2 100644
--- a/doc/models/subscription-filter.md
+++ b/doc/models/subscription-filter.md
@@ -11,7 +11,7 @@ Nested filter used for List Subscription Components For Site Filter
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
-| `States` | [`List`](../../doc/models/subscription-state-filter.md) | Optional | Allows fetching components allocations that belong to the subscription with matching states based on provided values. To use this filter you also have to include the following param in the request `include=subscription`. Use in query `filter[subscription][states]=active,canceled&include=subscription`.
**Constraints**: *Minimum Items*: `1` |
+| `States` | [`List`](../../doc/models/subscription-state-filter.md) | Optional | Allows fetching components allocations that belong to the subscription with matching states based on provided values. To use this filter you also have to include the following param in the request `include=subscription`. Use in query `filter[subscription][states]=active,canceled&include=subscription`.
**Constraints**: *Minimum Items*: `1` |
| `DateField` | [`SubscriptionListDateField?`](../../doc/models/subscription-list-date-field.md) | Optional | The type of filter you'd like to apply to your search. To use this filter you also have to include the following param in the request `include=subscription`. |
| `StartDate` | `DateTime?` | Optional | The start date (format YYYY-MM-DD) with which to filter the date_field. Returns components that belong to the subscription with a timestamp at or after midnight (12:00:00 AM) in your site’s time zone on the date specified. To use this filter you also have to include the following param in the request `include=subscription`. |
| `EndDate` | `DateTime?` | Optional | The end date (format YYYY-MM-DD) with which to filter the date_field. Returns components that belong to the subscription with a timestamp up to and including 11:59:59PM in your site’s time zone on the date specified. To use this filter you also have to include the following param in the request `include=subscription`. |
diff --git a/doc/models/subscription-group-credit-card.md b/doc/models/subscription-group-credit-card.md
index 0464b011..be864b07 100644
--- a/doc/models/subscription-group-credit-card.md
+++ b/doc/models/subscription-group-credit-card.md
@@ -9,9 +9,6 @@
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
-| `FullNumber` | [`SubscriptionGroupCreditCardFullNumber`](../../doc/models/containers/subscription-group-credit-card-full-number.md) | Optional | This is a container for one-of cases. |
-| `ExpirationMonth` | [`SubscriptionGroupCreditCardExpirationMonth`](../../doc/models/containers/subscription-group-credit-card-expiration-month.md) | Optional | This is a container for one-of cases. |
-| `ExpirationYear` | [`SubscriptionGroupCreditCardExpirationYear`](../../doc/models/containers/subscription-group-credit-card-expiration-year.md) | Optional | This is a container for one-of cases. |
| `ChargifyToken` | `string` | Optional | - |
| `VaultToken` | `string` | Optional | - |
| `CurrentVault` | [`CreditCardVault?`](../../doc/models/credit-card-vault.md) | Optional | The vault that stores the payment profile with the provided `vault_token`. Use `bogus` for testing. |
@@ -24,6 +21,9 @@
| `BillingState` | `string` | Optional | - |
| `BillingZip` | `string` | Optional | - |
| `BillingCountry` | `string` | Optional | - |
+| `FullNumber` | [`SubscriptionGroupCreditCardFullNumber`](../../doc/models/containers/subscription-group-credit-card-full-number.md) | Optional | This is a container for one-of cases. |
+| `ExpirationMonth` | [`SubscriptionGroupCreditCardExpirationMonth`](../../doc/models/containers/subscription-group-credit-card-expiration-month.md) | Optional | This is a container for one-of cases. |
+| `ExpirationYear` | [`SubscriptionGroupCreditCardExpirationYear`](../../doc/models/containers/subscription-group-credit-card-expiration-year.md) | Optional | This is a container for one-of cases. |
| `LastFour` | `string` | Optional | - |
| `CardType` | [`CardType?`](../../doc/models/card-type.md) | Optional | The type of card used. |
| `CustomerVaultToken` | `string` | Optional | - |
@@ -34,11 +34,12 @@
```json
{
- "full_number": 4111111111111111,
"chargify_token": "tok_592nf92ng0sjd4300p",
- "expiration_month": "String1",
- "expiration_year": "String5",
- "vault_token": "vault_token6"
+ "full_number": 4111111111111111,
+ "vault_token": "vault_token6",
+ "current_vault": "braintree_blue",
+ "gateway_handle": "gateway_handle6",
+ "first_name": "first_name4"
}
```
diff --git a/doc/models/subscription-migration-preview-options.md b/doc/models/subscription-migration-preview-options.md
index e17c01dc..ec99f0be 100644
--- a/doc/models/subscription-migration-preview-options.md
+++ b/doc/models/subscription-migration-preview-options.md
@@ -11,10 +11,10 @@
| --- | --- | --- | --- |
| `ProductId` | `int?` | Optional | The ID of the target Product. Either a product_id or product_handle must be present. A Subscription can be migrated to another product for both the current Product Family and another Product Family. Note: Going to another Product Family, components will not be migrated as well. |
| `ProductPricePointId` | `int?` | Optional | The ID of the specified product's price point. This can be passed to migrate to a non-default price point. |
-| `IncludeTrial` | `bool?` | Optional | Whether to include the trial period configured for the product price point when starting a new billing period. Note that if preserve_period is set, then include_trial will be ignored.
**Default**: `false` |
-| `IncludeInitialCharge` | `bool?` | Optional | If `true` is sent initial charges will be assessed.
**Default**: `false` |
-| `IncludeCoupons` | `bool?` | Optional | If `true` is sent, any coupons associated with the subscription will be applied to the migration. If `false` is sent, coupons will not be applied. Note: When migrating to a new product family, the coupon cannot migrate.
**Default**: `true` |
-| `PreservePeriod` | `bool?` | Optional | If `false` is sent, the subscription's billing period will be reset to today and the full price of the new product will be charged. If `true` is sent, the billing period will not change and a prorated charge will be issued for the new product.
**Default**: `false` |
+| `IncludeTrial` | `bool?` | Optional | Whether to include the trial period configured for the product price point when starting a new billing period. Note that if preserve_period is set, then include_trial will be ignored.
**Default**: `false` |
+| `IncludeInitialCharge` | `bool?` | Optional | If `true` is sent initial charges will be assessed.
**Default**: `false` |
+| `IncludeCoupons` | `bool?` | Optional | If `true` is sent, any coupons associated with the subscription will be applied to the migration. If `false` is sent, coupons will not be applied. Note: When migrating to a new product family, the coupon cannot migrate.
**Default**: `true` |
+| `PreservePeriod` | `bool?` | Optional | If `false` is sent, the subscription's billing period will be reset to today and the full price of the new product will be charged. If `true` is sent, the billing period will not change and a prorated charge will be issued for the new product.
**Default**: `false` |
| `ProductHandle` | `string` | Optional | The handle of the target Product. Either a product_id or product_handle must be present. A Subscription can be migrated to another product for both the current Product Family and another Product Family. Note: Going to another Product Family, components will not be migrated as well. |
| `ProductPricePointHandle` | `string` | Optional | The ID or handle of the specified product's price point. This can be passed to migrate to a non-default price point. |
| `Proration` | [`Proration`](../../doc/models/proration.md) | Optional | - |
diff --git a/doc/models/subscription-product-migration.md b/doc/models/subscription-product-migration.md
index 63243764..b0fe744d 100644
--- a/doc/models/subscription-product-migration.md
+++ b/doc/models/subscription-product-migration.md
@@ -11,10 +11,10 @@
| --- | --- | --- | --- |
| `ProductId` | `int?` | Optional | The ID of the target Product. Either a product_id or product_handle must be present. A Subscription can be migrated to another product for both the current Product Family and another Product Family. Note: Going to another Product Family, components will not be migrated as well. |
| `ProductPricePointId` | `int?` | Optional | The ID of the specified product's price point. This can be passed to migrate to a non-default price point. |
-| `IncludeTrial` | `bool?` | Optional | Whether to include the trial period configured for the product price point when starting a new billing period. Note that if preserve_period is set, then include_trial will be ignored.
**Default**: `false` |
-| `IncludeInitialCharge` | `bool?` | Optional | If `true` is sent initial charges will be assessed.
**Default**: `false` |
-| `IncludeCoupons` | `bool?` | Optional | If `true` is sent, any coupons associated with the subscription will be applied to the migration. If `false` is sent, coupons will not be applied. Note: When migrating to a new product family, the coupon cannot migrate.
**Default**: `true` |
-| `PreservePeriod` | `bool?` | Optional | If `false` is sent, the subscription's billing period will be reset to today and the full price of the new product will be charged. If `true` is sent, the billing period will not change and a prorated charge will be issued for the new product.
**Default**: `false` |
+| `IncludeTrial` | `bool?` | Optional | Whether to include the trial period configured for the product price point when starting a new billing period. Note that if preserve_period is set, then include_trial will be ignored.
**Default**: `false` |
+| `IncludeInitialCharge` | `bool?` | Optional | If `true` is sent initial charges will be assessed.
**Default**: `false` |
+| `IncludeCoupons` | `bool?` | Optional | If `true` is sent, any coupons associated with the subscription will be applied to the migration. If `false` is sent, coupons will not be applied. Note: When migrating to a new product family, the coupon cannot migrate.
**Default**: `true` |
+| `PreservePeriod` | `bool?` | Optional | If `false` is sent, the subscription's billing period will be reset to today and the full price of the new product will be charged. If `true` is sent, the billing period will not change and a prorated charge will be issued for the new product.
**Default**: `false` |
| `ProductHandle` | `string` | Optional | The handle of the target Product. Either a product_id or product_handle must be present. A Subscription can be migrated to another product for both the current Product Family and another Product Family. Note: Going to another Product Family, components will not be migrated as well. |
| `ProductPricePointHandle` | `string` | Optional | The ID or handle of the specified product's price point. This can be passed to migrate to a non-default price point. |
| `Proration` | [`Proration`](../../doc/models/proration.md) | Optional | - |
diff --git a/doc/models/tax-configuration.md b/doc/models/tax-configuration.md
index 3a9f1965..1378b062 100644
--- a/doc/models/tax-configuration.md
+++ b/doc/models/tax-configuration.md
@@ -11,7 +11,7 @@
| --- | --- | --- | --- |
| `Kind` | [`TaxConfigurationKind?`](../../doc/models/tax-configuration-kind.md) | Optional | **Default**: `TaxConfigurationKind.custom` |
| `DestinationAddress` | [`TaxDestinationAddress?`](../../doc/models/tax-destination-address.md) | Optional | - |
-| `FullyConfigured` | `bool?` | Optional | Returns `true` when Chargify has been properly configured to charge tax using the specified tax system. More details about taxes: https://maxio.zendesk.com/hc/en-us/articles/24287012608909-Taxes-Overview
**Default**: `false` |
+| `FullyConfigured` | `bool?` | Optional | Returns `true` when Chargify has been properly configured to charge tax using the specified tax system. More details about taxes: https://maxio.zendesk.com/hc/en-us/articles/24287012608909-Taxes-Overview
**Default**: `false` |
## Example (as JSON)
diff --git a/doc/models/update-subscription-request.md b/doc/models/update-subscription-request.md
index 5b5dc792..5aaf53f7 100644
--- a/doc/models/update-subscription-request.md
+++ b/doc/models/update-subscription-request.md
@@ -16,6 +16,7 @@
```json
{
"subscription": {
+ "defer_signup": false,
"dunning_communication_delay_time_zone": "\"Eastern Time (US & Canada)\"",
"credit_card_attributes": {
"full_number": "full_number2",
diff --git a/doc/models/update-subscription.md b/doc/models/update-subscription.md
index 434d2e26..526627ba 100644
--- a/doc/models/update-subscription.md
+++ b/doc/models/update-subscription.md
@@ -16,7 +16,10 @@
| `NextProductId` | `string` | Optional | Set to an empty string to cancel a delayed product change. |
| `NextProductPricePointId` | `string` | Optional | - |
| `SnapDay` | [`UpdateSubscriptionSnapDay`](../../doc/models/containers/update-subscription-snap-day.md) | Optional | This is a container for one-of cases. |
+| `InitialBillingAt` | `DateTimeOffset?` | Optional | (Optional) Set this attribute to a future date/time to update a subscription in the Awaiting Signup Date state, to Awaiting Signup. In the Awaiting Signup state, a subscription behaves like any other. It can be canceled, allocated to, or have its billing date changed. etc. When the `initial_billing_at` date hits, the subscription will transition to the expected state. If the product has a trial, the subscription will enter a trial, otherwise it will go active. Setup fees will be respected either before or after the trial, as configured on the price point. If the payment is due at the initial_billing_at and it fails the subscription will be immediately canceled. You can omit the initial_billing_at date to activate the subscription immediately. See the [subscription import](https://maxio.zendesk.com/hc/en-us/articles/24251489107213-Advanced-Billing-Subscription-Imports#date-format) documentation for more information about Date/Time formats. |
+| `DeferSignup` | `bool?` | Optional | (Optional) Set this attribute to true to move the subscription from Awaiting Signup, to Awaiting Signup Date. Use this when you want to update a subscription that has an unknown initial billing date. When the first billing date is known, update a subscription to set the `initial_billing_at` date. The subscription moves to the awaiting signup with a scheduled initial billing date. You can omit the initial_billing_at date to activate the subscription immediately. See [Subscription States](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404222005773-Subscription-States) for more information.
**Default**: `false` |
| `NextBillingAt` | `DateTimeOffset?` | Optional | - |
+| `ExpiresAt` | `DateTimeOffset?` | Optional | Timestamp giving the expiration date of this subscription (if any). You may manually change the expiration date at any point during a subscription period. |
| `PaymentCollectionMethod` | `string` | Optional | - |
| `ReceivesInvoiceEmails` | `bool?` | Optional | - |
| `NetTerms` | [`UpdateSubscriptionNetTerms`](../../doc/models/containers/update-subscription-net-terms.md) | Optional | This is a container for one-of cases. |
@@ -33,6 +36,7 @@
```json
{
+ "defer_signup": false,
"dunning_communication_delay_time_zone": "\"Eastern Time (US & Canada)\"",
"credit_card_attributes": {
"full_number": "full_number2",
diff --git a/doc/proxy-configuration-builder.md b/doc/proxy-configuration-builder.md
new file mode 100644
index 00000000..62fa7200
--- /dev/null
+++ b/doc/proxy-configuration-builder.md
@@ -0,0 +1,34 @@
+
+# ProxyConfigurationBuilder
+
+Represents the proxy server configurations for API calls. Start building by using `new ProxyConfigurationBuilder("http://your.proxy.host")`.
+
+## Builder Methods
+
+| Name | Description | Return Type |
+| --- | --- | --- |
+| Port(int port) | Sets the port used to connect to the proxy server. Default is `8080`. | Builder |
+| Auth(string user, string pass) | Sets both username and password in a single method. | Builder |
+| Tunnel(bool tunnel) | Enables or disables HTTP tunneling through the proxy server. | Builder |
+
+### Client Initialization with Proxy Configuration
+
+To configure the SDK to use a proxy server, initialize the proxy configuration during client setup as shown in the Usage Example.
+
+## Usage Example
+
+```csharp
+using AdvancedBilling.Standard;
+using AdvancedBilling.Standard.Http.Client.Proxy;
+
+ var client = new AdvancedBillingClient.Builder()
+ .HttpClientConfig(config => config
+ .Proxy(new ProxyConfigurationBuilder("http://localhost")
+ .Port(8080)
+ .Tunnel(false)
+ .Auth("user", "pass")
+ )
+ )
+ .Build();
+```
+
diff --git a/doc/unix-date-time-converter.md b/doc/unix-date-time-converter.md
new file mode 100644
index 00000000..0834c031
--- /dev/null
+++ b/doc/unix-date-time-converter.md
@@ -0,0 +1,11 @@
+
+# UnixDateTimeConverter
+
+Extends from DateTimeConverterBase, uses unix DateTime format.
+
+## Properties
+
+| Name | Description | Type |
+| --- | --- | --- |
+| DateTimeStyles | Gets or sets DateTimeStyles. | `DateTimeStyles` |
+
diff --git a/doc/utility-classes.md b/doc/utility-classes.md
deleted file mode 100644
index b4e1539a..00000000
--- a/doc/utility-classes.md
+++ /dev/null
@@ -1,95 +0,0 @@
-
-# Utility Classes Documentation
-
-## ApiHelper Class
-
-HttpRequest stores necessary information about the http request.
-
-### Properties
-
-| Name | Description | Type |
-| --- | --- | --- |
-| HttpMethod | The HTTP verb to use for this request. | `HttpMethod` |
-| QueryUrl | The query url for the http request. | `string` |
-| QueryParameters | Query parameters collection for the current http request. | `Dictionary` |
-| Headers | Headers collection for the current http request. | `Dictionary` |
-| FormParameters | Form parameters for the current http request. | `List>` |
-| Body | Optional raw string to send as request body. | `object` |
-| Username | Optional username for Basic Auth. | `string` |
-| Password | Optional password for Basic Auth. | `string` |
-
-### Methods
-
-| Name | Description | Return Type |
-| --- | --- | --- |
-| `DeepCloneObject(T obj)` | Creates a deep clone of an object by serializing it into a json string and then deserializing back into an object. | `T` |
-| `JsonSerialize(object obj, JsonConverter converter = null)` | JSON Serialization of a given object. | `string` |
-| `JsonDeserialize(string json, JsonConverter converter = null)` | JSON Deserialization of the given json string. | `T` |
-
-## CustomDateTimeConverter Class
-
-Extends from IsoDateTimeConverter to allow a custom DateTime format.
-
-### Constructors
-
-| Name | Description |
-| --- | --- |
-| `CustomDateTimeConverter(string format)` | Initializes a new instance of the class. |
-
-## ListDateTimeConverter Class
-
-Extends from JsonConverter, allows the use of a custom converter.
-
-### Properties
-
-| Name | Description | Type |
-| --- | --- | --- |
-| `Converter` | Gets or sets the JsonConverter. | `JsonConverter` |
-
-### Constructors
-
-| Name | Description |
-| --- | --- |
-| `ListDateTimeConverter()` | Initializes a new instance of the class. |
-| `ListDateTimeConverter(Type converter)` | Initializes a new instance of the class. |
-| `ListDateTimeConverter(Type converter, string format)` | Initializes a new instance of the class. |
-
-## MapDateTimeConverter Class
-
-Extends from JsonConverter, allows the use of a custom converter.
-
-### Properties
-
-| Name | Description | Type |
-| --- | --- | --- |
-| `Converter` | Gets or sets the JsonConverter. | `JsonConverter` |
-
-### Constructors
-
-| Name | Description |
-| --- | --- |
-| `MapDateTimeConverter()` | Initializes a new instance of the class. |
-| `MapDateTimeConverter(Type converter)` | Initializes a new instance of the class. |
-| `MapDateTimeConverter(Type converter, string format)` | Initializes a new instance of the class. |
-
-## UnixDateTimeConverter Class
-
-Extends from DateTimeConverterBase, uses unix DateTime format.
-
-### Properties
-
-| Name | Description | Type |
-| --- | --- | --- |
-| DateTimeStyles | Gets or sets DateTimeStyles. | `DateTimeStyles` |
-
-## HttpCallback Class
-
-Class to provide callbacks for the Http request and response of an API call.
-
-### Methods
-
-| Name | Description | Return Type |
-| --- | --- | --- |
-| `OnBeforeRequest(HttpRequest request)` | Override to provide callback for the Http request. | `void` |
-| `OnAfterResponse(HttpResponse response)` | Override to provide callback for the Http response. | `void` |
-