> This is Payabli documentation. For a complete page index, fetch https://docs.payabli.com/llms.txt — append .md to any page URL for lightweight markdown. For section-level indexes, query parameters, and other AI-optimized access methods, see https://docs.payabli.com/ai-agents.md

## v3.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](https://github.com/payabli/sdk-ruby/blob/main/reference.md).

### Type namespace consolidated

Every resource-scoped type module (`Payabli::<Resource>::Types::`) is collapsed into `Payabli::Types::`. This affects every class reference in your code.

#### Removed namespaces

* `Payabli::MoneyIn::Types::`
* `Payabli::MoneyOut::Types::`
* `Payabli::MoneyOutTypes::Types::` — including `AuthCapturePayoutResponse`, `CaptureAllOutResponse`, `VCardGetResponse`, `OperationResult`, `AllowedCheckPaymentStatus`, `ReissuePayoutResponse`
* `Payabli::V2MoneyInTypes::Types::` — including `V2TransactionResponseWrapper`
* `Payabli::QueryTypes::Types::` — including all query response types
* `Payabli::TokenStorage::Types::`
* `Payabli::Subscription::Types::`
* `Payabli::PayoutSubscription::Types::`
* `Payabli::Notification::Types::`
* `Payabli::Boarding::Types::`
* `Payabli::Invoice::Types::`
* `Payabli::Bill::Types::`
* `Payabli::User::Types::`
* `Payabli::Export::Types::` — `ExportFormat1` is now `Payabli::Types::ExportFormat1`

### Request wrapper types removed

The following wrapper types are deleted. All methods now accept flat keyword arguments directly.

#### Removed wrapper types and affected methods

| Removed type                    | Method                                           | Fields now passed as                             |
| ------------------------------- | ------------------------------------------------ | ------------------------------------------------ |
| `SubscriptionRequestBody`       | `subscription.new_subscription`                  | Top-level keyword args                           |
| `PayoutSubscriptionRequestBody` | `payout_subscription.create_payout_subscription` | Top-level keyword args                           |
| `AuthorizePayoutBody`           | `money_out.authorize_out`                        | Top-level keyword args                           |
| `ReissuePayoutBody`             | `money_out.reissue_out`                          | `payment_method: { ... }` top-level keyword args |

The `new_subscription` method gains new top-level keyword params:

* `invoice_data:`
* `subscription_type:`
* `source:`
* `subdomain:`

The `create_payout_subscription` method gains new top-level keyword params:

* `set_pause:`
* `source:`
* `account_id:`
* `subdomain:`
* `payment_details:`