This is the changelog for the Payabli Python SDK. It includes updates, bug fixes, and new features.

v1.0.0

As part of an ongoing effort to improve the consistency and usability of our SDKs, we’ve updated the SDK generation process. This update introduces breaking changes to the SDK. All breaking changes affect only method signatures and namespacing, not core record types or properties. SDK initialization, configuration, business logic, and workflows remain unchanged. For more information on precise method signatures and example usage, please see the SDK reference on GitHub.

Import paths consolidated

All types are now importable from the top-level payabli package. The following submodules no longer exist:

  • payabli.money_in — types moved to payabli
  • payabli.money_out_types — types moved to payabli
  • payabli.query_types — types moved to payabli
  • payabli.v_2_money_in_types — types moved to payabli
OldNew
from payabli.money_in import RequestCreditPaymentMethodfrom payabli import RequestCreditPaymentMethod
from payabli.money_out_types import AuthorizePaymentMethodfrom payabli import AuthorizePaymentMethod
from payabli.money_out_types import ReissuePaymentMethodfrom payabli import ReissuePaymentMethod
from payabli.money_out_types import RequestOutAuthorizeVendorDatafrom payabli import RequestOutAuthorizeVendorData
from payabli.payout_subscription import PayoutPaymentDetailfrom payabli import PayoutPaymentDetail
from payabli.payout_subscription import PayoutScheduleDetailfrom payabli import PayoutScheduleDetail
from payabli.paypoint import NotificationRequestfrom payabli import NotificationRequest
from payabli.token_storage import TokenizeCardfrom payabli import TokenizeCard

Request wrapper types removed

The following wrapper types are deleted. Their fields are now passed directly as keyword arguments to the calling method.

Removed typeFields now on
AuthorizePayoutBodymoney_out.authorize_out(...) kwargs
ReissuePayoutBodymoney_out.reissue_out(payment_method=...)
SubscriptionRequestBodysubscription.new_subscription(...) kwargs
PayoutSubscriptionRequestBodypayout_subscription.create_payout_subscription(...) kwargs
UpdatePayoutSubscriptionBodypayout_subscription.update_payout_subscription(...) kwargs
PaypointMoveRequestpaypoint.migrate(...) kwargs
VendorEnrichRequestvendor.enrich_vendor(...) kwargs
NotificationLogSearchRequestnotificationlogs.search_notification_logs(...) kwargs
CreateApplicationFromPaypointRequestboarding.add_service_to_paypoint_from_app(...) kwargs
PaymentPageRequestBodypayment_link.add_pay_link_from_invoice(...) kwargs
PatchOutPaymentLinkRequestpayment_link.patch_out_payment_link(...) kwargs

The notificationlogs.search_notification_logs method now requires start_date and end_date as explicit keyword arguments. They were previously optional fields inside the removed wrapper.

method is now required on all payment types

The method field previously defaulted to a value on each payment type. It’s now required and has no default.

TypeOldNew
PayMethodCreditmethod: Literal["card"] = "card" (optional)method: PayMethodCreditMethod (required)
PayMethodAchmethod: Literal["ach"] = "ach" (optional)method: PayMethodAchMethod (required)
PayMethodCloudmethod: Literal["cloud"] = "cloud" (optional)method: PayMethodCloudMethod (required)
Cashmethod: Literal["cash"] = "cash" (optional)method: CashMethod (required)
Checkmethod: Literal["check"] = "check" (optional)method: CheckMethod (required)

V2 error types renamed

The per-endpoint V2 error classes from payabli.v_2_money_in_types.errors are removed. V2 endpoints now raise the same error types as all other methods.

Old exceptionNew exceptionHTTP status
BadRequestAuthResponseErrorV2BadRequestError400
DeclinedAuthResponseErrorV2PaymentRequiredError402
InternalServerResponseErrorV2InternalServerError500

ConflictError has been removed from payabli.errors. PaymentRequiredError has been added.

Type renames

Old nameNew nameUsed in
VendorData (bill vendor field)BillOutDataVendorbill.add_bill(vendor=...)
ApplicationDataPayInServicesAchAchSetupboarding.add_application()
ApplicationDataPayInServicesCardCardSetupboarding.add_application()
ApplicationDataPayInContactsItemContactsboarding.add_application()
ApplicationDataPayInOwnershipItemOwnersboarding.add_application()

Notification log ID type changed

get_notification_log, retry_notification_log, and bulk_retry_notification_logs now accept str instead of uuid.UUID for ID parameters.

Subscription date format changed

ScheduleDetail.start_date and ScheduleDetail.end_date now use ISO 8601 (YYYY-MM-DD) instead of MM-DD-YYYY.