Skip to content

Releases: maxio-com/ab-python-sdk

9.1.0

Choose a tag to compare

@imlukedewitt imlukedewitt released this 12 Jun 16:18
530998c

ab-python-sdk 9.1.0 Changelog

Breaking Changes

  • None.

New Features

  • Added support for the invoice_pending webhook event.
  • Added support for the chjs_tokenization_failure and chjs_tokenization_success webhook events.
  • Added typed CHJS tokenization webhook payload support through Event.event_specific_data.

New Models

  • ChjsTokenizationFailure
  • ChjsTokenizationSuccess
  • TokenizedPaymentProfile
  • PaymentProfileParams

Model Enhancements

  • BankAccountPaymentProfile
    • masked_bank_routing_number is now nullable.
    • masked_bank_account_number is now nullable and no longer required.
  • Customer
    • Added maxioid (Optional[str]).
  • Site
    • Added multi_frequency_enabled (bool).
    • Added auto_renewals_enabled (bool).
    • Added portal_enabled (bool).
  • InvoiceLineItem
    • Added tax_included (bool).
    • Added prepaid_allocation_expires_at (Optional[date]).
  • CreditNoteLineItem
    • Added tax_included (bool).
    • Added prepaid_allocation_expires_at (Optional[date]).
  • Event
    • event_specific_data now deserializes CHJS tokenization success/failure payload models.
  • EventKey and WebhookSubscription
    • Added invoice_pending.
    • Added chjs_tokenization_failure.
    • Added chjs_tokenization_success.
  • BillingSchedule
    • initial_billing_at now has nullable handling.

Bug Fixes

  • CreateSubscription.skip_billing_manifest_taxes — No longer initialized with a default value, preventing the SDK from serializing that preview-only field unless explicitly set by the caller.

Internal / Non-functional Changes

  • API endpoint doc comments reworded across controllers (no behavioral impact).

Full Changelog: 9.0.0...9.1.0

Release 9.0.0

Choose a tag to compare

@lucassus lucassus released this 13 Mar 15:44

Changelog: v9.0.0

Breaking Changes

  • SnapDay enum removed — The SnapDay enum (with value end) has been deleted. The SubscriptionSnapDay oneOf container has also been removed. Subscription.snap_day is now typed as str directly. CalendarBillingSnapDay and UpdateSubscriptionSnapDay containers changed their SnapDay case to str.
  • read_component_price_point return type changedComponentPricePointsController.read_component_price_point() now returns ComponentPricePointCurrencyOverageResponse instead of ComponentPricePointResponse.
  • CreateAllocation credit type fields changeddowngrade_credit now uses DowngradeCreditCreditType and upgrade_charge now uses UpgradeChargeCreditType, replacing the shared CreditType enum. The accepted values (full, prorated, none) are unchanged.

New Features

  • New SubscriptionRenewalsController — Full lifecycle management for scheduled renewal configurations on subscriptions, with 11 endpoints:
    • create_scheduled_renewal_configuration — Create a scheduled renewal config for a subscription
    • list_scheduled_renewal_configurations — List all scheduled renewal configs for a subscription
    • read_scheduled_renewal_configuration — Read a specific scheduled renewal config
    • update_scheduled_renewal_configuration — Update a scheduled renewal config
    • cancel_scheduled_renewal_configuration — Cancel a scheduled renewal config
    • unpublish_scheduled_renewal_configuration — Unpublish a scheduled renewal config
    • schedule_scheduled_renewal_lock_in — Schedule a lock-in for a renewal config
    • lock_in_scheduled_renewal_immediately — Immediately lock in a renewal config
    • create_scheduled_renewal_configuration_item — Add a line item to a renewal config
    • update_scheduled_renewal_configuration_item — Update a line item on a renewal config
    • delete_scheduled_renewal_configuration_item — Remove a line item from a renewal config
  • New clone_component_price_point method on ComponentPricePointsController — Clone an existing component price point including pricing scheme, price tiers, tax settings, currency prices, overage pricing, and interval settings
  • New deliver_proforma_invoice method on ProformaInvoicesController — Programmatic email delivery of proforma invoices with support for recipient, CC, and BCC email addresses
  • Invoice email attachmentsSendInvoiceRequest now supports attachment_urls (list[str]), allowing up to 10 file attachments (10 MB each) on invoice emails.
  • Scheduled cancellation optionsCancellationOptions gained three new fields: cancel_at_end_of_period (bool), scheduled_cancellation_at (datetime), refund_prepayment_account_balance (bool).
  • issue_invoice now supports "draft" status — The endpoint can now issue invoices that are in both "pending" and "draft" status.

New Models

  • ScheduledRenewalConfiguration
  • ScheduledRenewalConfigurationItem
  • ScheduledRenewalConfigurationRequest
  • ScheduledRenewalConfigurationRequestBody
  • ScheduledRenewalConfigurationResponse
  • ScheduledRenewalConfigurationsResponse
  • ScheduledRenewalConfigurationItemRequest
  • ScheduledRenewalConfigurationItemResponse
  • ScheduledRenewalComponentCustomPrice
  • ScheduledRenewalProductPricePoint
  • ScheduledRenewalItemRequestBodyComponent
  • ScheduledRenewalItemRequestBodyProduct
  • ScheduledRenewalLockInRequest
  • ScheduledRenewalUpdateRequest
  • Contract
  • Register
  • DeliverProformaInvoiceRequest
  • AvailableActions
  • SendEmail
  • CloneComponentPricePoint
  • CloneComponentPricePointRequest
  • ComponentPricePointCurrencyOverageResponse
  • CurrencyOveragePrices
  • Status (enum: draft, scheduled, pending, canceled, active, fulfilled)
  • DowngradeCreditCreditType (enum: full, prorated, none)
  • UpgradeChargeCreditType (enum: full, prorated, none)

Model Enhancements

  • CancellationOptions — Added cancel_at_end_of_period (bool), scheduled_cancellation_at (datetime), refund_prepayment_account_balance (bool).
  • ComponentCustomPrice — Added list_price_point_id (int), use_default_list_price (bool).
  • CreateAllocation — Added decimal_quantity (str), previous_quantity (float), decimal_previous_quantity (str), custom_price (ComponentCustomPrice).
  • ProductFamily — Added archived_at (datetime).
  • ProformaInvoice — Added available_actions (AvailableActions).
  • SendInvoiceRequest — Added attachment_urls (list[str], max 10 files, 10 MB each).
  • SubscriptionGroup — Added uid (str).
  • SubscriptionSort — Added 4 new sort values: TOTAL_PAYMENTS, ID, OPEN_BALANCE, EXPIRES_AT.

Internal / Non-functional Changes

  • Package version bumped from 8.0.0 to 9.0.0
  • Copyright year updated from 2014 - 2025 to 2014 - 2026 in LICENSE
  • User-Agent string updated from AB SDK Python:8.0.0 to AB SDK Python:9.0.0
  • Codebase-wide code style modernization (likely driven by ruff linter adoption): single quotes → double quotes, removal of # -*- coding: utf-8 -*- headers, trailing newline fixes, blank line cleanup
  • Added # ruff: noqa: directives to __init__.py files
  • Import aliasing refactor in HTTP layer wrappers to avoid same-name shadowing (e.g., import HttpResponse as CoreHttpResponse)
  • Comprehensive docstring additions to BaseController, BasicAuth, BasicAuthCredentials, HTTP request/response classes, and ProxySettings
  • Long line reformatting across controllers and auth modules for line-length compliance
  • BasicAuth error message simplified from "BasicAuthUserName or BasicAuthPassword is undefined." to "username or password is undefined."
  • README updated with v9.0.0 references and new Subscription Renewals controller documentation

8.0.0

Choose a tag to compare

@lucassus lucassus released this 10 Dec 12:50
4df0fdd

What's Changed

Full Changelog: 7.0.1...8.0.0

[FND-138] Release 7.0.1 (#60)

Choose a tag to compare

@lucassus lucassus released this 12 Sep 09:28
a80c8a5

📝 Changelog: API Documentation Updates

We've made several updates to the API documentation to improve clarity, consistency, and accuracy. This release includes enhancements to the descriptions for various endpoints, corrections to example data, and updates to external links.


🌐 Webhooks API Improvements

  • Simplified descriptions: We've streamlined the descriptions for several webhook endpoints, including List Webhooks, Enable Webhooks, Replay Webhooks, Create Endpoint, Update Endpoint, and List Endpoints, to make them more concise and easier to understand.
  • Updated documentation links: All internal and external links within the webhook documentation have been updated to point to the correct, current resources.

💰 Billing and Subscription Updates

  • Enhanced Customer API: The Read Customer endpoint now includes a complete example response, providing a clearer picture of the data you'll receive from the API.
  • Component Price Point examples: We've added new examples for Volume and Tiered price points to the Create Component Price Point endpoint, providing clearer guidance for different pricing schemes. The Stairstep Price Point example was also corrected to include a valid ending_quantity.
  • Flexible Subscription Usage: The subscription_id path parameter for the Create Usage endpoint has been updated to subscription_id_or_reference. This allows you to use either the subscription's ID or its reference string, making the endpoint more flexible.
  • Updated documentation links: The links in the documentation for GoCardless, Stripe SEPA/BECS Direct Debit, and Chargify.js have been corrected to ensure they point to the latest and most relevant documentation.

🧰 General Enhancements

  • Concise descriptions: We've shortened descriptions for the Read Customer and Read Component endpoints to be more direct.
  • Improved link consistency: All external links, especially those referencing Chargify.js and various examples, have been reviewed and updated to the correct, canonical URLs.

7.0.0

Choose a tag to compare

@lucassus lucassus released this 24 Jul 14:18
  • List Service Credits: Added a new endpoint (GET /service_credits.json) to list service credits.
  • Invoice Consolidation: Introduced a consolidation_level parameter to the GET /invoices.json endpoint to control how invoices are grouped.
  • Filter by Coupon Code: Added a coupon_code parameter to filter subscriptions.
  • New Component Field: The product_family_handle field has been added to the Read/List Components endpoints.
  • New Payment Profile Fields: Added created_at and updated_at fields to the payment profile schema.
  • New Invoice Field: The received_on date has been added to the Read Invoice endpoint response.
  • Deferred Signup: Added support for defer_signup in payment examples.

6.1.0

Choose a tag to compare

@maciej-nedza maciej-nedza released this 21 Jan 10:09
cb6d2cc

What's Changed

  • Added schedule_subscription_cancellation_enabled property to the Site model
  • Added string representations for models

Full Changelog: 6.0.0...6.1.0

6.0.0

Choose a tag to compare

@maciej-nedza maciej-nedza released this 13 Dec 15:55
e9b12a5
  • AdvancedBillingClient was slightly reworked:

    • domain parameter has been removed.
    • subdomain parameter changed name to site
    • Environment has changed. Now it's either default US, or EU for Advanced Billing eu hosting. The default is US. SDK is now supporting EU hosted accounts.
  • Coupon fixes:

    • renamed CreateOrUpdateCoupon to CouponRequest
    • renamed CreateOrUpdatePercentageCouponPercentage to CouponPayloadPercentage
    • changed CreateOrUpdateCouponCoupon to CouponPayload
    • There're no longer 2 distinct models for Flat amount and Percentage coupon. They're merged into CouponPayload. Using it, specify either amount_in_cents or percentage property
    • code, name, description, amount_in_cents and percentage are not required properties in CouponPayload model. It means they're not send as nulls if unset. It enables patching coupon with updateCoupon without specifying these properties values. Previous version enforced setting them.
    • CouponPayload end_date changes type from datetime to date. Response coupon end_date is still datetime (its calculated as end of the day)
    • update_coupon now throws ErrorListResponseException
    • added currency_prices for Coupon response. Note you need to specify suitable query parameters to access it
    • added currency_prices query parameter for read_coupon and find_coupon
    • added some missing descriptions
    • changed Coupon amount_in_cents to long
    • changed CouponCurrency price to nullable double and id to nullable Integer
    • create_or_update_coupon_currency_prices now throws ErrorStringMapResponseException
  • Subscription Fixes:

    • added SubscriptionResponse for purge_subscription operation
    • purge_subscription now throws SubscriptionResponseErrorException
    • update_prepaid_subscription_configuration now throws ApiException when the status code is 422
  • Components fixes:

    • removed PrepaidComponentPricePoint. Use CreatePrepaidComponentPricePoint when creating price points for PrepaidComponent together with component instead
    • added prepaid-specific properties to ComponentPricePoint (response model)
    • removed upgrade_charge and downgrade_credit from EbbComponent, OnOffComponent and MeteredComponent request models (not applicable for this type of component)
    • removed deprecated price_in_cents from component request models
    • removed prices from OnOffComponent request model (unit_price should be used)
    • Fixed ComponentPricePoint expiration_interval_unit type
    • corrected some descriptions
    • Define exceptions for create component price points operations
  • Currency Prices fixes:

    • add currency_prices query parameter to read_component_price_point
    • UpdateCurrencyPrice price is now double instead of int
    • Add price_id and price_point_id to CurrencyPrice
    • Return verbose exception message for currency prices operations
  • Events fixes:

    • Added EventKey enum and filled it with missing event types
    • merged SubscriptionGroupSignupFailure and SubscriptionGroupSignupFailure and SubscriptionGroupSignupSuccess into SubscriptionGroupSignupEventData.
    • documented key to event_specific_data mappings.
    • removed EventType used in events endpoints for filter. EventKey should be used instead.
  • Misc:

    • Added missing properties and types for Invoice
    • fixed record_event and bulk_record_events. Now they work with default environment, with subdomain specified during client initialization. They no longer need subdomain provided to the method execution
    • Fixed types for models required for update subscription group and add subscription to group operations
    • Make initiate_delayed_cancellation and cancel_dunning throw ErrorListResponseException on 422 error
    • added processing Invoice Status
    • Fix errors for Subscription Notes
    • Add error model for list_offers
    • Use date/date_time instead of string for filtering when listing products and product families
    • Now it's possible to list archived product price points using archived property with list_product_price_points

Full Changelog: 5.2.0...6.0.0

5.2.0

Choose a tag to compare

@maciej-nedza maciej-nedza released this 17 Oct 14:50
1a58248

What's Changed

  • Added tax_exempt_reason and default_auto_renewal_profile_id to Customer
  • Added received_on to InvoicePayment and CreateInvoicePayment
  • Added product_price_point_id and product_price_point_handle to UpdateSubscription
  • Improved some properties descriptions

Full Changelog: 5.1.0...5.2.0

5.1.0

Choose a tag to compare

@maciej-nedza maciej-nedza released this 27 Sep 10:52
41057bb

What's Changed

  • Add imported to subscription cancellation_method
  • Add id filter to List Products API

Full Changelog: 5.0.1...5.1.0

5.0.1

Choose a tag to compare

@michalpierog michalpierog released this 02 Sep 07:29
4a6dd54

What's Changed

Full Changelog: 5.0.0...5.0.1