/**
 * This file was auto-generated by openapi-typescript.
 * Do not make direct changes to the file.
 */
export interface paths {
    "/billing_entities": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all billing entities
         * @description This endpoint returns a list of all billing entities in the organization
         */
        get: operations["listBillingEntities"];
        put?: never;
        /**
         * Create a billing entity
         * @description This endpoint is used to create a new billing entity
         */
        post: operations["createBillingEntity"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/billing_entities/{code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The ID of the billing entity */
                code: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a billing entity
         * @description This endpoint returns a specific billing entity by its code
         */
        get: operations["getBillingEntity"];
        /**
         * Update a billing entity
         * @description This endpoint is used to update an existing billing entity
         */
        put: operations["updateBillingEntity"];
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/activity_logs": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all activity logs
         * @description This endpoint retrieves all existing activity logs that represent actions performed on application resources.
         */
        get: operations["findAllActivityLogs"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/activity_logs/{activity_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The Activity Id of the existing activity log. */
                activity_id: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve an activity log
         * @description This endpoint retrieves an existing activity log that represents an action performed on some resource. The activity log is identified by its unique activity_id.
         */
        get: operations["findActivityLog"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/add_ons": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all add-ons
         * @description This endpoint is used to list all existing add-ons.
         */
        get: operations["findAllAddOns"];
        put?: never;
        /**
         * Create an add-on
         * @description This endpoint is used to create an add-on that can be then attached to a one-off invoice.
         */
        post: operations["createAddOn"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/add_ons/{code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique code used to identify the add-on. */
                code: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve an add-on
         * @description This endpoint is used to retrieve a specific add-on.
         */
        get: operations["findAddOn"];
        /**
         * Update an add-on
         * @description This endpoint is used to update an existing add-on.
         */
        put: operations["updateAddOn"];
        post?: never;
        /**
         * Delete an add-on
         * @description This endpoint is used to delete an existing add-on.
         */
        delete: operations["destroyAddOn"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api_logs": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all api logs
         * @description This endpoint retrieves all existing api logs that represent requests performed to Lago's API.
         */
        get: operations["findAllApiLogs"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api_logs/{request_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The Request Id of the existing api log. */
                request_id: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve an api log
         * @description This endpoint retrieves an existing api log that represents a request made to the API. The api log is identified by its unique request_id.
         */
        get: operations["findApiLog"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/analytics/gross_revenue": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List gross revenue
         * @description Gross revenue is the sum of monthly `finalized` invoice payments and fees paid in advance that are not invoiceable. This total is calculated after deducting taxes and discounts.
         */
        get: operations["findAllGrossRevenues"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/analytics/invoice_collection": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List of finalized invoices
         * @description Represents a monthly aggregation, detailing both the total count and the cumulative amount of invoices that have been marked as `finalized`. This report sorts invoices categorically based on their `payment_status`.
         */
        get: operations["findAllInvoiceCollections"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/analytics/invoiced_usage": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List usage revenue
         * @description Reports a monthly analysis focused on the revenue generated from all usage-based fees. It exclusively accounts for revenue that has been formally invoiced. Importantly, this report does not include revenue related to the usage in the current billing period, limiting its scope to previously invoiced amounts.
         */
        get: operations["findAllInvoicedUsages"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/analytics/mrr": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List MRR
         * @description This endpoint is used to list MRR.
         */
        get: operations["findAllMrrs"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/analytics/overdue_balance": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List overdue balance
         * @description Overdue balance is the total amount associated with overdue invoices (invoices with pending or failed payments which are past their due dates).
         */
        get: operations["findAllOverdueBalances"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/analytics/usage": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List usage
         * @description Returns usages.
         */
        get: operations["findAllUsages"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/applied_coupons": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all applied coupons
         * @description This endpoint is used to list all applied coupons. You can filter by coupon status and by customer.
         */
        get: operations["findAllAppliedCoupons"];
        put?: never;
        /**
         * Apply a coupon to a customer
         * @description This endpoint is used to apply a specific coupon to a customer, before or during a subscription.
         */
        post: operations["applyCoupon"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/billable_metrics": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all billable metrics
         * @description This endpoint retrieves all existing billable metrics that represent pricing components of your application.
         */
        get: operations["findAllBillableMetrics"];
        put?: never;
        /**
         * Create a billable metric
         * @description This endpoint creates a new billable metric representing a pricing component of your application.
         */
        post: operations["createBillableMetric"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/billable_metrics/evaluate_expression": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Evaluate an expression for a billable metric
         * @description Evaluate an expression for a billable metric creation by providing the expression and test data
         */
        post: operations["evaluateBillableMetricExpression"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/billable_metrics/{code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing billable metric. */
                code: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a billable metric
         * @description This endpoint retrieves an existing billable metric that represents a pricing component of your application. The billable metric is identified by its unique code.
         */
        get: operations["findBillableMetric"];
        /**
         * Update a billable metric
         * @description This endpoint updates an existing billable metric representing a pricing component of your application.
         */
        put: operations["updateBillableMetric"];
        post?: never;
        /**
         * Delete a billable metric
         * @description This endpoint deletes an existing billable metric representing a pricing component of your application.
         */
        delete: operations["destroyBillableMetric"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/features": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all features
         * @description This endpoint retrieves all existing features that represent entitlement components of your application.
         */
        get: operations["findAllFeatures"];
        put?: never;
        /**
         * Create a feature
         * @description This endpoint creates a new feature representing an entitlement component of your application.
         */
        post: operations["createFeature"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/features/{code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing feature. */
                code: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a feature
         * @description This endpoint retrieves an existing feature that represents an entitlement component of your application. The feature is identified by its unique code.
         */
        get: operations["findFeature"];
        /**
         * Update a feature
         * @description This endpoint updates an existing feature representing an entitlement component of your application.
         */
        put: operations["updateFeature"];
        post?: never;
        /**
         * Delete a feature
         * @description This endpoint deletes an existing feature representing an entitlement component of your application. Deleting a feature will remove it from all plans and subscriptions.
         */
        delete: operations["destroyFeature"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/features/{code}/privileges/{privilege_code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing feature. */
                code: string;
                /** @description Code of the existing privilege. */
                privilege_code: string;
            };
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        /**
         * Delete a privilege. Deleting a privilege removes it from all plans and subscriptions.
         * @description Delete privilege from feature. Deleting a privilege removes it from all plans and subscriptions.
         */
        delete: operations["deleteFeaturePrivilege"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/coupons": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all coupons
         * @description This endpoint is used to list all existing coupons.
         */
        get: operations["findAllCoupons"];
        put?: never;
        /**
         * Create a coupon
         * @description This endpoint is used to create a coupon that can be then attached to a customer to create a discount.
         */
        post: operations["createCoupon"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/coupons/{code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique code used to identify the coupon. */
                code: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a coupon
         * @description This endpoint is used to retrieve a specific coupon.
         */
        get: operations["findCoupon"];
        /**
         * Update a coupon
         * @description This endpoint is used to update a coupon that can be then attached to a customer to create a discount.
         */
        put: operations["updateCoupon"];
        post?: never;
        /**
         * Delete a coupon
         * @description This endpoint is used to delete a coupon.
         */
        delete: operations["destroyCoupon"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/credit_notes": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all credit notes
         * @description This endpoint list all existing credit notes.
         */
        get: operations["findAllCreditNotes"];
        put?: never;
        /**
         * Create a credit note
         * @description This endpoint creates a new credit note.
         */
        post: operations["createCreditNote"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/credit_notes/{lago_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The credit note unique identifier, created by Lago. */
                lago_id: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a credit note
         * @description This endpoint retrieves an existing credit note.
         */
        get: operations["findCreditNote"];
        /**
         * Update a credit note
         * @description This endpoint updates an existing credit note.
         */
        put: operations["updateCreditNote"];
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/credit_notes/{lago_id}/download": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Download a credit note PDF
         * @description This endpoint downloads the PDF of an existing credit note.
         */
        post: operations["downloadCreditNote"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/credit_notes/estimate": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Estimate amounts for a new credit note
         * @description This endpoint allows you to retrieve amounts for a new credit note creation.
         */
        post: operations["estimateCreditNote"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/credit_notes/{lago_id}/void": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        /**
         * Void available credit
         * @description This endpoint voids the available credit linked to a specific credit note.
         */
        put: operations["voidCreditNote"];
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/credit_notes/{lago_id}/metadata": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Replace credit note metadata
         * @description This endpoint replaces all existing metadata on a credit note with the provided key-value pairs.
         *     Any existing metadata keys not included in the request will be removed.
         */
        post: operations["replaceCreditNoteMetadata"];
        /**
         * Delete all credit note metadata
         * @description This endpoint removes all metadata from a credit note.
         */
        delete: operations["deleteAllCreditNoteMetadata"];
        options?: never;
        head?: never;
        /**
         * Merge credit note metadata
         * @description This endpoint merges the provided metadata with existing metadata on the credit note.
         *     Existing keys not in the request are preserved. New keys are added, existing keys are updated.
         */
        patch: operations["mergeCreditNoteMetadata"];
        trace?: never;
    };
    "/credit_notes/{lago_id}/metadata/{key}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        /**
         * Delete a metadata key
         * @description This endpoint removes a single metadata key from a credit note.
         */
        delete: operations["deleteCreditNoteMetadataKey"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all customers
         * @description This endpoint retrieves all existing customers.
         */
        get: operations["findAllCustomers"];
        put?: never;
        /**
         * Create a customer
         * @description This endpoint creates a new customer.
         */
        post: operations["createCustomer"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a customer
         * @description This endpoint retrieves an existing customer.
         */
        get: operations["findCustomer"];
        put?: never;
        post?: never;
        /**
         * Delete a customer
         * @description This endpoint deletes an existing customer.
         */
        delete: operations["destroyCustomer"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/applied_coupons": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all customer's applied coupons
         * @description This endpoint is used to list all applied coupons for a customer.
         */
        get: operations["findAllCustomerAppliedCoupons"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/applied_coupons/{applied_coupon_id}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        /**
         * Delete an applied coupon
         * @description This endpoint is used to delete a specific coupon that has been applied to a customer.
         */
        delete: operations["deleteAppliedCoupon"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/credit_notes": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all customer's credit notes
         * @description This endpoint list all existing credit notes for a customer.
         */
        get: operations["findAllCustomerCreditNotes"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/invoices": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all customer's invoices
         * @description This endpoint is used for retrieving all invoices of a customer.
         */
        get: operations["findAllCustomerInvoices"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/payments": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all customer's payments
         * @description This endpoint is used to list all payments of a customer
         */
        get: operations["findAllCustomerPayments"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/payment_requests": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all customer's payment requests
         * @description This endpoint is used to list all existing payment requests of a customer.
         */
        get: operations["findAllCustomerPaymentRequests"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/portal_url": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get a customer portal URL
         * @description Retrieves an embeddable link for displaying a customer portal.
         *
         *     This endpoint allows you to fetch the URL that can be embedded to provide customers access to a dedicated portal
         */
        get: operations["getCustomerPortalUrl"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/subscriptions": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all customer's subscriptions
         * @description This endpoint retrieves all active subscriptions for a customer.
         */
        get: operations["findAllCustomerSubscriptions"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/wallets": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
            };
            cookie?: never;
        };
        /**
         * List all customer's wallets
         * @description This endpoint is used to list all wallets with prepaid credits of a customer
         */
        get: operations["findAllCustomerWallets"];
        put?: never;
        /**
         * Create a wallet
         * @description This endpoint is used to create a wallet with prepaid credits.
         */
        post: operations["createCustomerWallet"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/wallets/{code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                code: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a wallet
         * @description This endpoint is used to retrieve an existing wallet with prepaid credits.
         */
        get: operations["findCustomerWallet"];
        /**
         * Update a wallet
         * @description This endpoint is used to update an existing wallet with prepaid credits.
         */
        put: operations["updateCustomerWallet"];
        post?: never;
        /**
         * Terminate a wallet
         * @description This endpoint is used to terminate an existing wallet with prepaid credits.
         */
        delete: operations["destroyCustomerWallet"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/wallets/{wallet_code}/metadata": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                wallet_code: components["parameters"]["wallet_code"];
            };
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Replace wallet metadata
         * @description This endpoint replaces all existing metadata on a wallet with the provided key-value pairs.
         *     Any existing metadata keys not included in the request will be removed.
         */
        post: operations["replaceCustomerWalletMetadata"];
        /**
         * Delete all wallet metadata
         * @description This endpoint removes all metadata from a wallet.
         */
        delete: operations["deleteAllCustomerWalletMetadata"];
        options?: never;
        head?: never;
        /**
         * Merge wallet metadata
         * @description This endpoint merges the provided metadata with existing metadata on the wallet.
         *     Existing keys not in the request are preserved. New keys are added, existing keys are updated.
         */
        patch: operations["mergeCustomerWalletMetadata"];
        trace?: never;
    };
    "/customers/{external_customer_id}/wallets/{wallet_code}/metadata/{key}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                wallet_code: components["parameters"]["wallet_code"];
            };
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        /**
         * Delete a metadata key
         * @description This endpoint removes a single metadata key from a wallet.
         */
        delete: operations["deleteCustomerWalletMetadataKey"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/wallets/{wallet_code}/alerts": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                wallet_code: components["parameters"]["wallet_code"];
            };
            cookie?: never;
        };
        /**
         * List wallet alerts
         * @description This endpoint enables the retrieval of all alerts for a wallet.
         */
        get: operations["getCustomerWalletAlerts"];
        put?: never;
        /**
         * Create wallet alert(s)
         * @description This endpoint allows you to create new alerts for a wallet. Send a single alert object wrapped in `alert` key to create one alert, or an array of alert objects wrapped in `alerts` key to create multiple alerts atomically.
         */
        post: operations["createCustomerWalletAlert"];
        /**
         * Delete all wallet alerts
         * @description This endpoint allows you to delete all alerts for a wallet.
         */
        delete: operations["deleteAllCustomerWalletAlerts"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/wallets/{wallet_code}/alerts/{code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                wallet_code: components["parameters"]["wallet_code"];
                /** @description Unique code of the alert */
                code: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a wallet alert
         * @description This endpoint enables the retrieval of a specific alert for a wallet.
         */
        get: operations["getCustomerWalletAlert"];
        /**
         * Update a wallet alert
         * @description This endpoint allows you to update an existing alert for a wallet.
         */
        put: operations["updateCustomerWalletAlert"];
        post?: never;
        /**
         * Delete a wallet alert
         * @description This endpoint allows you to delete an existing alert for a wallet.
         */
        delete: operations["deleteCustomerWalletAlert"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/current_usage": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Retrieve customer current usage
         * @description This endpoint enables the retrieval of the usage-based billing data for a customer within the current period.
         */
        get: operations["findCustomerCurrentUsage"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/projected_usage": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Retrieve customer current and projected usage
         * @description This endpoint enables the retrieval of the usage-based billing data for a customer within the current period. It also returns the projected usage for the current period based on the current usage.
         */
        get: operations["findCustomerProjectedUsage"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/past_usage": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Retrieve customer past usage
         * @description This endpoint enables the retrieval of the usage-based billing data for a customer within past periods.
         */
        get: operations["findAllCustomerPastUsage"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/checkout_url": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Generate a Customer Payment Provider Checkout URL
         * @description This endpoint regenerates the Payment Provider Checkout URL of a Customer.
         */
        post: operations["generateCustomerCheckoutURL"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/payment_methods": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all customer payment methods
         * @description This endpoint retrieves all payment methods of a Customer.
         */
        get: operations["findAllCustomersPaymentMethods"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/payment_methods/{lago_id}/set_as_default": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The payment method unique identifier, created by Lago. */
                lago_id: string;
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
            };
            cookie?: never;
        };
        get?: never;
        /**
         * Set the payment method as default
         * @description Use the payment method as default when not selected a payment method
         */
        put: operations["paymentMethodSetAsDefault"];
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/customers/{external_customer_id}/payment_methods/{lago_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The payment method unique identifier, created by Lago. */
                lago_id: string;
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
            };
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        /**
         * Delete a payment method
         * @description This endpoint deletes a specific payment method for a customer.
         */
        delete: operations["destroyPaymentMethod"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/events": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all events
         * @description This endpoint is used for retrieving all events.
         */
        get: operations["findAllEvents"];
        put?: never;
        /**
         * Send usage events
         * @description This endpoint is used for transmitting usage measurement events to either a designated customer or a specific subscription.
         */
        post: operations["createEvent"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/events/batch": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Batch multiple events
         * @description This endpoint can be used to send a batch of usage records. Each request may include up to 100 events.
         */
        post: operations["createBatchEvents"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/events/estimate_fees": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Estimate fees for a pay in advance charge
         * @description Estimate the fees that would be created after reception of an event for a billable metric attached to one or multiple pay in advance charges
         */
        post: operations["eventEstimateFees"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/events/estimate_instant_fees": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Estimate instant fees for a pay in advance charge
         * @description Estimate the fees that would be created after reception of an event for a billable metric attached to one or multiple pay in advance standard or percentage charges
         */
        post: operations["eventEstimateInstantFees"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/events/batch_estimate_instant_fees": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Batch estimate instant fees for a pay in advance charge
         * @description Estimate the fees that would be created after reception of an event for a billable metric attached to one or multiple pay in advance standard or percentage charges
         */
        post: operations["eventBatchEstimateInstantFees"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/events/{transaction_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description This field represents the unique identifier sent for this specific event (must be URL encoded). */
                transaction_id: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a specific event
         * @description This endpoint is used for retrieving a specific usage measurement event that has been sent to a customer or a subscription.
         *
         *     Note that transaction_id is unique per external_subscription_id so multiple subscriptions can share the same transaction_id. This endpoint will only return the first event found with the given transaction_id.
         *
         *     WARNING: If your Lago organization is configured to use the Clickhouse-based event pipeline, multiple events can share the same `transaction_id` (with different timestamps). This endpoint will only return the first event found.
         */
        get: operations["findEvent"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/fees": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all fees
         * @description This endpoint is used for retrieving all fees that has been issued.
         */
        get: operations["findAllFees"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/fees/{lago_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the fee within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the fee's record within the Lago system. */
                lago_id: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a specific fee
         * @description This endpoint is used for retrieving a specific fee that has been issued.
         */
        get: operations["findFee"];
        /**
         * Update a fee
         * @description This endpoint is used for updating a specific fee that has been issued.
         */
        put: operations["updateFee"];
        post?: never;
        /**
         * Delete a fee
         * @description This endpoint is used for deleting a specific fee that has not yet been invoiced
         */
        delete: operations["deleteFee"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/invoices": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all invoices
         * @description This endpoint is used for retrieving all invoices.
         */
        get: operations["findAllInvoices"];
        put?: never;
        /**
         * Create a one-off invoice
         * @description This endpoint is used for issuing a one-off invoice.
         */
        post: operations["createInvoice"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/invoices/{lago_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system. */
                lago_id: components["parameters"]["lago_invoice_id"];
            };
            cookie?: never;
        };
        /**
         * Retrieve an invoice
         * @description This endpoint is used for retrieving a specific invoice that has been issued.
         */
        get: operations["findInvoice"];
        /**
         * Update an invoice
         * @description This endpoint is used for updating an existing invoice.
         */
        put: operations["updateInvoice"];
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/invoices/{lago_id}/download": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Download an invoice PDF
         * @description This endpoint is used for downloading a specific invoice PDF document.
         */
        post: operations["downloadInvoice"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/invoices/{lago_id}/finalize": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        /**
         * Finalize a draft invoice
         * @description This endpoint is used for finalizing a draft invoice.
         */
        put: operations["finalizeInvoice"];
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/invoices/{lago_id}/lose_dispute": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Mark an invoice payment dispute as lost
         * @description This endpoint is used for setting invoice's payment dispute as lost.
         */
        post: operations["loseDisputeInvoice"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/invoices/{lago_id}/refresh": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        /**
         * Refresh a draft invoice
         * @description This endpoint is used for refreshing a draft invoice.
         */
        put: operations["refreshInvoice"];
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/invoices/{lago_id}/retry": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Retry generation of a failed invoice
         * @description This endpoint is used for retrying to generate a failed invoice.
         */
        post: operations["retryInvoice"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/invoices/{lago_id}/payment_url": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Generate a payment URL
         * @description This endpoint generates a checkout link for a specific invoice.
         */
        post: operations["invoicePaymentUrl"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/invoices/preview": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Create an invoice preview
         * @description This endpoint is used for generating invoice preview.
         */
        post: operations["invoicePreview"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/invoices/{lago_id}/retry_payment": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Retry an invoice payment
         * @description This endpoint resends an invoice for collection and retry a payment.
         */
        post: operations["retryPayment"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/invoices/{lago_id}/void": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Void an invoice
         * @description This endpoint is used for voiding an invoice.
         *     • When no body parameters are provided, the invoice can be voided only if it is in a `finalized` status and its payment status is NOT `succeeded`.
         *     • When `generate_credit_note` is provided (optionally with `refund_amount` and/or `credit_amount`), this validation is bypassed: the invoice is forcibly voided and a credit note is generated. If the specified refund/credit amounts do not cover the full invoice total, the remainder is issued on a second credit note that is created and immediately voided.
         */
        post: operations["voidInvoice"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/organizations": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        /**
         * Update your organization
         * @description This endpoint is used to update your own organization's settings.
         */
        put: operations["updateOrganization"];
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/payment_receipts": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all payment receipts
         * @description This endpoint is used to list all existing payment receipts.
         */
        get: operations["findAllPaymentReceipts"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/payment_receipts/{lago_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Payment receipt ID */
                lago_id: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a payment receipt
         * @description This endpoint retrieves a specific payment receipt.
         */
        get: operations["findPaymentReceipt"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/payment_requests": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all payment requests
         * @description This endpoint is used to list all existing payment requests.
         */
        get: operations["findAllPaymentRequests"];
        put?: never;
        /**
         * Create a payment request
         * @description This endpoint is used to create a payment request to collect payments of overdue invoices of a given customer
         */
        post: operations["createPaymentRequest"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/payment_requests/{lago_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier of the payment request. */
                lago_id: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a payment request
         * @description This endpoint retrieves a specific payment request by its ID.
         */
        get: operations["findPaymentRequest"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/payments": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all payments
         * @description This endpoint is used to list all payments
         */
        get: operations["findAllPayments"];
        put?: never;
        /**
         * Create a payment
         * @description This endpoint is used to create a manual payment
         */
        post: operations["createPayment"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/payments/{lago_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier of the payment. */
                lago_id: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a payment
         * @description This endpoint retrieves a specific payment by its ID.
         */
        get: operations["findPayment"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/plans": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all plans
         * @description This endpoint retrieves all existing plans.
         */
        get: operations["findAllPlans"];
        put?: never;
        /**
         * Create a plan
         * @description This endpoint creates a plan with subscription and usage-based charges. It supports flexible billing cadence (in-advance or in-arrears) and allows for both recurring and metered charges.
         */
        post: operations["createPlan"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/plans/{code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The code of the plan. It serves as a unique identifier associated with a particular plan. The code is typically used for internal or system-level identification purposes, like assigning a subscription, for instance. */
                code: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a plan
         * @description This endpoint retrieves a specific plan.
         */
        get: operations["findPlan"];
        /**
         * Update a plan
         * @description This endpoint updates a specific plan with subscription and usage-based charges. It supports flexible billing cadence (in-advance or in-arrears) and allows for both recurring and metered charges.
         */
        put: operations["updatePlan"];
        post?: never;
        /**
         * Delete a plan
         * @description This endpoint deletes a specific plan. Note that this plan could be associated with active subscriptions.
         */
        delete: operations["destroyPlan"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/plans/{code}/entitlements": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: string;
            };
            cookie?: never;
        };
        /**
         * List all entitlements
         * @description This endpoint retrieves all entitlements for a specific plan.
         */
        get: operations["findAllEntitlements"];
        put?: never;
        /**
         * Create an entitlement
         * @description This endpoint creates new entitlements by adding features to a plan. Note that all existing entitlements will be deleted and replaced by the ones provided. To add a new entitlement without removing the existing ones, use PATCH. The feature must exist and all privileges must be valid for the feature.
         */
        post: operations["createEntitlement"];
        delete?: never;
        options?: never;
        head?: never;
        /**
         * Partial update of an entitlement
         * @description This accepts a list of entitlements to update. If the feature isn't part of the plan yet, it's added with all the privileges from the payload. If the feature is already part of the plan, the privilege and values are updated or added. All privileges must be valid for the feature. All features  and privileges not part of the payload are left untouched. To remove privileges or features, use the DELETE endpoints.
         */
        patch: operations["updateEntitlement"];
        trace?: never;
    };
    "/plans/{code}/entitlements/{feature_code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: string;
                /** @description Code of the existing feature. */
                feature_code: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve an entitlement
         * @description This endpoint retrieves a specific entitlement for a plan.
         */
        get: operations["findEntitlement"];
        put?: never;
        post?: never;
        /**
         * Delete an entitlement
         * @description This endpoint deletes an existing entitlement by removing the feature from the plan.
         */
        delete: operations["destroyEntitlement"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/plans/{code}/entitlements/{feature_code}/privileges/{privilege_code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: string;
                /** @description Code of the existing feature. */
                feature_code: string;
                /** @description Code of the privilege to remove from the entitlement. */
                privilege_code: string;
            };
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        /**
         * Remove a privilege from an entitlement
         * @description This endpoint removes a specific privilege and its value from an entitlement. The privilege remains untouched on the original feature.
         */
        delete: operations["removeEntitlementPrivilege"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/plans/{code}/metadata": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Replace plan metadata
         * @description This endpoint replaces all existing metadata on a plan with the provided key-value pairs.
         *     Any existing metadata keys not included in the request will be removed.
         */
        post: operations["replacePlanMetadata"];
        /**
         * Delete all plan metadata
         * @description This endpoint removes all metadata from a plan.
         */
        delete: operations["deleteAllPlanMetadata"];
        options?: never;
        head?: never;
        /**
         * Merge plan metadata
         * @description This endpoint merges the provided metadata with existing metadata on the plan.
         *     Existing keys not in the request are preserved. New keys are added, existing keys are updated.
         */
        patch: operations["mergePlanMetadata"];
        trace?: never;
    };
    "/plans/{code}/metadata/{key}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        /**
         * Delete a metadata key
         * @description This endpoint removes a single metadata key from a plan.
         */
        delete: operations["deletePlanMetadataKey"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/plans/{code}/charges": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
            };
            cookie?: never;
        };
        /**
         * List all charges for a plan
         * @description This endpoint retrieves all charges for a specific plan.
         */
        get: operations["findAllPlanCharges"];
        put?: never;
        /**
         * Create a charge
         * @description This endpoint creates a new charge for a specific plan.
         */
        post: operations["createPlanCharge"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/plans/{code}/charges/{charge_code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
            };
            cookie?: never;
        };
        /**
         * Retrieve a charge
         * @description This endpoint retrieves a specific charge for a plan.
         */
        get: operations["findPlanCharge"];
        /**
         * Update a charge
         * @description This endpoint updates a specific charge for a plan.
         */
        put: operations["updatePlanCharge"];
        post?: never;
        /**
         * Delete a charge
         * @description This endpoint deletes a specific charge from a plan.
         */
        delete: operations["destroyPlanCharge"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/plans/{code}/charges/{charge_code}/filters": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
            };
            cookie?: never;
        };
        /**
         * List all filters for a charge
         * @description This endpoint retrieves all filters for a specific charge.
         */
        get: operations["findAllPlanChargeFilters"];
        put?: never;
        /**
         * Create a charge filter
         * @description This endpoint creates a new filter for a specific charge.
         */
        post: operations["createPlanChargeFilter"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/plans/{code}/charges/{charge_code}/filters/{filter_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
                /** @description Unique identifier of the charge filter. */
                filter_id: components["parameters"]["charge_filter_id"];
            };
            cookie?: never;
        };
        /**
         * Retrieve a charge filter
         * @description This endpoint retrieves a specific filter for a charge.
         */
        get: operations["findPlanChargeFilter"];
        /**
         * Update a charge filter
         * @description This endpoint updates a specific filter for a charge.
         */
        put: operations["updatePlanChargeFilter"];
        post?: never;
        /**
         * Delete a charge filter
         * @description This endpoint deletes a specific filter from a charge.
         */
        delete: operations["destroyPlanChargeFilter"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/plans/{code}/fixed_charges": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
            };
            cookie?: never;
        };
        /**
         * List all fixed charges for a plan
         * @description This endpoint retrieves all fixed charges for a specific plan.
         */
        get: operations["findAllPlanFixedCharges"];
        put?: never;
        /**
         * Create a fixed charge
         * @description This endpoint creates a new fixed charge for a specific plan.
         */
        post: operations["createPlanFixedCharge"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/plans/{code}/fixed_charges/{fixed_charge_code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
                /** @description Code of the existing fixed charge. */
                fixed_charge_code: components["parameters"]["fixed_charge_code"];
            };
            cookie?: never;
        };
        /**
         * Retrieve a fixed charge
         * @description This endpoint retrieves a specific fixed charge for a plan.
         */
        get: operations["findPlanFixedCharge"];
        /**
         * Update a fixed charge
         * @description This endpoint updates a specific fixed charge for a plan.
         */
        put: operations["updatePlanFixedCharge"];
        post?: never;
        /**
         * Delete a fixed charge
         * @description This endpoint deletes a specific fixed charge from a plan.
         */
        delete: operations["destroyPlanFixedCharge"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/subscriptions": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all subscriptions
         * @description This endpoint retrieves all active subscriptions.
         */
        get: operations["findAllSubscriptions"];
        put?: never;
        /**
         * Assign a plan to a customer
         * @description This endpoint assigns a plan to a customer, creating or modifying a subscription. Ideal for initial subscriptions or plan changes (upgrades/downgrades).
         */
        post: operations["createSubscription"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/subscriptions/{external_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a subscription
         * @description This endpoint retrieves a specific subscription.
         */
        get: operations["findSubscription"];
        /**
         * Update a subscription
         * @description This endpoint allows you to update a subscription.
         */
        put: operations["updateSubscription"];
        post?: never;
        /**
         * Terminate a subscription
         * @description This endpoint allows you to terminate a subscription.
         */
        delete: operations["destroySubscription"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/subscriptions/{external_id}/lifetime_usage": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve subscription lifetime usage
         * @description This endpoint enables the retrieval of the lifetime usage of a subscription.
         */
        get: operations["getSubscriptionLifetimeUsage"];
        /**
         * Update a subscription lifetime usage
         * @description This endpoint allows you to update the lifetime usage of a subscription.
         */
        put: operations["updateSubscriptionLifetimeUsage"];
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/subscriptions/{external_id}/alerts": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
            };
            cookie?: never;
        };
        /**
         * List subscription alerts
         * @description This endpoint enables the retrieval of all alerts for a subscription.
         */
        get: operations["getSubscriptionAlerts"];
        put?: never;
        /**
         * Create subscription alert(s)
         * @description This endpoint allows you to create alerts for a subscription. Send a single alert object wrapped in `alert` key to create one alert, or an array of alert objects wrapped in `alerts` key to create multiple alerts atomically.
         */
        post: operations["createSubscriptionAlert"];
        /**
         * Delete all subscription alerts
         * @description This endpoint allows you to delete all alerts for a subscription.
         */
        delete: operations["deleteAllSubscriptionAlerts"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/subscriptions/{external_id}/alerts/{code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
                /** @description Unique code of the alert */
                code: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a subscription alert
         * @description This endpoint enables the retrieval of a specific alert for a subscription.
         */
        get: operations["getSubscriptionAlert"];
        /**
         * Update a subscription alert
         * @description This endpoint allows you to update an existing alert for a subscription.
         */
        put: operations["updateSubscriptionAlert"];
        post?: never;
        /**
         * Delete a subscription alert
         * @description This endpoint allows you to delete an existing alert for a subscription.
         */
        delete: operations["deleteSubscriptionAlert"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/subscriptions/{external_id}/entitlements": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
            };
            cookie?: never;
        };
        /**
         * List all subscription entitlements
         * @description This endpoint retrieves all entitlements for a specific subscription, including both plan entitlements and any subscription-specific overrides.
         */
        get: operations["findAllSubscriptionEntitlements"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        /**
         * Update subscription entitlements
         * @description This accepts a list of entitlements to update. If the feature isn't part of the subscription yet, it's added with all the privileges from the payload. If the feature is already part of the subscription (via plan or via override), the privilege and values are updated or added. All privileges must be valid for the feature. All features  and privileges not part of the payload are left untouched. To remove privileges or features, use the DELETE endpoints.
         */
        patch: operations["updateSubscriptionEntitlements"];
        trace?: never;
    };
    "/subscriptions/{external_id}/entitlements/{feature_code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
                /** @description Code of the existing feature */
                feature_code: string;
            };
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        /**
         * Remove an entitlement from a subscription
         * @description This endpoint removes a specific feature entitlement from a subscription. The entitlement remains available from the plan.
         */
        delete: operations["destroySubscriptionEntitlement"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/subscriptions/{external_id}/entitlements/{feature_code}/privileges/{privilege_code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
                /** @description Code of the existing feature. */
                feature_code: string;
                /** @description Code of the privilege to remove from the subscription entitlement override. */
                privilege_code: string;
            };
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        /**
         * Remove a privilege from a subscription entitlement override
         * @description This endpoint removes a specific privilege from a subscription entitlement. The privilege entitlement remains available from the plan.
         */
        delete: operations["destroySubscriptionEntitlementPrivilege"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/subscriptions/{external_id}/fixed_charges": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
            };
            cookie?: never;
        };
        /**
         * List all fixed charges for a subscription
         * @description This endpoint retrieves all effective fixed charges for a specific subscription.
         *     If the subscription has plan overrides with fixed charge overrides, the overridden fixed charges are returned.
         */
        get: operations["findAllSubscriptionFixedCharges"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/subscriptions/{external_id}/charges": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
            };
            cookie?: never;
        };
        /**
         * List all charges for a subscription
         * @description This endpoint retrieves all effective charges for a specific subscription.
         *     If the subscription has plan overrides with charge overrides, the overridden charges are returned.
         */
        get: operations["findAllSubscriptionCharges"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/subscriptions/{external_id}/charges/{charge_code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
            };
            cookie?: never;
        };
        /**
         * Retrieve a charge for a subscription
         * @description This endpoint retrieves a specific effective charge for a subscription.
         *     If the subscription has a plan override with a charge override, the overridden charge is returned.
         */
        get: operations["findSubscriptionCharge"];
        /**
         * Override a charge for a subscription
         * @description This endpoint creates or updates a charge override for a specific subscription.
         *     If the subscription does not have a plan override yet, one will be created automatically.
         *     The charge override allows customizing specific charge properties (invoice_display_name, min_amount_cents, properties, filters, taxes, applied_pricing_unit) without affecting the original plan charge.
         *     This is a premium feature.
         */
        put: operations["overrideSubscriptionCharge"];
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/subscriptions/{external_id}/charges/{charge_code}/filters": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
            };
            cookie?: never;
        };
        /**
         * List all filters for a charge
         * @description This endpoint retrieves all filters for a specific charge on a subscription.
         */
        get: operations["findAllSubscriptionChargeFilters"];
        put?: never;
        /**
         * Create a charge filter
         * @description This endpoint creates a new filter for a specific charge on a subscription.
         */
        post: operations["createSubscriptionChargeFilter"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/subscriptions/{external_id}/charges/{charge_code}/filters/{filter_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
                /** @description Unique identifier of the charge filter. */
                filter_id: components["parameters"]["charge_filter_id"];
            };
            cookie?: never;
        };
        /**
         * Retrieve a charge filter
         * @description This endpoint retrieves a specific filter for a charge on a subscription.
         */
        get: operations["findSubscriptionChargeFilter"];
        /**
         * Update a charge filter
         * @description This endpoint updates a specific filter for a charge on a subscription.
         */
        put: operations["updateSubscriptionChargeFilter"];
        post?: never;
        /**
         * Delete a charge filter
         * @description This endpoint deletes a specific filter from a charge on a subscription.
         */
        delete: operations["destroySubscriptionChargeFilter"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/subscriptions/{external_id}/fixed_charges/{fixed_charge_code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
                /** @description Code of the existing fixed charge. */
                fixed_charge_code: components["parameters"]["fixed_charge_code"];
            };
            cookie?: never;
        };
        /**
         * Retrieve a fixed charge for a subscription
         * @description This endpoint retrieves a specific effective fixed charge for a subscription.
         *     If the subscription has a plan override with a fixed charge override, the overridden fixed charge is returned.
         */
        get: operations["findSubscriptionFixedCharge"];
        /**
         * Override a fixed charge for a subscription
         * @description This endpoint creates or updates a fixed charge override for a specific subscription.
         *     If the subscription does not have a plan override yet, one will be created automatically.
         *     The fixed charge override allows customizing specific fixed charge properties (invoice_display_name, units, properties, taxes) without affecting the original plan fixed charge.
         *     This is a premium feature.
         */
        put: operations["overrideSubscriptionFixedCharge"];
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/taxes": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all taxes
         * @description This endpoint retrieves all existing taxes representing a customizable tax rate applicable to either the organization or a specific customer.
         */
        get: operations["findAllTaxes"];
        put?: never;
        /**
         * Create a tax
         * @description This endpoint creates a new tax representing a customizable tax rate applicable to either the organization or a specific customer.
         */
        post: operations["createTax"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/taxes/{code}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The code of the tax. It serves as a unique identifier associated with a particular tax. The code is typically used for internal or system-level identification purposes. */
                code: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a Tax
         * @description This endpoint retrieves an existing tax representing a customizable tax rate applicable to either the organization or a specific customer. The tax is identified by its unique code.
         */
        get: operations["findTax"];
        /**
         * Update a tax
         * @description This endpoint updates an existing tax representing a customizable tax rate applicable to either the organization or a specific customer.
         */
        put: operations["updateTax"];
        post?: never;
        /**
         * Delete a tax
         * @description This endpoint is used to delete a tax.
         */
        delete: operations["destroyTax"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/wallets": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all wallets
         * @description This endpoint is used to list all wallets with prepaid credits.
         */
        get: operations["findAllWallets"];
        put?: never;
        /**
         * Create a wallet
         * @description This endpoint is used to create a wallet with prepaid credits.
         */
        post: operations["createWallet"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/wallets/{lago_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the wallet within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the wallet's record within the Lago system. */
                lago_id: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a wallet
         * @description This endpoint is used to retrieve an existing wallet with prepaid credits.
         */
        get: operations["findWallet"];
        /**
         * Update a wallet
         * @description This endpoint is used to update an existing wallet with prepaid credits.
         */
        put: operations["updateWallet"];
        post?: never;
        /**
         * Terminate a wallet
         * @description This endpoint is used to terminate an existing wallet with prepaid credits.
         */
        delete: operations["destroyWallet"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/wallets/{lago_id}/metadata": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Replace wallet metadata
         * @description This endpoint replaces all existing metadata on a wallet with the provided key-value pairs.
         *     Any existing metadata keys not included in the request will be removed.
         */
        post: operations["replaceWalletMetadata"];
        /**
         * Delete all wallet metadata
         * @description This endpoint removes all metadata from a wallet.
         */
        delete: operations["deleteAllWalletMetadata"];
        options?: never;
        head?: never;
        /**
         * Merge wallet metadata
         * @description This endpoint merges the provided metadata with existing metadata on the wallet.
         *     Existing keys not in the request are preserved. New keys are added, existing keys are updated.
         */
        patch: operations["mergeWalletMetadata"];
        trace?: never;
    };
    "/wallets/{lago_id}/metadata/{key}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        /**
         * Delete a metadata key
         * @description This endpoint removes a single metadata key from a wallet.
         */
        delete: operations["deleteWalletMetadataKey"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/wallet_transactions": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Top up a wallet
         * @description This endpoint is used to top-up an active wallet.
         */
        post: operations["createWalletTransaction"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/wallet_transactions/{lago_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the wallet transaction within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the wallet's record within the Lago system. */
                lago_id: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a wallet transaction
         * @description This endpoint is used to retrieve a specific wallet transactions.
         */
        get: operations["findWalletTransaction"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/wallet_transactions/{lago_id}/payment_url": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Generate a payment URL
         * @description This endpoint generates a checkout link for a specific wallet transaction.
         */
        post: operations["walletTransactionPaymentUrl"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/wallet_transactions/{lago_id}/consumptions": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all consumptions for a wallet transaction
         * @description This endpoint is used to list all consumption records for an inbound wallet transaction. It shows how the credits from this inbound transaction were consumed by outbound transactions. Only available for traceable wallets.
         */
        get: operations["findAllWalletTransactionConsumptions"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/wallet_transactions/{lago_id}/fundings": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all fundings for a wallet transaction
         * @description This endpoint is used to list all funding records for an outbound wallet transaction. It shows which inbound transactions funded this outbound transaction. Only available for traceable wallets.
         */
        get: operations["findAllWalletTransactionFundings"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/wallets/{lago_id}/wallet_transactions": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all wallet transactions
         * @description This endpoint is used to list all wallet transactions.
         */
        get: operations["findAllWalletTransactions"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/webhooks/public_key": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Retrieve webhook public key
         * @description This endpoint is used to retrieve the public key used to verify the webhooks signature
         */
        get: operations["fetchPublicKey"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/webhook_endpoints": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all webhook endpoints
         * @description This endpoint is used to list all webhook endpoints.
         */
        get: operations["findAllWebhookEndpoints"];
        put?: never;
        /**
         * Create a webhook_endpoint
         * @description This endpoint is used to create a webhook endpoint.
         */
        post: operations["createWebhookEndpoint"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/webhook_endpoints/{lago_id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the webhook endpoint within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the webhook endpoint's record within the Lago system. */
                lago_id: string;
            };
            cookie?: never;
        };
        /**
         * Retrieve a webhook endpoint
         * @description This endpoint is used to retrieve an existing webhook endpoint.
         */
        get: operations["findWebhookEndpoint"];
        /**
         * Update a webhook endpoint
         * @description This endpoint is used to update an existing webhook endpoint.
         */
        put: operations["updateWebhookEndpoint"];
        post?: never;
        /**
         * Delete a webhook endpoint
         * @description This endpoint is used to delete an existing webhook endpoint.
         */
        delete: operations["destroyWebhookEndpoint"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
}
export interface webhooks {
    alert_triggered: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A new alert was triggered
         * @description One or more thresholds defined in the alert were crossed
         */
        post: operations["alertTriggered"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    customer_created: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A new customer has been created
         * @description A new customer has been created
         */
        post: operations["customerCreated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    customer_updated: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A customer has been updated
         * @description A customer has been updated
         */
        post: operations["customerUpdated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    customer_accounting_provider_created: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A customer was created on an accouting integration
         * @description A customer was created on an accouting integration
         */
        post: operations["customerAccountingProviderCreated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    customer_accounting_provider_error: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * An error was encountered while syncing a customer to an accounting provider
         * @description An error was encountered while syncing a customer to an accounting provider
         */
        post: operations["customerAccountingProviderError"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    customer_crm_provider_created: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A customer has been created in the CRM provider
         * @description A customer has been created in the CRM provider
         */
        post: operations["customerCrmProviderCreated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    customer_crm_provider_error: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * An error was encountered while syncing a customer to a CRM provider
         * @description An error was encountered while syncing a customer to a CRM provider
         */
        post: operations["customerCrmProviderError"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    customer_payment_provider_created: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A customer has been created on a payment provider
         * @description A customer has been created on a payment provider
         */
        post: operations["customerPaymentProviderCreated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    customer_payment_provider_error: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * An error was encountered while syncing a customer to a payment provider
         * @description An error was encountered while syncing a customer to a payment provider
         */
        post: operations["customerPaymentProviderError"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    customer_checkout_url_generated: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A checkout URL was generated for a customer
         * @description A checkout URL was generated for a customer
         */
        post: operations["customerCheckoutUrlGenerated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    customer_tax_provider_error: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * An error was encountered while fetching taxes for a customer on a tax provider
         * @description An error was encountered while fetching taxes for a customer on a tax provider
         */
        post: operations["customerTaxProviderError"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    customer_vies_check: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * VIES VAT number has been checked for a customer
         * @description VIES VAT number has been checked for a customer
         */
        post: operations["customerViesCheck"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    credit_note_created: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A new credit note has been created
         * @description A new credit note has been created
         */
        post: operations["creditNoteCreated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    credit_note_generated: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A new credit note PDF has been generated
         * @description A new credit note PDF has been generated
         */
        post: operations["creditNoteGenerated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    credit_note_provider_refund_failure: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * The refund of a credit note has failed on a payment provider
         * @description The refund of a credit note has failed on a payment provider
         */
        post: operations["creditNoteProviderRefundFailure"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    dunning_campaign_finished: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * The dunning campaign has been completed for a customer
         * @description The dunning campaign has been completed for a customer
         */
        post: operations["dunningCampaignFinished"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    event_error: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * An error has been detected on an event
         * @deprecated
         * @description An error has been detected on an event
         */
        post: operations["eventError"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    events_errors: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Errors were encountered while post-processing some events
         * @description Errors were encountered while post-processing some events
         */
        post: operations["eventsErrors"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "feature.created": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A new feature has been created
         * @description A new feature has been created
         */
        post: operations["featureCreated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "feature.updated": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A feature has been updated
         * @description A feature has been updated
         */
        post: operations["featureUpdated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "feature.deleted": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A feature has been deleted
         * @description A feature has been deleted
         */
        post: operations["featureDeleted"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    fee_created: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A pay in advance fee has been created
         * @description A pay in advance fee has been created
         */
        post: operations["feeCreated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    fee_tax_provider_error: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * An error was encountered while fetching taxes for a fee on a tax provider
         * @description An error was encountered while fetching taxes for a fee on a tax provider
         */
        post: operations["feeTaxProviderError"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    invoice_created: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A new invoice has been emitted
         * @description A new invoice has been emitted
         */
        post: operations["invoiceCreated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    invoice_one_off_created: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A new one off invoice has been emitted
         * @description A new one off invoice has been emitted
         */
        post: operations["invoiceOneOffCreated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    invoice_add_on_added: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A new add on invoice has been emitted
         * @description A new add on invoice has been emitted
         */
        post: operations["invoiceAddOnAdded"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    invoice_paid_credit_added: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A new prepaid credit invoice has been emitted
         * @description A new prepaid credit invoice has been emitted
         */
        post: operations["invoicePaidCreditAdded"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    invoice_generated: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A new invoice PDF has been generated
         * @description A new invoice PDF has been generated
         */
        post: operations["invoiceGenerated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    invoice_drafted: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A new draft invoice has been emitted
         * @description A new draft invoice has been emitted
         */
        post: operations["invoiceDrafted"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    invoice_voided: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * An invoice has been voided
         * @description An invoice has been voided
         */
        post: operations["invoiceVoided"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    invoice_payment_dispute_lost: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A payment dispute has been lost for an invoice payment
         * @description A payment dispute has been lost for an invoice payment
         */
        post: operations["invoicePaymentDisputeLost"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    invoice_payment_status_updated: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * The payment status of an invoice has been updated
         * @description The payment status of an invoice has been updated
         */
        post: operations["invoicePaymentStatusUpdated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    invoice_payment_overdue: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * An invoice payment is overdue
         * @description An invoice payment is overdue
         */
        post: operations["invoicePaymentOverdue"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    invoice_payment_failure: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A payment attempt for an invoice has failed on a payment provider
         * @description A payment attempt for an invoice has failed on a payment provider
         */
        post: operations["invoicePaymentFailure"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    invoice_resynced: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * An invoice has been resynced with salesforce
         * @description An invoice has been resynced with salesforce
         */
        post: operations["invoiceResynced"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    integration_provider_error: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * An error was encountered while processing data on an integration
         * @description An error was encountered while processing data on an integration
         */
        post: operations["integrationProviderError"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    payment_requires_action: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * An action is required to process a payment
         * @description An action is required to process a payment
         */
        post: operations["paymentRequiresAction"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    payment_succeeded: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A payment has been successfully processed
         * @description A payment has been successfully processed by the payment provider
         */
        post: operations["paymentSucceeded"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    payment_provider_error: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * An error was raised by a payment provider
         * @description An error was raised by a payment provider
         */
        post: operations["paymentProviderError"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    payment_request_created: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * An new payment request has been created
         * @description An new payment request has been created
         */
        post: operations["paymentRequestCreated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    payment_request_payment_failure: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A payment attempt for a payment request has failed on a payment provider
         * @description A payment attempt for a payment request has failed on a payment provider
         */
        post: operations["paymentRequestPaymentFailure"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    payment_request_payment_status_updated: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * The payment status of an invoice has been updated
         * @description The payment status of an invoice has been updated
         */
        post: operations["paymentRequestPaymentStatusUpdated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    plan_created: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A new plan has been created
         * @description A new plan has been created
         */
        post: operations["planCreated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    plan_updated: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A plan has been updated
         * @description A plan has been updated
         */
        post: operations["planUpdated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    plan_deleted: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A plan has been deleted
         * @description A plan has been deleted
         */
        post: operations["planDeleted"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    subscription_terminated: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A subscription has been terminated
         * @description A subscription has been terminated
         */
        post: operations["subscriptionTerminated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    subscription_started: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * An subscription has started
         * @description An subscription has started
         */
        post: operations["subscriptionStarted"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    subscription_updated: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A subscription has been updated
         * @description A subscription has been updated
         */
        post: operations["subscriptionUpdated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    subscription_termination_alert: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A subscription will be terminated in the future
         * @description A subscription will be terminated in the future
         */
        post: operations["subscriptionTerminationAlert"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    subscription_trial_ended: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A subscription trial period has ended
         * @description A subscription trial period has ended
         */
        post: operations["subscriptionTrialEnded"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    subscription_usage_threshold_reached: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A usage threshold has been reached by a subscription
         * @description A usage threshold has been reached by a subscription
         */
        post: operations["subscriptionUsageThresholdReached"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    wallet_depleted_ongoing_balance: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * The balance of a wallet has been depleted
         * @description The balance of a wallet has been depleted
         */
        post: operations["walletDepletedOngoingBalance"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    wallet_transaction_created: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A new wallet transaction has been created
         * @description A new wallet transaction has been created
         */
        post: operations["walletTransactionCreated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    wallet_transaction_updated: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A wallet transaction has been updated
         * @description A wallet transaction has been updated
         */
        post: operations["walletTransactionUpdated"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    wallet_transaction_payment_failure: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * A payment attempt for a wallet transaction has failed on a payment provider
         * @description A payment attempt for a wallet transaction has failed on a payment provider
         */
        post: operations["walletTransactionPaymentFailure"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
}
export interface components {
    schemas: {
        /**
         * @example USD
         * @enum {string}
         */
        Currency: "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BIF" | "BMD" | "BND" | "BOB" | "BRL" | "BSD" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHF" | "CLF" | "CLP" | "CNY" | "COP" | "CRC" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "ISK" | "JMD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KRW" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "MAD" | "MDL" | "MGA" | "MKD" | "MMK" | "MNT" | "MOP" | "MRO" | "MUR" | "MVR" | "MWK" | "MXN" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "STD" | "SZL" | "THB" | "TJS" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "UYU" | "UZS" | "VND" | "VUV" | "WST" | "XAF" | "XCD" | "XOF" | "XPF" | "YER" | "ZAR" | "ZMW";
        /**
         * @example US
         * @enum {string}
         */
        Country: "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AS" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CC" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CU" | "CV" | "CW" | "CX" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FM" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HM" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IR" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MH" | "MK" | "ML" | "MM" | "MN" | "MO" | "MP" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NF" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PW" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SD" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SY" | "SZ" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "UM" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VI" | "VN" | "VU" | "WF" | "WS" | "YE" | "YT" | "ZA" | "ZM" | "ZW";
        /**
         * @example America/Los_Angeles
         * @enum {string}
         */
        Timezone: "UTC" | "Africa/Algiers" | "Africa/Cairo" | "Africa/Casablanca" | "Africa/Harare" | "Africa/Johannesburg" | "Africa/Monrovia" | "Africa/Nairobi" | "America/Argentina/Buenos_Aires" | "America/Bogota" | "America/Caracas" | "America/Chicago" | "America/Chihuahua" | "America/Denver" | "America/Guatemala" | "America/Guyana" | "America/Halifax" | "America/Indiana/Indianapolis" | "America/Juneau" | "America/La_Paz" | "America/Lima" | "America/Los_Angeles" | "America/Mazatlan" | "America/Mexico_City" | "America/Monterrey" | "America/Montevideo" | "America/New_York" | "America/Nuuk" | "America/Phoenix" | "America/Puerto_Rico" | "America/Regina" | "America/Santiago" | "America/Sao_Paulo" | "America/St_Johns" | "America/Tijuana" | "Asia/Almaty" | "Asia/Baghdad" | "Asia/Baku" | "Asia/Bangkok" | "Asia/Chongqing" | "Asia/Colombo" | "Asia/Dhaka" | "Asia/Hong_Kong" | "Asia/Irkutsk" | "Asia/Jakarta" | "Asia/Jerusalem" | "Asia/Kabul" | "Asia/Kamchatka" | "Asia/Karachi" | "Asia/Kathmandu" | "Asia/Kolkata" | "Asia/Krasnoyarsk" | "Asia/Kuala_Lumpur" | "Asia/Kuwait" | "Asia/Magadan" | "Asia/Muscat" | "Asia/Novosibirsk" | "Asia/Riyadh" | "Asia/Seoul" | "Asia/Shanghai" | "Asia/Singapore" | "Asia/Srednekolymsk" | "Asia/Taipei" | "Asia/Tashkent" | "Asia/Tbilisi" | "Asia/Tehran" | "Asia/Tokyo" | "Asia/Ulaanbaatar" | "Asia/Urumqi" | "Asia/Vladivostok" | "Asia/Yakutsk" | "Asia/Yangon" | "Asia/Yekaterinburg" | "Asia/Yerevan" | "Atlantic/Azores" | "Atlantic/Cape_Verde" | "Atlantic/South_Georgia" | "Australia/Adelaide" | "Australia/Brisbane" | "Australia/Darwin" | "Australia/Hobart" | "Australia/Melbourne" | "Australia/Perth" | "Australia/Sydney" | "Europe/Amsterdam" | "Europe/Athens" | "Europe/Belgrade" | "Europe/Berlin" | "Europe/Bratislava" | "Europe/Brussels" | "Europe/Bucharest" | "Europe/Budapest" | "Europe/Copenhagen" | "Europe/Dublin" | "Europe/Helsinki" | "Europe/Istanbul" | "Europe/Kaliningrad" | "Europe/Kyiv" | "Europe/Lisbon" | "Europe/Ljubljana" | "Europe/London" | "Europe/Madrid" | "Europe/Minsk" | "Europe/Moscow" | "Europe/Paris" | "Europe/Prague" | "Europe/Riga" | "Europe/Rome" | "Europe/Samara" | "Europe/Sarajevo" | "Europe/Skopje" | "Europe/Sofia" | "Europe/Stockholm" | "Europe/Tallinn" | "Europe/Vienna" | "Europe/Vilnius" | "Europe/Volgograd" | "Europe/Warsaw" | "Europe/Zagreb" | "Europe/Zurich" | "GMT+12" | "Pacific/Apia" | "Pacific/Auckland" | "Pacific/Chatham" | "Pacific/Fakaofo" | "Pacific/Fiji" | "Pacific/Guadalcanal" | "Pacific/Guam" | "Pacific/Honolulu" | "Pacific/Majuro" | "Pacific/Midway" | "Pacific/Noumea" | "Pacific/Pago_Pago" | "Pacific/Port_Moresby" | "Pacific/Tongatapu";
        /** @description Billing entity object */
        BillingEntityObject: {
            /**
             * Format: uuid
             * @description A unique identifier for the billing entity in the Lago application
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The unique code of the billing entity
             * @example acme_corp
             */
            code: string;
            /**
             * @description The name of the billing entity
             * @example Acme Corp
             */
            name: string;
            /**
             * @description The default currency of the billing entity
             * @example USD
             */
            default_currency: components["schemas"]["Currency"];
            /**
             * @description The language of the documents generated for this billing entity
             * @example en
             */
            document_locale: string;
            /**
             * @description The type of document numbering for this billing entity:
             *     - `per_customer`: document numbers are unique per customer
             *     - `per_billing_entity`: document numbers are unique per billing entity
             * @example per_customer
             * @enum {string}
             */
            document_numbering: "per_customer" | "per_billing_entity";
            /**
             * @description The prefix used in document numbers for this billing entity
             * @example ABC-123
             */
            document_number_prefix?: string | null;
            /**
             * @description Whether to finalize invoices with zero amount for this billing entity
             * @example true
             */
            finalize_zero_amount_invoice: boolean;
            /**
             * @description The footer text to be displayed on invoices for this billing entity
             * @example Thank you for your business
             */
            invoice_footer?: string | null;
            /**
             * @description The grace period (in days) for invoice finalization
             * @example 0
             */
            invoice_grace_period: number;
            /**
             * @description Defines whether the issuing date follows the current billing period's end date or the next period starting date.
             * @default next_period_start
             * @enum {string}
             */
            subscription_invoice_issuing_date_anchor: "current_period_end" | "next_period_start";
            /**
             * @description The logic applied on top of the subscription_invoice_issuing_date_anchor rule. You can opt to use the invoice finalization date, that includes any configured grace period.
             * @default align_with_finalization_date
             * @enum {string}
             */
            subscription_invoice_issuing_date_adjustment: "align_with_finalization_date" | "keep_anchor";
            /**
             * @description Whether this billing entity is the default billing entity for the organization. Default billing entity will be used as fallback in services if no billing entity is specified when billing_entity is not provided. Default billing entity is the billing entity that will be used to generate invoices if no billing entity is specified when invoice is created. is the oldest active billing entity and this flag cannot be changed
             * @example false
             */
            is_default?: boolean;
            /**
             * @description The net payment term (in days) for this billing entity
             * @example 0
             */
            net_payment_term: number;
            /**
             * @description The first line of the billing address
             * @example 5230 Penfield Ave
             */
            address_line1?: string | null;
            /**
             * @description The second line of the billing address
             * @example Suite 100
             */
            address_line2?: string | null;
            /**
             * @description The city of the billing address
             * @example Woodland Hills
             */
            city?: string | null;
            /**
             * @description The state of the billing address
             * @example CA
             */
            state?: string | null;
            /** @description The country code of the billing address */
            country?: components["schemas"]["Country"];
            /**
             * @description The zipcode of the billing address
             * @example 91364
             */
            zipcode?: string | null;
            /**
             * Format: email
             * @description The email address of the billing entity
             * @example billing@acme.com
             */
            email?: string | null;
            /**
             * @description The legal name of the billing entity
             * @example Acme Corporation
             */
            legal_name?: string | null;
            /**
             * @description The legal registration number of the billing entity
             * @example US123456789
             */
            legal_number?: string | null;
            /**
             * @description The tax identification number of the billing entity
             * @example EU123456789
             */
            tax_identification_number?: string | null;
            /**
             * @description The timezone of the billing entity
             * @example UTC
             */
            timezone: components["schemas"]["Timezone"];
            /** @description The email notification settings for this billing entity */
            email_settings?: ("invoice.finalized" | "credit_note.created" | "payment_receipt.created")[];
            /**
             * @description Whether EU tax management is enabled for this billing entity
             * @example false
             */
            eu_tax_management?: boolean;
            /**
             * Format: uri
             * @description The URL of the billing entity's logo
             * @example https://getlago.com/logo.png
             */
            logo_url?: string | null;
            /**
             * Format: date-time
             * @description The date and time when the billing entity was created
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
            /**
             * Format: date-time
             * @description The date and time when the billing entity was last updated
             * @example 2022-04-29T08:59:51Z
             */
            updated_at: string;
        };
        ApiErrorUnauthorized: {
            /**
             * Format: int32
             * @example 401
             */
            status: number;
            /** @example Unauthorized */
            error: string;
        };
        ApiErrorUnprocessableEntity: {
            /**
             * Format: int32
             * @example 422
             */
            status: number;
            /** @example Unprocessable entity */
            error: string;
            /** @example validation_errors */
            code: string;
            error_details: Record<string, never>;
        };
        /** @description Billing entity create input */
        BillingEntityCreateInput: {
            billing_entity: {
                /**
                 * @description The unique code of the billing entity
                 * @example acme_corp
                 */
                code: string;
                /**
                 * @description The name of the billing entity
                 * @example Acme Corp
                 */
                name: string;
                /**
                 * @description The default currency of the billing entity
                 * @example USD
                 */
                default_currency?: components["schemas"]["Currency"];
                /**
                 * @description The type of document numbering for this billing entity:
                 *     - `per_customer`: document numbers are unique per customer
                 *     - `per_billing_entity`: document numbers are unique per billing entity
                 * @enum {string}
                 */
                document_numbering?: "per_customer" | "per_billing_entity";
                /**
                 * @description The prefix used in document numbers for this billing entity
                 * @example ABC-123
                 */
                document_number_prefix?: string | null;
                /**
                 * @description Whether to finalize invoices with zero amount for this billing entity
                 * @example true
                 */
                finalize_zero_amount_invoice?: boolean;
                billing_configuration?: {
                    /**
                     * @description The footer text to be displayed on invoices for this billing entity
                     * @example Thank you for your business
                     */
                    invoice_footer?: string;
                    /**
                     * @description The language of the documents generated for this billing entity
                     * @example en
                     */
                    document_locale?: string;
                    /**
                     * @description The grace period (in days) for invoice finalization
                     * @example 0
                     */
                    invoice_grace_period?: number;
                    /**
                     * @description Defines whether the issuing date follows the current billing period's end date or the next period starting date.
                     * @default next_period_start
                     * @enum {string}
                     */
                    subscription_invoice_issuing_date_anchor: "current_period_end" | "next_period_start";
                    /**
                     * @description The logic applied on top of the subscription_invoice_issuing_date_anchor rule. You can opt to use the invoice finalization date, that includes any configured grace period.
                     * @default align_with_finalization_date
                     * @enum {string}
                     */
                    subscription_invoice_issuing_date_adjustment: "align_with_finalization_date" | "keep_anchor";
                };
                /**
                 * @description The net payment term (in days) for this billing entity
                 * @example 0
                 */
                net_payment_term?: number;
                /**
                 * @description The first line of the billing address
                 * @example 5230 Penfield Ave
                 */
                address_line1?: string | null;
                /**
                 * @description The second line of the billing address
                 * @example Suite 100
                 */
                address_line2?: string | null;
                /**
                 * @description The city of the billing address
                 * @example Woodland Hills
                 */
                city?: string | null;
                /**
                 * @description The state of the billing address
                 * @example CA
                 */
                state?: string | null;
                /** @description The country code of the billing address */
                country?: components["schemas"]["Country"];
                /**
                 * @description The zipcode of the billing address
                 * @example 91364
                 */
                zipcode?: string | null;
                /**
                 * Format: email
                 * @description The email address of the billing entity
                 * @example billing@acme.com
                 */
                email?: string | null;
                /**
                 * @description The legal name of the billing entity
                 * @example Acme Corporation
                 */
                legal_name?: string | null;
                /**
                 * @description The legal registration number of the billing entity
                 * @example US123456789
                 */
                legal_number?: string | null;
                /**
                 * @description The tax identification number of the billing entity
                 * @example EU123456789
                 */
                tax_identification_number?: string | null;
                /**
                 * @description The timezone of the billing entity
                 * @example UTC
                 */
                timezone?: components["schemas"]["Timezone"];
                /** @description The email notification settings for this billing entity */
                email_settings?: ("invoice.finalized" | "credit_note.created")[];
                /**
                 * @description Whether EU tax management is enabled for this billing entity
                 * @example false
                 */
                eu_tax_management?: boolean;
                /**
                 * Format: uri
                 * @description The base64 encoded logo image for the billing entity
                 * @example data:image/png;base64,...
                 */
                logo?: string | null;
            };
        };
        ApiErrorBadRequest: {
            /**
             * Format: int32
             * @example 400
             */
            status: number;
            /** @example Bad request */
            error: string;
        };
        ApiErrorForbidden: {
            /**
             * Format: int32
             * @example 403
             */
            status: number;
            /** @example Forbidden */
            error: string;
            /** @example feature_unavailable */
            code: string;
        };
        TaxObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the tax, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description Name of the tax.
             * @example TVA
             */
            name: string;
            /**
             * @description Unique code used to identify the tax associated with the API request.
             * @example french_standard_vat
             */
            code: string;
            /**
             * @description Internal description of the tax
             * @example French standard VAT
             */
            description?: string | null;
            /**
             * @description The percentage rate of the tax
             * @example 20
             */
            rate: number;
            /**
             * @deprecated
             * @description This field is deprecated and will be removed in a future version. When set to true, it applies the tax to the organization's default billing entity. To apply or remove a tax from any billing entity (including the default one), please use the `PUT /billing_entities/:code` endpoint instead.
             * @example true
             */
            applied_to_organization: boolean;
            /**
             * Format: date-time
             * @description Creation date of the tax.
             * @example 2023-07-06T14:35:58Z
             */
            created_at: string;
        };
        InvoiceCustomSectionObject: {
            /**
             * Format: uuid
             * @description Unique identifier for the invoice custom section in the Lago application, generated by Lago to ensure record uniqueness within the system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description Name of the invoice custom section.
             * @example EU Bank Details
             */
            name: string;
            /**
             * @description Unique code identifying the invoice custom section for the API request.
             * @example eu_bank_details
             */
            code: string;
            /**
             * @description Internal description of the invoice custom section.
             * @example This section contains the bank details for EU customers.
             */
            description?: string;
            /**
             * @description The value shown on the invoice PDF.
             * @example Bank Name: Lago Bank, IBAN: FR7630004000031234567890143
             */
            details?: string;
            /**
             * @description The name of the invoice custom section displayed on the invoice.
             * @example Bank Details:
             */
            display_name?: string;
            /**
             * @deprecated
             * @description This field is deprecated and will be removed in a future version. When set to true, it applies the invoice custom section to the organization's default billing entity. To apply or remove an invoice custom section from any billing entity (including the default one), please use the `PUT /billing_entities/:code` endpoint instead.
             * @example true
             */
            applied_to_organization?: boolean;
            /**
             * Format: uuid
             * @description Unique identifier for the organization associated with the invoice custom section.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            organization_id?: string;
            /**
             * Format: date-time
             * @description Creation date of the tax.
             * @example 2023-07-06T14:35:58Z
             */
            created_at?: string;
        };
        BillingEntityObjectExtended: components["schemas"]["BillingEntityObject"] & {
            taxes?: components["schemas"]["TaxObject"][];
            selected_invoice_custom_sections?: components["schemas"]["InvoiceCustomSectionObject"][];
        };
        ApiErrorNotFound: {
            /**
             * Format: int32
             * @example 404
             */
            status: number;
            /** @example Not Found */
            error: string;
            /** @example object_not_found */
            code: string;
        };
        /**
         * @description List of unique code used to identify the taxes.
         * @example [
         *       "french_standard_vat"
         *     ]
         */
        TaxCodes: string[];
        /** @description Billing entity update input */
        BillingEntityUpdateInput: {
            /**
             * @description The name of the billing entity
             * @example Acme Corp
             */
            name?: string;
            /**
             * @description The default currency of the billing entity
             * @example USD
             */
            default_currency?: components["schemas"]["Currency"];
            /**
             * @description The type of document numbering for this billing entity:
             *     - `per_customer`: document numbers are unique per customer
             *     - `per_billing_entity`: document numbers are unique per billing entity
             * @enum {string}
             */
            document_numbering?: "per_customer" | "per_billing_entity";
            /**
             * @description The prefix used in document numbers for this billing entity
             * @example ABC-123
             */
            document_number_prefix?: string | null;
            /**
             * @description Whether to finalize invoices with zero amount for this billing entity
             * @example true
             */
            finalize_zero_amount_invoice?: boolean;
            billing_configuration?: {
                /**
                 * @description The footer text to be displayed on invoices for this billing entity
                 * @example Thank you for your business
                 */
                invoice_footer?: string;
                /**
                 * @description The language of the documents generated for this billing entity
                 * @example en
                 */
                document_locale?: string;
                /**
                 * @description The grace period (in days) for invoice finalization
                 * @example 0
                 */
                invoice_grace_period?: number;
                /**
                 * @description Defines whether the issuing date follows the current billing period's end date or the next period starting date.
                 * @default next_period_start
                 * @enum {string}
                 */
                subscription_invoice_issuing_date_anchor: "current_period_end" | "next_period_start";
                /**
                 * @description The logic applied on top of the subscription_invoice_issuing_date_anchor rule. You can opt to use the invoice finalization date, that includes any configured grace period.
                 * @default align_with_finalization_date
                 * @enum {string}
                 */
                subscription_invoice_issuing_date_adjustment: "align_with_finalization_date" | "keep_anchor";
            };
            /**
             * @description The net payment term (in days) for this billing entity
             * @example 0
             */
            net_payment_term?: number;
            /**
             * @description The first line of the billing address
             * @example 5230 Penfield Ave
             */
            address_line1?: string | null;
            /**
             * @description The second line of the billing address
             * @example Suite 100
             */
            address_line2?: string | null;
            /**
             * @description The city of the billing address
             * @example Woodland Hills
             */
            city?: string | null;
            /**
             * @description The state of the billing address
             * @example CA
             */
            state?: string | null;
            /** @description The country code of the billing address */
            country?: components["schemas"]["Country"];
            /**
             * @description The zipcode of the billing address
             * @example 91364
             */
            zipcode?: string | null;
            /**
             * Format: email
             * @description The email address of the billing entity
             * @example billing@acme.com
             */
            email?: string | null;
            /**
             * @description The legal name of the billing entity
             * @example Acme Corporation
             */
            legal_name?: string | null;
            /**
             * @description The legal registration number of the billing entity
             * @example US123456789
             */
            legal_number?: string | null;
            /**
             * @description The tax identification number of the billing entity
             * @example EU123456789
             */
            tax_identification_number?: string | null;
            /**
             * @description The timezone of the billing entity
             * @example UTC
             */
            timezone?: components["schemas"]["Timezone"];
            /** @description The tax codes that should be associated with this billing entity */
            tax_codes?: components["schemas"]["TaxCodes"];
            /** @description The email notification settings for this billing entity */
            email_settings?: ("invoice.finalized" | "credit_note.created")[];
            /**
             * @description Whether EU tax management is enabled for this billing entity
             * @example false
             */
            eu_tax_management?: boolean;
            /**
             * Format: uri
             * @description The base64 encoded logo image for the billing entity. Sending "null" will remove the logo, if any exist.
             * @example data:image/png;base64,...
             */
            logo?: string | null;
            /**
             * @description The codes of the invoice custom section that should be associated with this billing entity
             * @example [
             *       "custom_section_1",
             *       "custom_section_2"
             *     ]
             */
            invoice_custom_section_codes?: string[];
        };
        ActivityLogObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the activity log within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the activity log record within the Lago system
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            activity_id: string;
            /**
             * Format: email
             * @description The email of the user who performed the activity
             * @example dinesh@piedpiper.test
             */
            user_email?: string | null;
            /**
             * @description This field stores the actitivy action that was performed to the activity_object.
             * @example billing_metric.created
             */
            activity_type: string;
            /**
             * @description This field represents the source of the activity log, the interaction source that triggered the action.
             * @example api
             * @enum {string}
             */
            activity_source: "api" | "front" | "system";
            /**
             * Format: object
             * @description This field represents the final state of the object that the action was applied.
             * @example {
             *       "lago_id": "dad68bc7-c01a-4ad8-a87b-13e78693a5bc",
             *       "plan_id": "b9155544-e261-4e92-b54e-f65d7609294c"
             *     }
             */
            activity_object?: Record<string, never> | null;
            /**
             * Format: object
             * @example {
             *       "plan_id": [
             *         null,
             *         "b9155544-e261-4e92-b54e-f65d7609294c"
             *       ]
             *     }
             */
            activity_object_changes?: Record<string, never> | null;
            /**
             * @description The customer external unique identifier (provided by your own application)
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            external_customer_id?: string | null;
            /**
             * @description Unique identifier assigned to the subscription in your application.
             * @example external_id
             */
            external_subscription_id?: string | null;
            /**
             * Format: uuid
             * @description The resource id of the object that the action was applied.
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            resource_id: string;
            /**
             * @description The resource type of the resource_id record.
             * @example BillableMetric
             */
            resource_type: string;
            /**
             * Format: uuid
             * @description Unique identifier for the organization associated with the activity log.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            organization_id: string;
            /**
             * Format: date-time
             * @description The logged date of the activity, presented in the ISO 8601 datetime format, specifically in Coordinated Universal Time (UTC). It provides the precise timestamp of when the event's record was created within the Lago application
             * @example 2025-03-31T12:31:44Z
             */
            logged_at: string;
            /**
             * Format: date-time
             * @description The creation date of the activity record in the Lago application, presented in the ISO 8601 datetime format, specifically in Coordinated Universal Time (UTC). It provides the precise timestamp of when the event's record was created within the Lago application
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
        };
        PaginationMeta: {
            /**
             * @description Current page.
             * @example 2
             */
            current_page: number;
            /**
             * @description Next page.
             * @example 3
             */
            next_page?: number | null;
            /**
             * @description Previous page.
             * @example 1
             */
            prev_page?: number | null;
            /**
             * @description Total number of pages.
             * @example 4
             */
            total_pages: number;
            /**
             * @description Total number of records.
             * @example 70
             */
            total_count: number;
        };
        ActivityLogsPaginated: {
            activity_logs: components["schemas"]["ActivityLogObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        ActivityLog: {
            activity_log: components["schemas"]["ActivityLogObject"];
        };
        AddOnObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the add-on, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The name of the add-on.
             * @example Setup Fee
             */
            name: string;
            /**
             * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
             * @example Setup Fee (SF1)
             */
            invoice_display_name: string | null;
            /**
             * @description Unique code used to identify the add-on.
             * @example setup_fee
             */
            code: string;
            /**
             * @description The cost of the add-on in cents, excluding any applicable taxes, that is billed to a customer. By creating a one-off invoice, you will be able to override this value.
             * @example 50000
             */
            amount_cents: number;
            /**
             * @description The currency of the add-on.
             * @example USD
             */
            amount_currency: components["schemas"]["Currency"];
            /**
             * @description The description of the add-on.
             * @example Implementation fee for new customers.
             */
            description: string | null;
            /**
             * Format: date-time
             * @description The date and time when the add-on was created. It is expressed in UTC format according to the ISO 8601 datetime standard. This field provides the timestamp for the exact moment when the add-on was initially created.
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
            /** @description All taxes applied to the add-on. */
            taxes?: components["schemas"]["TaxObject"][];
        };
        AddOnsPaginated: {
            add_ons: components["schemas"]["AddOnObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        AddOnBaseInput: {
            /**
             * @description The name of the add-on.
             * @example Setup Fee
             */
            name?: string;
            /**
             * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
             * @example Setup Fee (SF1)
             */
            invoice_display_name?: string | null;
            /**
             * @description Unique code used to identify the add-on.
             * @example setup_fee
             */
            code?: string;
            /**
             * @description The cost of the add-on in cents, excluding any applicable taxes, that is billed to a customer. By creating a one-off invoice, you will be able to override this value.
             * @example 50000
             */
            amount_cents?: number;
            /**
             * @description The currency of the add-on.
             * @example USD
             */
            amount_currency?: components["schemas"]["Currency"];
            /**
             * @description The description of the add-on.
             * @example Implementation fee for new customers.
             */
            description?: string | null;
            tax_codes?: components["schemas"]["TaxCodes"];
        };
        AddOnCreateInput: {
            add_on: components["schemas"]["AddOnBaseInput"];
        };
        AddOn: {
            add_on: components["schemas"]["AddOnObject"];
        };
        AddOnUpdateInput: {
            add_on: components["schemas"]["AddOnBaseInput"];
        };
        ApiLogObject: {
            /**
             * @description Lago API version used in the request.
             * @example v1
             */
            api_version: string;
            /**
             * @description The client used to make the request to the API.
             * @example Lago Ruby v1.26.0
             */
            client: string;
            /**
             * @description This field represents the HTTP method of the request.
             * @example post
             * @enum {string}
             */
            http_method: "post" | "put" | "delete";
            /**
             * @description This field represents the HTTP status of the requests.
             * @example 200
             */
            http_status: number;
            /**
             * Format: date-time
             * @description The logged date of the api log, presented in the ISO 8601 datetime format, specifically in Coordinated Universal Time (UTC). It provides the precise timestamp of when the event's record was created within the Lago application
             * @example 2025-03-31T12:31:44Z
             */
            logged_at: string;
            /**
             * Format: object
             * @example { "billable_metric": { "name": "Storage", "code": "storage" } }
             */
            request_body: string;
            /**
             * @description This field represents the API origin of the requested URL
             * @example https://app.lago.dev/
             */
            request_origin: string;
            /**
             * @description This field represents the API path of the requested URL
             * @example /billable_metrics
             */
            request_path: string;
            /**
             * Format: date-time
             * @description The creation date of the api log record in the Lago application, presented in the ISO 8601 datetime format, specifically in Coordinated Universal Time (UTC). It provides the precise timestamp of when the event's record was created within the Lago application
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
            /**
             * Format: uuid
             * @description Unique identifier for the api log.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            request_id: string;
            /**
             * Format: object
             * @example { "lago_id": "b9155544-e261-4e92-b54e-f65d7609294c", ... }
             */
            request_response?: string;
        };
        ApiLogsPaginated: {
            api_logs: components["schemas"]["ApiLogObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        ApiLog: {
            api_log: components["schemas"]["ApiLogObject"];
        };
        GrossRevenueObject: {
            /**
             * @description Identifies the month to analyze revenue.
             * @example 2023-11-01T00:00:00.000Z
             */
            month: string;
            /**
             * @description The total amount of revenue for a period, expressed in cents.
             * @example 50000
             */
            amount_cents: number;
            /**
             * @description The currency of revenue analytics. Format must be ISO 4217.
             * @example USD
             */
            currency: components["schemas"]["Currency"];
            /**
             * @description Contains invoices count.
             * @example 10
             */
            invoices_count: number;
        };
        GrossRevenues: {
            gross_revenues: components["schemas"]["GrossRevenueObject"][];
        };
        InvoiceCollectionObject: {
            /**
             * @description Identifies the month to analyze revenue.
             * @example 2023-11-01T00:00:00.000Z
             */
            month: string;
            /**
             * @description The payment status of the invoices.
             * @example succeeded
             * @enum {string}
             */
            payment_status?: "pending" | "succeeded" | "failed";
            /**
             * @description Contains invoices count.
             * @example 10
             */
            invoices_count: number;
            /**
             * @description The total amount of revenue for a period, expressed in cents.
             * @example 50000
             */
            amount_cents?: number;
            /**
             * @description The currency of revenue analytics. Format must be ISO 4217.
             * @example USD
             */
            currency?: components["schemas"]["Currency"];
        };
        InvoiceCollections: {
            invoice_collections: components["schemas"]["InvoiceCollectionObject"][];
        };
        InvoicedUsageObject: {
            /**
             * @description Identifies the month to analyze revenue.
             * @example 2023-11-01T00:00:00.000Z
             */
            month: string;
            /**
             * @description The code of the usage-based billable metrics.
             * @example code1
             */
            code?: string;
            /**
             * @description The total amount of revenue for a period, expressed in cents.
             * @example 50000
             */
            amount_cents: number;
            /**
             * @description The currency of revenue analytics. Format must be ISO 4217.
             * @example USD
             */
            currency: components["schemas"]["Currency"];
        };
        InvoicedUsages: {
            invoiced_usages: components["schemas"]["InvoicedUsageObject"][];
        };
        MrrObject: {
            /**
             * @description Identifies the month to analyze MRR.
             * @example 2023-11-01T00:00:00.000Z
             */
            month: string;
            /**
             * @description The total amount of MRR, expressed in cents.
             * @example 50000
             */
            amount_cents: number;
            /**
             * @description The currency of MRR analytics. Format must be ISO 4217.
             * @example USD
             */
            currency: components["schemas"]["Currency"];
        };
        Mrrs: {
            mrrs: components["schemas"]["MrrObject"][];
        };
        OverdueBalanceObject: {
            /**
             * @description Identifies the month to analyze revenue.
             * @example 2023-11-01T00:00:00.000Z
             */
            month: string;
            /**
             * @description The total amount of revenue for a period, expressed in cents.
             * @example 50000
             */
            amount_cents: number;
            /**
             * @description The currency of revenue analytics. Format must be ISO 4217.
             * @example USD
             */
            currency: components["schemas"]["Currency"];
            /**
             * @description The Lago invoice IDs associated with the revenue.
             * @example [
             *       "5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba"
             *     ]
             */
            lago_invoice_ids: string[];
        };
        OverdueBalances: {
            overdue_balances: components["schemas"]["OverdueBalanceObject"][];
        };
        UsageObject: {
            /**
             * Format: uuid
             * @description The unique identifier of the organization for which the usage analytics is calculated.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            organization_id: string;
            /**
             * Format: date
             * @description The start date of the period for which the usage analytics is calculated.
             * @example 2023-11-01
             */
            start_of_period_dt?: string;
            /**
             * Format: date
             * @description The end date of the period for which the usage analytics is calculated.
             * @example 2023-11-30
             */
            end_of_period_dt?: string;
            /**
             * @description The currency of usage analytics. Format must be ISO 4217.
             * @example USD
             */
            amount_currency: components["schemas"]["Currency"];
            /**
             * @description The total amount for usages for a period, expressed in cents.
             * @example 50000
             */
            amount_cents: number;
            /**
             * @description The code of the usage-based billable metrics.
             * @example code1
             */
            billable_metric_code?: string;
            /**
             * @description The total number of units for the usage-based billable metrics.
             * @example 1.0
             */
            units?: string;
            /**
             * @description Indicates whether the billable metric associated with the usage is deleted.
             * @example false
             */
            is_billable_metric_deleted?: boolean;
        };
        Usages: {
            usages: components["schemas"]["UsageObject"][];
        };
        /**
         * @example USD
         * @enum {string|null}
         */
        CurrencyOrNull: null | "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BIF" | "BMD" | "BND" | "BOB" | "BRL" | "BSD" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHF" | "CLF" | "CLP" | "CNY" | "COP" | "CRC" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "ISK" | "JMD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KRW" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "MAD" | "MDL" | "MGA" | "MKD" | "MMK" | "MNT" | "MOP" | "MRO" | "MUR" | "MVR" | "MWK" | "MXN" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "STD" | "SZL" | "THB" | "TJS" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "UYU" | "UZS" | "VND" | "VUV" | "WST" | "XAF" | "XCD" | "XOF" | "XPF" | "YER" | "ZAR" | "ZMW";
        AppliedCouponObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the applied coupon, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * Format: uuid
             * @description Unique identifier of the coupon, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_coupon_id: string;
            /**
             * @description Unique code used to identify the coupon.
             * @example startup_deal
             */
            coupon_code: string;
            /**
             * @description The name of the coupon.
             * @example Startup Deal
             */
            coupon_name: string;
            /**
             * @description The status of the parent coupon. Can be either `active` or `terminated`.
             * @example active
             * @enum {string}
             */
            coupon_status?: "active" | "terminated";
            /**
             * Format: date-time
             * @description The date and time when the parent coupon was deleted. If null, the coupon still exists. It is expressed in UTC format according to the ISO 8601 datetime standard.
             * @example 2022-04-29T08:59:51Z
             */
            coupon_deleted_at?: string | null;
            /**
             * Format: uuid
             * @description Unique identifier of the customer, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_customer_id: string;
            /**
             * @description The customer external unique identifier (provided by your own application)
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            external_customer_id: string;
            /**
             * @description The status of the coupon. Can be either `active` or `terminated`.
             * @example active
             * @enum {string}
             */
            status: "active" | "terminated";
            /**
             * @description The amount of the coupon in cents. This field is required only for coupon with `fixed_amount` type.
             * @example 2000
             */
            amount_cents?: number | null;
            /**
             * @description The remaining amount in cents for a `fixed_amount` coupon with a frequency set to `once`. This field indicates the remaining balance or value that can still be utilized from the coupon.
             * @example 50
             */
            amount_cents_remaining?: number | null;
            /**
             * @description The currency of the coupon. This field is required only for coupon with `fixed_amount` type.
             * @example EUR
             */
            amount_currency?: components["schemas"]["CurrencyOrNull"];
            /**
             * @description The percentage rate of the coupon. This field is required only for coupons with a `percentage` coupon type.
             * @example null
             */
            percentage_rate?: string | null;
            /**
             * @description The type of frequency for the coupon. It can have three possible values: `once`, `recurring` or `forever`.
             *
             *     - If set to `once`, the coupon is applicable only for a single use.
             *     - If set to `recurring`, the coupon can be used multiple times for recurring billing periods.
             *     - If set to `forever`, the coupon has unlimited usage and can be applied indefinitely.
             * @example recurring
             * @enum {string}
             */
            frequency: "once" | "recurring" | "forever";
            /**
             * @description Specifies the number of billing periods to which the coupon applies. This field is required only for coupons with a `recurring` frequency type
             * @example 3
             */
            frequency_duration?: number | null;
            /**
             * @description The remaining number of billing periods to which the coupon is applicable. This field determines the remaining usage or availability of the coupon based on the remaining billing periods.
             * @example 1
             */
            frequency_duration_remaining?: number | null;
            /**
             * Format: date-time
             * @description The date and time after which the coupon will stop applying to customer's invoices. Once the expiration date is reached, the coupon will no longer be applicable, and any further invoices generated for the customer will not include the coupon discount.
             * @example 2022-04-29T08:59:51Z
             */
            expiration_at?: string | null;
            /**
             * Format: date-time
             * @description The date and time when the coupon was assigned to a customer. It is expressed in UTC format according to the ISO 8601 datetime standard.
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
            /**
             * Format: date-time
             * @description This field indicates the specific moment when the coupon amount is fully utilized or when the coupon is removed from the customer's coupon list. It is expressed in UTC format according to the ISO 8601 datetime standard.
             * @example 2022-04-29T08:59:51Z
             */
            terminated_at?: string | null;
        };
        CreditObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the credit within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the credit's item record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The amount of credit associated with the invoice, expressed in cents.
             * @example 1200
             */
            amount_cents: number;
            /**
             * @description The currency of the credit.
             * @example EUR
             */
            amount_currency: components["schemas"]["Currency"];
            /**
             * @description Indicates whether the credit is applied on the amount before taxes (coupons) or after taxes (credit notes). This flag helps determine the order in which credits are applied to the invoice calculation
             * @example false
             */
            before_taxes: boolean;
            /** @description The item attached to the credit. */
            item: {
                /**
                 * Format: uuid
                 * @description Unique identifier assigned to the credit item within the Lago application.
                 * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                 */
                lago_item_id: string;
                /**
                 * @description The type of credit applied. Possible values are `coupon`, `credit_note` or `invoice` (for `progressive_billing` invoice).
                 * @example coupon
                 * @enum {string}
                 */
                type: "coupon" | "credit_note" | "invoice";
                /**
                 * @description The code of the credit applied. It can be the code of the coupon attached to the credit, the credit note's number or the `progressive_billing` invoice number.
                 * @example startup_deal
                 */
                code: string;
                /**
                 * @description The name of the credit applied. It can be the name of the coupon attached to the credit, the initial invoice's number linked to the credit note or the `progressive_billing` invoice number.
                 * @example Startup Deal
                 */
                name: string;
            };
            invoice: {
                /**
                 * Format: uuid
                 * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                 */
                lago_id: string;
                /**
                 * @example succeeded
                 * @enum {string}
                 */
                payment_status: "pending" | "succeeded" | "failed";
            };
        };
        AppliedCouponObjectExtended: components["schemas"]["AppliedCouponObject"] & {
            credits: components["schemas"]["CreditObject"][];
        };
        AppliedCouponsPaginated: {
            applied_coupons: components["schemas"]["AppliedCouponObjectExtended"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        AppliedCouponInput: {
            applied_coupon: {
                /**
                 * @description The customer external unique identifier (provided by your own application)
                 * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
                 */
                external_customer_id: string;
                /**
                 * @description Unique code used to identify the coupon.
                 * @example startup_deal
                 */
                coupon_code: string;
                /**
                 * @description The type of frequency for the coupon. It can have three possible values: `once`, `recurring` or `forever`.
                 *
                 *     - If set to `once`, the coupon is applicable only for a single use.
                 *     - If set to `recurring`, the coupon can be used multiple times for recurring billing periods.
                 *     - If set to `forever`, the coupon has unlimited usage and can be applied indefinitely.
                 * @example recurring
                 * @enum {string|null}
                 */
                frequency?: "once" | "recurring" | "forever" | null;
                /**
                 * @description Specifies the number of billing periods to which the coupon applies. This field is required only for coupons with a `recurring` frequency type
                 * @example 3
                 */
                frequency_duration?: number | null;
                /**
                 * @description The amount of the coupon in cents. This field is required only for coupon with `fixed_amount` type.
                 * @example 2000
                 */
                amount_cents?: number | null;
                /**
                 * @description The currency of the coupon. This field is required only for coupon with `fixed_amount` type.
                 * @example EUR
                 */
                amount_currency?: components["schemas"]["CurrencyOrNull"];
                /**
                 * @description The percentage rate of the coupon. This field is required only for coupons with a `percentage` coupon type.
                 * @example null
                 */
                percentage_rate?: string | null;
            };
        };
        AppliedCoupon: {
            applied_coupon: components["schemas"]["AppliedCouponObject"];
        };
        /** @description Values used to apply differentiated pricing based on additional event properties. */
        BillableMetricFilterObject: {
            /**
             * @description Filter key to add to the event properties payload
             * @example region
             */
            key: string;
            /** @description List of possible filter values */
            values: string[];
        };
        BillableMetricObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the billable metric created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description Name of the billable metric.
             * @example Storage
             */
            name: string;
            /**
             * @description Unique code used to identify the billable metric associated with the API request. This code associates each event with the correct metric.
             * @example storage
             */
            code: string;
            /**
             * @description Internal description of the billable metric.
             * @example GB of storage used in my application
             */
            description?: string | null;
            /**
             * @description Defines if the billable metric is persisted billing period over billing period.
             *
             *     - If set to `true`: the accumulated number of units calculated from the previous billing period is persisted to the next billing period.
             *     - If set to `false`: the accumulated number of units is reset to 0 at the end of the billing period.
             *     - If not defined in the request, default value is `false`.
             * @example false
             */
            recurring: boolean;
            /**
             * @description Refers to the numeric value or mathematical expression that will be rounded based on the calculated number of billing units. Possible values are `round`, `ceil` and `floor`.
             * @example round
             * @enum {string|null}
             */
            rounding_function?: "ceil" | "floor" | "round" | null;
            /**
             * @description Specifies the number of decimal places to which the `rounding_function` will be rounded. It can be a positive or negative value.
             * @example 2
             */
            rounding_precision?: number | null;
            /**
             * Format: date-time
             * @description Creation date of the billable metric.
             * @example 2022-09-14T16:35:31Z
             */
            created_at: string;
            /**
             * @description Expression used to calculate the event units. The expression is evalutated for each event and the result is then used to calculate the total aggregated units.
             * @example round((ended_at - started_at) * units)
             */
            expression?: string;
            /**
             * @description Property of the billable metric used for aggregating usage data. This field is not required for `count_agg`.
             * @example gb
             */
            field_name?: string | null;
            /**
             * @description Aggregation method used to compute usage for this billable metric.
             * @example sum_agg
             * @enum {string}
             */
            aggregation_type: "count_agg" | "sum_agg" | "max_agg" | "unique_count_agg" | "weighted_sum_agg" | "latest_agg";
            /**
             * @description Parameter exclusively utilized in conjunction with the `weighted_sum` aggregation type. It serves to adjust the aggregation result by assigning weights and proration to the result based on time intervals. When this field is not provided, the default time interval is assumed to be in `seconds`.
             * @example seconds
             * @enum {string|null}
             */
            weighted_interval?: "seconds" | null;
            filters?: components["schemas"]["BillableMetricFilterObject"][];
        };
        BillableMetricsPaginated: {
            billable_metrics: components["schemas"]["BillableMetricObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        /** @description Values used to apply differentiated pricing based on additional event properties. */
        BillableMetricFilterInput: {
            /**
             * @description Filter key to add to the event properties payload
             * @example region
             */
            key: string;
            /** @description List of possible filter values */
            values: string[];
        };
        BillableMetricBaseInput: {
            /**
             * @description Name of the billable metric.
             * @example Storage
             */
            name?: string;
            /**
             * @description Unique code used to identify the billable metric associated with the API request. This code associates each event with the correct metric.
             * @example storage
             */
            code?: string;
            /**
             * @description Internal description of the billable metric.
             * @example GB of storage used in my application
             */
            description?: string | null;
            /**
             * @description Defines if the billable metric is persisted billing period over billing period.
             *
             *     - If set to `true`: the accumulated number of units calculated from the previous billing period is persisted to the next billing period.
             *     - If set to `false`: the accumulated number of units is reset to 0 at the end of the billing period.
             *     - If not defined in the request, default value is `false`.
             * @example false
             */
            recurring?: boolean;
            /**
             * @description Expression used to calculate the event units. The expression is evalutated for each event and the result is then used to calculate the total aggregated units.
             *     Accepted function are `ceil`, `concat` and `round` as well as `+`, `-`, `\` and `*` operations.
             *     Round is accepting an optional second parameter to specify the number of decimal.
             * @example round((ended_at - started_at) * units)
             */
            expression?: string | null;
            /**
             * @description Refers to the numeric value or mathematical expression that will be rounded based on the calculated number of billing units. Possible values are `round`, `ceil` and `floor`.
             * @example round
             * @enum {string|null}
             */
            rounding_function?: "ceil" | "floor" | "round" | null;
            /**
             * @description Specifies the number of decimal places to which the `rounding_function` will be rounded. It can be a positive or negative value.
             * @example 2
             */
            rounding_precision?: number | null;
            /**
             * @description Property of the billable metric used for aggregating usage data. This field is not required for `count_agg`.
             * @example gb
             */
            field_name?: string | null;
            /**
             * @description Aggregation method used to compute usage for this billable metric.
             * @example sum_agg
             * @enum {string}
             */
            aggregation_type?: "count_agg" | "sum_agg" | "max_agg" | "unique_count_agg" | "weighted_sum_agg" | "latest_agg";
            /**
             * @description Parameter exclusively utilized in conjunction with the `weighted_sum` aggregation type. It serves to adjust the aggregation result by assigning weights and proration to the result based on time intervals. When this field is not provided, the default time interval is assumed to be in `seconds`.
             * @example seconds
             * @enum {string|null}
             */
            weighted_interval?: "seconds" | null;
            filters?: components["schemas"]["BillableMetricFilterInput"][];
        };
        BillableMetricCreateInput: {
            billable_metric: components["schemas"]["BillableMetricBaseInput"];
        };
        BillableMetric: {
            billable_metric: components["schemas"]["BillableMetricObject"];
        };
        BillableMetricEvaluateExpressionInput: {
            /**
             * @description Expression used to calculate the event units. The expression is evalutated for each event and the result is then used to calculate the total aggregated units.
             *     Accepted function are `ceil`, `concat` and `round` as well as `+`, `-`, `\` and `*` operations.
             *     Round is accepting an optional second parameter to specify the number of decimal.
             * @example round((ended_at - started_at) * units)
             */
            expression: string;
            event: {
                /**
                 * @description The code that identifies a targeted billable metric.
                 * @example storage
                 */
                code: string;
                /**
                 * @description This field captures the Unix timestamp in seconds indicating the occurrence of the event in Coordinated Universal Time (UTC).
                 *     If this timestamp is not provided, the API will automatically set it to the time of event reception.
                 * @example 1651240791
                 */
                timestamp?: number | string;
                /**
                 * @description This field represents additional properties associated with the event. They can be used when evaluating the expression.
                 * @example {
                 *       "gb": 10
                 *     }
                 */
                properties: {
                    [key: string]: string | number;
                };
            };
        };
        BillableMetricEvaluateExpressionResult: {
            expression_result: {
                /**
                 * @description Result of evaluating the expression
                 * @example 1
                 */
                value: string | number;
            };
        };
        BillableMetricUpdateInput: {
            billable_metric: components["schemas"]["BillableMetricBaseInput"];
        };
        FeaturePrivilegeObject: {
            /**
             * @description Unique code for the privilege.
             * @example max
             */
            code: string;
            /**
             * @description Display name for the privilege.
             * @example Maximum
             */
            name: string | null;
            /**
             * @description Data type of the privilege value. Default: string
             * @example integer
             * @enum {string}
             */
            value_type: "integer" | "boolean" | "string" | "select";
            config: {
                /**
                 * @description Array of string, required only when value_type is `select`.
                 * @example [
                 *       "google",
                 *       "okta"
                 *     ]
                 */
                select_options?: string[];
            };
        };
        FeatureObject: {
            /**
             * @description Unique code used to identify the feature. Max 255 characters.
             * @example seats
             */
            code: string;
            /**
             * @description Name of the feature. Max 255 characters.
             * @example Number of seats
             */
            name: string | null;
            /**
             * @description Description of the feature. Max 600 characters.
             * @example Number of users of the account
             */
            description: string | null;
            /**
             * @description Privileges associated with this feature. Can be empty.
             * @example [
             *       {
             *         "code": "max",
             *         "name": "Maximum",
             *         "value_type": "integer",
             *         "config": {}
             *       },
             *       {
             *         "code": "max_admins",
             *         "name": "Max Admins",
             *         "value_type": "integer",
             *         "config": {}
             *       },
             *       {
             *         "code": "root",
             *         "name": "Allow root user",
             *         "value_type": "boolean",
             *         "config": {}
             *       },
             *       {
             *         "code": "provider",
             *         "name": "SSO Provider",
             *         "value_type": "select",
             *         "config": {
             *           "select_options": [
             *             "google",
             *             "okta"
             *           ]
             *         }
             *       }
             *     ]
             */
            privileges: components["schemas"]["FeaturePrivilegeObject"][];
            /**
             * Format: date-time
             * @description Creation date of the feature.
             * @example 2025-07-17T12:34:35Z
             */
            created_at: string;
        };
        FeaturesPaginated: {
            features: components["schemas"]["FeatureObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        FeatureBaseInput: {
            /**
             * @description Name of the feature.
             * @example Number of seats
             */
            name?: string | null;
            /**
             * @description Internal description of the feature.
             * @example Number of users of the account
             */
            description?: string | null;
            /**
             * @description Privileges associated with this feature. Can be empty.
             * @example [
             *       {
             *         "code": "max",
             *         "name": "Maximum",
             *         "value_type": "integer"
             *       },
             *       {
             *         "code": "max_admins",
             *         "name": "Max Admins",
             *         "value_type": "integer"
             *       },
             *       {
             *         "code": "root",
             *         "name": "Allow root user",
             *         "value_type": "boolean"
             *       },
             *       {
             *         "code": "provider",
             *         "name": "SSO Provider",
             *         "value_type": "select",
             *         "config": {
             *           "select_options": [
             *             "google",
             *             "okta"
             *           ]
             *         }
             *       }
             *     ]
             */
            privileges?: {
                /**
                 * @description Unique code for the privilege.
                 * @example max
                 */
                code: string;
                /**
                 * @description Display name for the privilege.
                 * @example Maximum
                 */
                name?: string | null;
                /**
                 * @description Data type of the privilege value. Default: string
                 * @example integer
                 * @enum {string}
                 */
                value_type?: "integer" | "boolean" | "string" | "select";
                config?: {
                    /**
                     * @description Array of string, required only when value_type is `select`.
                     * @example [
                     *       "google",
                     *       "okta"
                     *     ]
                     */
                    select_options?: string[];
                };
            }[];
        };
        FeatureCreateInput: {
            feature: components["schemas"]["FeatureBaseInput"] & {
                /**
                 * @description Unique code used to identify the feature.
                 * @example seats
                 */
                code: string;
            };
        };
        Feature: {
            feature: components["schemas"]["FeatureObject"];
        };
        FeatureUpdateInput: {
            feature: components["schemas"]["FeatureBaseInput"];
        };
        CouponObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the coupon, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The name of the coupon.
             * @example Startup Deal
             */
            name: string;
            /**
             * @description Unique code used to identify the coupon.
             * @example startup_deal
             */
            code: string;
            /**
             * @description Description of the coupon.
             * @example I am a coupon description
             */
            description?: string | null;
            /**
             * @description The type of the coupon. It can have two possible values: `fixed_amount` or `percentage`.
             *
             *     - If set to `fixed_amount`, the coupon represents a fixed amount discount.
             *     - If set to `percentage`, the coupon represents a percentage-based discount.
             * @example fixed_amount
             * @enum {string}
             */
            coupon_type: "fixed_amount" | "percentage";
            /**
             * @description The amount of the coupon in cents. This field is required only for coupon with `fixed_amount` type.
             * @example 5000
             */
            amount_cents?: number | null;
            /**
             * @description The currency of the coupon. This field is required only for coupon with `fixed_amount` type.
             * @example USD
             */
            amount_currency?: components["schemas"]["CurrencyOrNull"];
            /**
             * @description Indicates whether the coupon can be reused or not. If set to `true`, the coupon is reusable, meaning it can be applied multiple times to the same customer. If set to `false`, the coupon can only be used once and is not reusable. If not specified, this field is set to `true` by default.
             * @example true
             */
            reusable: boolean;
            /**
             * @description The coupon is limited to specific plans. The possible values can be `true` or `false`.
             * @example true
             */
            limited_plans: boolean;
            /**
             * @description An array of plan codes to which the coupon is applicable. By specifying the plan codes in this field, you can restrict the coupon's usage to specific plans only.
             * @example [
             *       "startup_plan"
             *     ]
             */
            plan_codes?: string[];
            /**
             * @description The coupon is limited to specific billable metrics. The possible values can be `true` or `false`.
             * @example false
             */
            limited_billable_metrics: boolean;
            /**
             * @description An array of billable metric codes to which the coupon is applicable. By specifying the billable metric codes in this field, you can restrict the coupon's usage to specific metrics only.
             * @example []
             */
            billable_metric_codes?: string[];
            /**
             * @description The percentage rate of the coupon. This field is required only for coupons with a `percentage` coupon type.
             * @example null
             */
            percentage_rate?: string | null;
            /**
             * @description The type of frequency for the coupon. It can have three possible values: `once`, `recurring`, or `forever`.
             *
             *     - If set to `once`, the coupon is applicable only for a single use.
             *     - If set to `recurring`, the coupon can be used multiple times for recurring billing periods.
             *     - If set to `forever`, the coupon has unlimited usage and can be applied indefinitely.
             * @example recurring
             * @enum {string}
             */
            frequency: "once" | "recurring" | "forever";
            /**
             * @description Specifies the number of billing periods to which the coupon applies. This field is required only for coupons with a `recurring` frequency type
             * @example 6
             */
            frequency_duration?: number | null;
            /**
             * @description Specifies the type of expiration for the coupon. It can have two possible values: `time_limit` or `no_expiration`.
             *
             *     - If set to `time_limit`, the coupon has an expiration based on a specified time limit.
             *     - If set to `no_expiration`, the coupon does not have an expiration date and remains valid indefinitely.
             * @example time_limit
             * @enum {string}
             */
            expiration: "no_expiration" | "time_limit";
            /**
             * Format: date-time
             * @description The expiration date and time of the coupon. This field is required only for coupons with `expiration` set to `time_limit`. The expiration date and time should be specified in UTC format according to the ISO 8601 datetime standard. It indicates the exact moment when the coupon will expire and is no longer valid.
             * @example 2022-08-08T23:59:59Z
             */
            expiration_at?: string | null;
            /**
             * Format: date-time
             * @description The date and time when the coupon was created. It is expressed in UTC format according to the ISO 8601 datetime standard. This field provides the timestamp for the exact moment when the coupon was initially created.
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
            /**
             * Format: date-time
             * @description This field indicates if the coupon has been terminated and is no longer usable. If it's not null, it won't be removed for existing customers using it, but it prevents the coupon from being applied in the future.
             * @example 2022-08-08T23:59:59Z
             */
            terminated_at?: string | null;
        };
        CouponsPaginated: {
            coupons: components["schemas"]["CouponObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        CouponBaseInput: {
            /**
             * @description The name of the coupon.
             * @example Startup Deal
             */
            name?: string;
            /**
             * @description Unique code used to identify the coupon.
             * @example startup_deal
             */
            code?: string;
            /**
             * @description Description of the coupon.
             * @example I am a coupon description
             */
            description?: string | null;
            /**
             * @description The type of the coupon. It can have two possible values: `fixed_amount` or `percentage`.
             *
             *     - If set to `fixed_amount`, the coupon represents a fixed amount discount.
             *     - If set to `percentage`, the coupon represents a percentage-based discount.
             * @example fixed_amount
             * @enum {string}
             */
            coupon_type?: "fixed_amount" | "percentage";
            /**
             * @description The amount of the coupon in cents. This field is required only for coupon with `fixed_amount` type.
             * @example 5000
             */
            amount_cents?: number | null;
            /**
             * @description The currency of the coupon. This field is required only for coupon with `fixed_amount` type.
             * @example USD
             */
            amount_currency?: components["schemas"]["CurrencyOrNull"];
            /**
             * @description Indicates whether the coupon can be reused or not. If set to `true`, the coupon is reusable, meaning it can be applied multiple times to the same customer. If set to `false`, the coupon can only be used once and is not reusable. If not specified, this field is set to `true` by default.
             * @example false
             */
            reusable?: boolean;
            /**
             * @description The percentage rate of the coupon. This field is required only for coupons with a `percentage` coupon type.
             * @example null
             */
            percentage_rate?: string | null;
            /**
             * @description The type of frequency for the coupon. It can have three possible values: `once`, `recurring` or `forever`.
             *
             *     - If set to `once`, the coupon is applicable only for a single use.
             *     - If set to `recurring`, the coupon can be used multiple times for recurring billing periods.
             *     - If set to `forever`, the coupon has unlimited usage and can be applied indefinitely.
             * @example recurring
             * @enum {string}
             */
            frequency?: "once" | "recurring" | "forever";
            /**
             * @description Specifies the number of billing periods to which the coupon applies. This field is required only for coupons with a `recurring` frequency type
             * @example 6
             */
            frequency_duration?: number | null;
            /**
             * @description Specifies the type of expiration for the coupon. It can have two possible values: `time_limit` or `no_expiration`.
             *
             *     - If set to `time_limit`, the coupon has an expiration based on a specified time limit.
             *     - If set to `no_expiration`, the coupon does not have an expiration date and remains valid indefinitely.
             * @example time_limit
             * @enum {string}
             */
            expiration?: "no_expiration" | "time_limit";
            /**
             * Format: date-time
             * @description The expiration date and time of the coupon. This field is required only for coupons with `expiration` set to `time_limit`. The expiration date and time should be specified in UTC format according to the ISO 8601 datetime standard. It indicates the exact moment when the coupon will expire and is no longer valid.
             * @example 2022-08-08T23:59:59Z
             */
            expiration_at?: string | null;
            /** @description Set coupon limitations to plans or specific metrics. */
            applies_to?: {
                /**
                 * @description An array of plan codes to which the coupon is applicable. By specifying the plan codes in this field, you can restrict the coupon's usage to specific plans only.
                 * @example [
                 *       "startup_plan"
                 *     ]
                 */
                plan_codes?: string[] | null;
                /**
                 * @description An array of billable metric codes to which the coupon is applicable. By specifying the billable metric codes in this field, you can restrict the coupon's usage to specific metrics only.
                 * @example []
                 */
                billable_metric_codes?: string[] | null;
            } | null;
        };
        CouponCreateInput: {
            coupon: components["schemas"]["CouponBaseInput"];
        };
        Coupon: {
            coupon: components["schemas"]["CouponObject"];
        };
        CouponUpdateInput: {
            coupon: components["schemas"]["CouponBaseInput"];
        };
        FeeAmountDetails: {
            /**
             * @description The base cost of the plan, excluding any applicable taxes, that is billed on a recurring basis. This value is defined at 0 if your plan is a pay-as-you-go plan.
             * @example 10000
             */
            plan_amount_cents?: number;
            /** @description Graduated ranges, used for a `graduated` charge model. */
            graduated_ranges?: {
                /**
                 * @description Total units received in Lago.
                 * @example 10.0
                 */
                units: string;
                /**
                 * @description Lower value of a tier. It is either 0 or the previous range's `to_value + 1`.
                 * @example 0
                 */
                from_value: number;
                /**
                 * @description Highest value of a tier.
                 *     - This value is higher than the from_value of the same tier.
                 *     - This value is null for the last tier.
                 * @example 10
                 */
                to_value: number | null;
                /**
                 * @description Flat unit amount within a specified tier.
                 * @example 1.0
                 */
                flat_unit_amount: string;
                /**
                 * @description Amount per unit within a specified tier.
                 * @example 1.0
                 */
                per_unit_amount: string;
                /**
                 * @description Total amount of received units to be charged within a specified tier.
                 * @example 10.0
                 */
                per_unit_total_amount: string;
                /**
                 * @description Total amount to be charged for a specific tier, taking into account the flat_unit_amount and the per_unit_total_amount.
                 * @example 11.0
                 */
                total_with_flat_amount: string;
            }[];
            /** @description Graduated percentage ranges, used for a `graduated_percentage` charge model. */
            graduated_percentage_ranges?: {
                /**
                 * @description Total units received in Lago.
                 * @example 10.0
                 */
                units: string;
                /**
                 * @description Lower value of a tier. It is either 0 or the previous range's `to_value + 1`.
                 * @example 0
                 */
                from_value: number;
                /**
                 * @description Highest value of a tier.
                 *     - This value is higher than the from_value of the same tier.
                 *     - This value is null for the last tier.
                 * @example 10
                 */
                to_value: number | null;
                /**
                 * @description Flat unit amount within a specified tier.
                 * @example 1.0
                 */
                flat_unit_amount: string;
                /**
                 * Format: ^[0-9]+.?[0-9]*$
                 * @description Percentage rate applied within a specified tier.
                 * @example 1.0
                 */
                rate: string;
                /**
                 * @description Total amount of received units to be charged within a specified tier.
                 * @example 10.0
                 */
                per_unit_total_amount: string;
                /**
                 * @description Total amount to be charged for a specific tier, taking into account the flat_unit_amount and the per_unit_total_amount.
                 * @example 11.0
                 */
                total_with_flat_amount: string;
            }[];
            /**
             * @description The quantity of units that are provided free of charge for each billing period in a `package` charge model.
             * @example 10.0
             */
            free_units?: string;
            /**
             * @description The quantity of units that are not provided free of charge for each billing period in a `package` charge model.
             * @example 40.0
             */
            paid_units?: string;
            /**
             * @description The quantity of units included, defined for Package or Percentage charge model.
             * @example 1000
             */
            per_package_size?: number;
            /**
             * @description Total amount to charge for received paid_units, defined for Package or Percentage charge model.
             * @example 0.5
             */
            per_package_unit_amount?: string;
            /**
             * @description Total amount of received units to be charged for the Volume or Percentage charge model.
             * @example 10.0
             */
            per_unit_total_amount?: string;
            /**
             * @description The total units received in Lago for the Percentage charge model.
             * @example 20.0
             */
            units?: string;
            /**
             * @description Total number of free events allowed for the Percentage charge model.
             * @example 10
             */
            free_events?: number;
            /**
             * Format: ^[0-9]+.?[0-9]*$
             * @description Percentage rate applied for the Percentage charge model.
             * @example 1.0
             */
            rate?: string;
            /**
             * @description Total number of paid events for the Percentage charge model.
             * @example 20
             */
            paid_events?: number;
            /**
             * @description Fixed fee unit price per received paid_event for the Percentage charge model.
             * @example 1.0
             */
            fixed_fee_unit_amount?: string;
            /**
             * @description Total amount to charge for received paid_events for the Percentage charge model.
             * @example 20.0
             */
            fixed_fee_total_amount?: string;
            /**
             * @description Total adjustment amount linked to minimum and maximum spending per transaction for the Percentage charge model.
             * @example 20.0
             */
            min_max_adjustment_total_amount?: string;
            /**
             * @description The flat amount for a whole tier, excluding tax, for a `volume` charge model.
             * @example 0.5
             */
            per_unit_amount?: string;
            /**
             * @description The unit price, excluding tax, for a specific tier of a `volume` charge model.
             * @example 10.0
             */
            flat_unit_amount?: string;
        };
        BaseAppliedTax: {
            /**
             * Format: uuid
             * @description Unique identifier of the applied tax, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * Format: uuid
             * @description Unique identifier of the tax, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_tax_id: string | null;
            /**
             * @description Name of the tax.
             * @example TVA
             */
            tax_name: string;
            /**
             * @description Unique code used to identify the tax associated with the API request.
             * @example french_standard_vat
             */
            tax_code: string;
            /**
             * @description The percentage rate of the tax
             * @example 20
             */
            tax_rate: number;
            /**
             * @description Internal description of the tax
             * @example French standard VAT
             */
            tax_description: string | null;
            /**
             * @description Amount of the tax
             * @example 2000
             */
            amount_cents: number;
            /**
             * @description Currency of the tax
             * @example USD
             */
            amount_currency: components["schemas"]["Currency"];
            /**
             * Format: date-time
             * @description The date and time when the applied tax was created. It is expressed in UTC format according to the ISO 8601 datetime standard. This field provides the timestamp for the exact moment when the applied tax was initially created.
             * @example 2022-09-14T16:35:31Z
             */
            created_at: string;
        };
        FeeAppliedTaxObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the fee, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_fee_id?: string;
        } & components["schemas"]["BaseAppliedTax"];
        PricingUnitDetailsObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the pricing unit, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_pricing_unit_id: string;
            /**
             * @description The code of the pricing unit.
             * @example credits
             */
            pricing_unit_code: string;
            /**
             * @description The short name of the pricing unit. Will be used as currency name in the UI and PDFs.
             * @example CR
             */
            short_name: string;
            /**
             * @description The amount in cents in the pricing unit.
             * @example 200
             */
            amount_cents: number;
            /**
             * @description The precise amount in cents in the pricing unit.
             * @example 200.0
             */
            precise_amount_cents: string;
            /**
             * @description The unit amount in cents in the pricing unit.
             * @example 100
             */
            unit_amount_cents: number;
            /**
             * @description The precise unit amount in the pricing unit.
             * @example 100.0
             */
            precise_unit_amount: string;
            /**
             * @description The conversion rate from pricing units to the plan's currency.
             * @example 0.5
             */
            conversion_rate: string;
        };
        FeeObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the fee within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the fee's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id?: string | null;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the charge that the fee belongs to
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_charge_id?: string | null;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the charge filter that the fee belongs to
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_charge_filter_id?: string | null;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the fixed charge that the fee belongs to
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_fixed_charge_id?: string | null;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the invoice that the fee belongs to
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_invoice_id?: string | null;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the true-up fee when a minimum has been set to the charge. This identifier helps to distinguish and manage the true-up fee associated with the charge, which may be applicable when a minimum threshold or limit is set for the charge amount.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_true_up_fee_id?: string | null;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the parent fee on which the true-up fee is assigned. This identifier establishes the relationship between the parent fee and the associated true-up fee.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_true_up_parent_fee_id?: string | null;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the subscription, created by Lago. This field is specifically displayed when the fee type is charge or subscription.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_subscription_id?: string | null;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the customer, created by Lago. This field is specifically displayed when the fee type is charge or subscription.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_customer_id?: string | null;
            /**
             * @description Unique identifier assigned to the customer in your application. This field is specifically displayed when the fee type is charge or subscription.
             * @example external_id
             */
            external_customer_id?: string | null;
            /**
             * @description Unique identifier assigned to the subscription in your application. This field is specifically displayed when the fee type is charge or subscription.
             * @example external_id
             */
            external_subscription_id?: string | null;
            /**
             * @description The cost of this specific fee, excluding any applicable taxes.
             * @example 100
             */
            amount_cents: number;
            /**
             * @description The cost of this specific fee, excluding any applicable taxes, with precision.
             * @example 1.0001
             */
            precise_amount?: string;
            /**
             * @description The cost of this specific fee, including any applicable taxes, with precision.
             * @example 1.0212
             */
            precise_total_amount?: string;
            /**
             * @description The currency of this specific fee. It indicates the monetary unit in which the fee's cost is expressed.
             * @example EUR
             */
            amount_currency: components["schemas"]["Currency"];
            /**
             * @description The cost of the tax associated with this specific fee.
             * @example 20
             */
            taxes_amount_cents: number;
            /**
             * @description The cost of the tax associated with this specific fee, with precision.
             * @example 0.20123
             */
            taxes_precise_amount?: string;
            /**
             * @description The tax rate associated with this specific fee.
             * @example 20
             */
            taxes_rate: number;
            /**
             * @description The number of units used to charge the customer. This field indicates the quantity or count of units consumed or utilized in the context of the charge. It helps in determining the basis for calculating the fee or cost associated with the usage of the service or product provided to the customer.
             * @example 0.32
             */
            units: string;
            /**
             * @description The unit amount of the fee per unit, with precision.
             * @example 312.5
             */
            precise_unit_amount: string;
            /**
             * @description The total number of units that have been aggregated for this specific fee.
             * @example 0.32
             */
            total_aggregated_units: string;
            /**
             * @description The cost of this specific fee, including any applicable taxes.
             * @example 120
             */
            total_amount_cents: number;
            /**
             * @description The currency of this specific fee, including any applicable taxes.
             * @example EUR
             */
            total_amount_currency: components["schemas"]["Currency"];
            /**
             * @description The number of events that have been sent and used to charge the customer. This field indicates the count or quantity of events that have been processed and considered in the charging process.
             * @example 23
             */
            events_count?: number | null;
            /**
             * @description Flag that indicates whether the fee was paid in advance. It serves as a boolean value, where `true` represents that the fee was paid in advance (straightaway), and `false` indicates that the fee was not paid in arrears (at the end of the period).
             * @example true
             */
            pay_in_advance: boolean;
            /**
             * @description Flag that indicates whether the fee was included on the invoice. It serves as a boolean value, where `true` represents that the fee was included on the invoice, and `false` indicates that the fee was not included on the invoice.
             * @example true
             */
            invoiceable: boolean;
            /**
             * Format: date-time
             * @description The beginning date of the period that the fee covers. It is applicable only to `subscription`, `charge`, `fixed_charge` and `commitment` fees. This field indicates the start date of the billing period or subscription period associated with the fee.
             * @example 2022-04-29T08:59:51Z
             */
            from_date?: string | null;
            /**
             * Format: date-time
             * @description The ending date of the period that the fee covers. It is applicable only to `subscription`, `charge`, `fixed_charge` and `commitment` fees. This field indicates the end date of the billing period or subscription period associated with the fee.
             * @example 2022-05-29T08:59:51Z
             */
            to_date?: string | null;
            /**
             * @description Indicates the payment status of the fee. It represents the current status of the payment associated with the fee. The possible values for this field are `pending`, `succeeded`, `failed` and `refunded`.
             * @example pending
             * @enum {string}
             */
            payment_status: "pending" | "succeeded" | "failed" | "refunded";
            /**
             * Format: date-time
             * @description The date and time when the fee was created. It is provided in Coordinated Universal Time (UTC) format.
             * @example 2022-08-24T14:58:59Z
             */
            created_at?: string | null;
            /**
             * Format: date-time
             * @description The date and time when the payment for the fee was successfully processed. It is provided in Coordinated Universal Time (UTC) format.
             * @example 2022-08-24T14:58:59Z
             */
            succeeded_at?: string | null;
            /**
             * Format: date-time
             * @description The date and time when the payment for the fee failed to process. It is provided in Coordinated Universal Time (UTC) format.
             * @example 2022-08-24T14:58:59Z
             */
            failed_at?: string | null;
            /**
             * Format: date-time
             * @description The date and time when the payment for the fee was refunded. It is provided in Coordinated Universal Time (UTC) format
             * @example 2022-08-24T14:58:59Z
             */
            refunded_at?: string | null;
            /**
             * @description Unique identifier assigned to the transaction. This field is specifically displayed when the fee type is `charge` and the payment for the fee is made in advance (`pay_in_advance` is set to `true`).
             * @example transaction_1234567890
             */
            event_transaction_id?: string | null;
            /**
             * @description The description of the fee.
             * @example Fee description
             */
            description?: string | null;
            /**
             * @description The coupon amount applied to the fee, with precision.
             * @example 0.0
             */
            precise_coupons_amount_cents?: string;
            /**
             * @description The sub total of the fee excluding taxes, in cents.
             * @example 100
             */
            sub_total_excluding_taxes_amount_cents: number;
            /**
             * @description The sub total of the fee excluding taxes, with precision.
             * @example 100.0
             */
            sub_total_excluding_taxes_precise_amount_cents: string;
            /** @description List of all unit amount details for calculating the fee. */
            amount_details?: components["schemas"]["FeeAmountDetails"];
            /**
             * @description Indicates if the fee belongs to self-billed invoice. Self-billing is a process where an organization creates the invoice on behalf of the partner.
             * @example false
             */
            self_billed?: boolean;
            /** @description Item attached to the fee */
            item: {
                /**
                 * @description The fee type. Possible values are `add-on`, `charge`, `fixed_charge`, `credit`, `subscription` or `commitment`.
                 * @example subscription
                 * @enum {string}
                 */
                type: "charge" | "fixed_charge" | "add_on" | "subscription" | "credit" | "commitment";
                /**
                 * @description The code of the fee item. It can be the code of the `add-on`, the code of the `charge`, the code of the `fixed_charge`, the code of the `credit` or the code of the `subscription`.
                 * @example startup
                 */
                code: string;
                /**
                 * @description The name of the fee item. The value depends on the type of the fee item:
                 *
                 *     - If the fee item is a `charge`, it is the billable metric name.
                 *     - If the fee item is a `add-on`, it is the add-on name.
                 *     - If the fee item is a `credit`, it is the wallet transaction name if set, or `"credit"` if not.
                 *     - If the fee item is a `fixed_charge`, it is the fixed charge add-on name.
                 *     - For all the other fee items, it is the subscription plan name.
                 * @example Startup
                 */
                name: string;
                /**
                 * @description The description of the fee item. The value depends on the type of the fee item:
                 *
                 *     - If the fee item is a `charge`, it is the billable metric description.
                 *     - If the fee item is a `add-on`, it is the add-on description.
                 *     - If the fee item is a `credit`, it is always `"credit"`.
                 *     - If the fee item is a `fixed_charge`, it is the fixed charge add-on description.
                 *     - For all the other fee items, it is the subscription plan description.
                 * @example Startup
                 */
                description?: string | null;
                /**
                 * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, we'll fallback to a value that depends on the type of the fee items:
                 *
                 *     - If the fee item is a `charge`, we'll fallback to the `invoice_display_name` of the `charge` or the billable metric name if no `invoice_display_name` is set.
                 *     - If the fee item is a `add-on`, we'll fallback to the `invoice_name` of the `add-on` or the `name` of the `add-on`.
                 *     - If the fee item is a `credit`, we'll fallback to the wallet transaction name if set, or `credit` if not.
                 *     - If the fee item is a `fixed_charge`, we'll fallback to the `invoice_display_name` of the `fixed_charge` or the `invoice_name` of the `fixed_charge_add_on` if no `invoice_display_name` is set.
                 *     - For all the other fee items, we'll fallback to the `invoice_display_name` of the subscription plan.
                 * @example Setup Fee (SF1)
                 */
                invoice_display_name?: string;
                /**
                 * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the actual charge filter values will be used as the default display name.
                 * @example AWS eu-east-1
                 */
                filter_invoice_display_name?: string | null;
                /** @description Key value list of event properties */
                filters?: {
                    [key: string]: string[];
                } | null;
                /**
                 * Format: uuid
                 * @description Unique identifier of the fee item, created by Lago. It can be the identifier of the `add-on`, the `charge`, the `credit`, the `subscription` or the `commitment`.
                 * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                 */
                lago_item_id: string;
                /**
                 * @description The type of the fee item. Possible values are `AddOn`, `BillableMetric`, `WalletTransaction`, `Subscription`.
                 * @example Subscription
                 * @enum {string}
                 */
                item_type: "AddOn" | "BillableMetric" | "Subscription" | "WalletTransaction";
                /** @description Key value list of event properties aggregated by the charge model */
                grouped_by?: {
                    [key: string]: string;
                };
            };
            /** @description List of fee applied taxes */
            applied_taxes?: components["schemas"]["FeeAppliedTaxObject"][];
            /** @description Details about the pricing unit used and amounts for this fee. */
            pricing_unit_details?: components["schemas"]["PricingUnitDetailsObject"];
        };
        CreditNoteItemObject: {
            /**
             * Format: uuid
             * @description The credit note's item unique identifier, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The credit note's item amount, expressed in cents.
             * @example 100
             */
            amount_cents: number;
            /**
             * @description The credit note's item currency.
             * @example EUR
             */
            amount_currency: components["schemas"]["Currency"];
            /** @description The fee object related to the credit note item. */
            fee: components["schemas"]["FeeObject"];
        };
        CreditNoteAppliedTaxObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the credit note, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_credit_note_id?: string;
            /** @example 100 */
            base_amount_cents?: number;
        } & components["schemas"]["BaseAppliedTax"];
        /**
         * @example US
         * @enum {string|null}
         */
        CountryOrNull: null | "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AS" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CC" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CU" | "CV" | "CW" | "CX" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FM" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HM" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IR" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MH" | "MK" | "ML" | "MM" | "MN" | "MO" | "MP" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NF" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PW" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SD" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SY" | "SZ" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "UM" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VI" | "VN" | "VU" | "WF" | "WS" | "YE" | "YT" | "ZA" | "ZM" | "ZW";
        /**
         * @example America/Los_Angeles
         * @enum {string|null}
         */
        TimezoneOrNull: null | "UTC" | "Africa/Algiers" | "Africa/Cairo" | "Africa/Casablanca" | "Africa/Harare" | "Africa/Johannesburg" | "Africa/Monrovia" | "Africa/Nairobi" | "America/Argentina/Buenos_Aires" | "America/Bogota" | "America/Caracas" | "America/Chicago" | "America/Chihuahua" | "America/Denver" | "America/Godthab" | "America/Guatemala" | "America/Guyana" | "America/Halifax" | "America/Indiana/Indianapolis" | "America/Juneau" | "America/La_Paz" | "America/Lima" | "America/Los_Angeles" | "America/Mazatlan" | "America/Mexico_City" | "America/Monterrey" | "America/Montevideo" | "America/New_York" | "America/Phoenix" | "America/Puerto_Rico" | "America/Regina" | "America/Santiago" | "America/Sao_Paulo" | "America/St_Johns" | "America/Tijuana" | "Asia/Almaty" | "Asia/Baghdad" | "Asia/Baku" | "Asia/Bangkok" | "Asia/Chongqing" | "Asia/Colombo" | "Asia/Dhaka" | "Asia/Hong_Kong" | "Asia/Irkutsk" | "Asia/Jakarta" | "Asia/Jerusalem" | "Asia/Kabul" | "Asia/Kamchatka" | "Asia/Karachi" | "Asia/Kathmandu" | "Asia/Kolkata" | "Asia/Krasnoyarsk" | "Asia/Kuala_Lumpur" | "Asia/Kuwait" | "Asia/Magadan" | "Asia/Muscat" | "Asia/Novosibirsk" | "Asia/Rangoon" | "Asia/Riyadh" | "Asia/Seoul" | "Asia/Shanghai" | "Asia/Singapore" | "Asia/Srednekolymsk" | "Asia/Taipei" | "Asia/Tashkent" | "Asia/Tbilisi" | "Asia/Tehran" | "Asia/Tokyo" | "Asia/Ulaanbaatar" | "Asia/Urumqi" | "Asia/Vladivostok" | "Asia/Yakutsk" | "Asia/Yekaterinburg" | "Asia/Yerevan" | "Atlantic/Azores" | "Atlantic/Cape_Verde" | "Atlantic/South_Georgia" | "Australia/Adelaide" | "Australia/Brisbane" | "Australia/Darwin" | "Australia/Hobart" | "Australia/Melbourne" | "Australia/Perth" | "Australia/Sydney" | "Europe/Amsterdam" | "Europe/Athens" | "Europe/Belgrade" | "Europe/Berlin" | "Europe/Bratislava" | "Europe/Brussels" | "Europe/Bucharest" | "Europe/Budapest" | "Europe/Copenhagen" | "Europe/Dublin" | "Europe/Helsinki" | "Europe/Istanbul" | "Europe/Kaliningrad" | "Europe/Kiev" | "Europe/Lisbon" | "Europe/Ljubljana" | "Europe/London" | "Europe/Madrid" | "Europe/Minsk" | "Europe/Moscow" | "Europe/Paris" | "Europe/Prague" | "Europe/Riga" | "Europe/Rome" | "Europe/Samara" | "Europe/Sarajevo" | "Europe/Skopje" | "Europe/Sofia" | "Europe/Stockholm" | "Europe/Tallinn" | "Europe/Vienna" | "Europe/Vilnius" | "Europe/Volgograd" | "Europe/Warsaw" | "Europe/Zagreb" | "Europe/Zurich" | "GMT+12" | "Pacific/Apia" | "Pacific/Auckland" | "Pacific/Chatham" | "Pacific/Fakaofo" | "Pacific/Fiji" | "Pacific/Guadalcanal" | "Pacific/Guam" | "Pacific/Honolulu" | "Pacific/Majuro" | "Pacific/Midway" | "Pacific/Noumea" | "Pacific/Pago_Pago" | "Pacific/Port_Moresby" | "Pacific/Tongatapu";
        /** @description Configuration specific to the payment provider, utilized for billing the customer. This object contains settings and parameters necessary for processing payments and invoicing the customer. */
        CustomerBillingConfiguration: {
            /**
             * @description The grace period, expressed in days, for the invoice. This period refers to the additional time granted to the customer beyond the invoice due date to adjust usage and line items
             * @example 3
             */
            invoice_grace_period?: number;
            /**
             * @description Defines whether the issuing date follows the current billing period's end date or the next period starting date.
             * @default null
             * @example next_period_start
             * @enum {string|null}
             */
            subscription_invoice_issuing_date_anchor: "current_period_end" | "next_period_start" | null;
            /**
             * @description The logic applied on top of the subscription_invoice_issuing_date_anchor rule. You can opt to use the invoice finalization date, that includes any configured grace period.
             * @default null
             * @example keep_anchor
             * @enum {string|null}
             */
            subscription_invoice_issuing_date_adjustment: "align_with_finalization_date" | "keep_anchor" | null;
            /**
             * @description The payment provider utilized to initiate payments for invoices issued by Lago.
             *     Accepted values: `stripe`, `adyen`, `gocardless` or null. This field is required if you intend to assign a `provider_customer_id`.
             * @example stripe
             * @enum {string}
             */
            payment_provider?: "stripe" | "adyen" | "gocardless";
            /**
             * @description Unique code used to identify a payment provider connection.
             * @example stripe-eu-1
             */
            payment_provider_code?: string;
            /**
             * @description The customer ID within the payment provider's system. If this field is not provided, Lago has the option to create a new customer record within the payment provider's system on behalf of the customer
             * @example cus_12345
             */
            provider_customer_id?: string;
            /**
             * @description Set this field to `true` if you want to create the customer in the payment provider synchronously with the customer creation process in Lago. This option is applicable only when the `provider_customer_id` is `null` and the customer is automatically created in the payment provider through Lago. By default, the value is set to `false`
             * @example true
             */
            sync?: boolean;
            /**
             * @description Set this field to `true` if you want to create a customer record in the payment provider's system. This option is applicable only when the `provider_customer_id` is null and the `sync_with_provider` field is set to `true`. By default, the value is set to `false`
             * @example true
             */
            sync_with_provider?: boolean;
            /**
             * @description The document locale, specified in the ISO 639-1 format. This field represents the language or locale used for the documents issued by Lago
             * @example fr
             */
            document_locale?: string;
            /**
             * @description Specifies the available payment methods that can be used for this customer when `payment_provider` is set to `stripe`. The `provider_payment_methods` field is an array that allows multiple payment options to be defined. If this field is not explicitly set, the payment methods will be set to `card`. For now, possible values are `card`, `sepa_debit`, `us_bank_account`, `bacs_debit`, `boleto`, `link`, `crypto` and `customer_balance`. Note that when `link` is selected, `card` should also be provided in the array. When `customer_balance` is selected, no other payment can be selected.
             * @example [
             *       "card",
             *       "sepa_debit",
             *       "us_bank_account",
             *       "bacs_debit",
             *       "link",
             *       "boleto",
             *       "crypto",
             *       "customer_balance"
             *     ]
             */
            provider_payment_methods?: string[] | null;
        };
        /** @description Configuration specific to the payment provider, utilized for billing the customer. This object contains settings and parameters necessary for processing payments and invoicing the customer. */
        Address: {
            /**
             * @description The first line of the billing address
             * @example 5230 Penfield Ave
             */
            address_line1?: string | null;
            /**
             * @description The second line of the billing address
             * @example null
             */
            address_line2?: string | null;
            /**
             * @description The city of the customer's billing address
             * @example Woodland Hills
             */
            city?: string | null;
            /**
             * @description Country code of the customer's billing address. Format must be ISO 3166 (alpha-2)
             * @example US
             */
            country?: components["schemas"]["CountryOrNull"];
            /**
             * @description The state of the customer's billing address
             * @example CA
             */
            state?: string | null;
            /**
             * @description The zipcode of the customer's billing address
             * @example 91364
             */
            zipcode?: string | null;
        };
        /** @description Set of key-value pairs that you can attach to a customer. This can be useful for storing additional information about the customer in a structured format */
        CustomerMetadata: {
            /**
             * Format: uuid
             * @description A unique identifier for the customer metadata object in the Lago application. Can be used to update a key-value pair
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The metadata object key
             * @example Purchase Order
             */
            key: string;
            /**
             * @description The metadata object value
             * @example 123456789
             */
            value: string;
            /**
             * @description Determines whether the item or information should be displayed in the invoice. If set to true, the item or information will be included and visible in the generated invoice. If set to false, the item or information will be excluded and not displayed in the invoice.
             * @example true
             */
            display_in_invoice: boolean;
            /**
             * Format: date-time
             * @description The date of the metadata object creation, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC). The creation_date provides a standardized and internationally recognized timestamp for when the metadata object was created
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
        };
        CustomerBaseObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the customer within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the customer's record within the Lago system
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The unique identifier assigned to the customer within the organization's scope. This identifier is used to track and reference the customer's order of creation within the organization's system. It ensures that each customer has a distinct `sequential_id`` associated with them, allowing for easy identification and sorting based on the order of creation
             * @example 1
             */
            sequential_id: number;
            /**
             * @description A concise and unique identifier for the customer, formed by combining the Organization's `name`, `id`, and customer's `sequential_id`
             * @example LAG-1234-001
             */
            slug: string;
            /**
             * @description The customer external unique identifier (provided by your own application)
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            external_id: string;
            /**
             * @description The unique code of the billing entity associated with the customer.
             * @example acme_corp
             */
            billing_entity_code?: string;
            /**
             * @description The first line of the billing address
             * @example 5230 Penfield Ave
             */
            address_line1?: string | null;
            /**
             * @description The second line of the billing address
             * @example null
             */
            address_line2?: string | null;
            /** @description The customer's applicable timezone, used for billing purposes in their local time. */
            applicable_timezone: components["schemas"]["Timezone"];
            /**
             * @description The city of the customer's billing address
             * @example Woodland Hills
             */
            city?: string | null;
            /**
             * @description Country code of the customer's billing address. Format must be ISO 3166 (alpha-2)
             * @example US
             */
            country?: components["schemas"]["CountryOrNull"];
            /**
             * @description Currency of the customer. Format must be ISO 4217
             * @example USD
             */
            currency?: components["schemas"]["CurrencyOrNull"];
            /**
             * Format: email
             * @description The email of the customer
             * @example dinesh@piedpiper.test
             */
            email?: string | null;
            /**
             * @description The legal company name of the customer
             * @example Coleman-Blair
             */
            legal_name?: string | null;
            /**
             * @description The legal company number of the customer
             * @example 49-008-2965
             */
            legal_number?: string | null;
            /**
             * @description The logo URL of the customer
             * @example http://hooli.com/logo.png
             */
            logo_url?: string | null;
            /**
             * @description The full name of the customer
             * @example Gavin Belson
             */
            name?: string | null;
            /**
             * @description First name of the customer
             * @example Gavin
             */
            firstname?: string | null;
            /**
             * @description Last name of the customer
             * @example Belson
             */
            lastname?: string | null;
            /**
             * @description The type of the account. It can have one of the following values:
             *     - `customer`: the account is a customer.
             *     - `partner`: the account is a partner.
             * @example customer
             * @enum {string}
             */
            account_type?: "customer" | "partner";
            /**
             * @description The type of the customer. It can have one of the following values:
             *     - `company`: the customer is a company.
             *     - `individual`: the customer is an individual.
             * @enum {string|null}
             */
            customer_type?: "company" | "individual" | null;
            /**
             * @description The phone number of the customer
             * @example 1-171-883-3711 x245
             */
            phone?: string | null;
            /**
             * @description The state of the customer's billing address
             * @example CA
             */
            state?: string | null;
            /**
             * @description The tax identification number of the customer
             * @example EU123456789
             */
            tax_identification_number?: string | null;
            /** @description The customer's timezone, used for billing purposes in their local time. Overrides the organization's timezone */
            timezone?: components["schemas"]["TimezoneOrNull"];
            /**
             * @description The custom website URL of the customer
             * @example http://hooli.com
             */
            url?: string | null;
            /**
             * @description The zipcode of the customer's billing address
             * @example 91364
             */
            zipcode?: string | null;
            /**
             * @description The net payment term, expressed in days, specifies the duration within which a customer is expected to remit payment after the invoice is finalized.
             * @example 30
             */
            net_payment_term?: number | null;
            /**
             * Format: date-time
             * @description The date of the customer creation, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC). The creation_date provides a standardized and internationally recognized timestamp for when the customer object was created
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
            /**
             * Format: date-time
             * @description The date of the customer update, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC). The update_date provides a standardized and internationally recognized timestamp for when the customer object was updated
             * @example 2022-04-29T08:59:51Z
             */
            updated_at?: string;
            /**
             * @description Specifies how invoices with a zero total amount should be handled:
             *     - `inherit`: (Default) Follows the organization-level configuration.
             *     - `finalize`: Invoices are issued and finalized even if the total amount is zero.
             *     - `skip`: Invoices with a total amount of zero are not finalized.
             * @example inherit
             * @enum {string}
             */
            finalize_zero_amount_invoice?: "inherit" | "skip" | "finalize";
            /**
             * @description Set to true to exclude all invoice custom sections from PDF generation for this customer only.
             * @example false
             */
            skip_invoice_custom_sections?: boolean;
            billing_configuration?: components["schemas"]["CustomerBillingConfiguration"];
            shipping_address?: components["schemas"]["Address"];
            metadata?: components["schemas"]["CustomerMetadata"][];
        };
        /**
         * @description Custom metadata stored as key-value pairs.
         *     Keys are strings (max 100 characters), values can be strings (max 255 characters) or null.
         * @example {
         *       "external_id": "ext-123",
         *       "synced_at": "2024-01-15",
         *       "source": null
         *     }
         */
        MetadataObject: {
            [key: string]: string | null;
        } | null;
        CreditNoteErrorDetailsObject: {
            /**
             * Format: uuid
             * @description The credit note error details unique identifier, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The type of the error.
             * @example tax_error
             * @enum {string}
             */
            error_code: "not_provided" | "tax_error" | "tax_voiding_error" | "invoice_generation_error";
            /** @description The details of the error. */
            details: Record<string, never>;
        };
        CreditNoteObject: {
            /**
             * Format: uuid
             * @description The credit note unique identifier, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The unique code of the billing entity associated with the credit note.
             * @example acme_corp
             */
            billing_entity_code: string;
            /**
             * @description The sequential identifier of the credit note, specifically scoped on the associated invoice. It provides a unique numerical identifier for the credit note within the context of the invoice.
             * @example 2
             */
            sequential_id: number;
            /**
             * @description The credit note unique number.
             * @example LAG-1234-CN2
             */
            number: string;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the invoice that the credit note belongs to
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_invoice_id: string;
            /**
             * @description The invoice unique number, related to the credit note.
             * @example LAG-1234
             */
            invoice_number: string;
            /**
             * Format: date
             * @description The date of creation of the credit note. It follows the ISO 8601 date format and provides the specific date when the credit note was created.
             * @example 2022-12-06
             */
            issuing_date: string;
            /**
             * @description The status of the credit portion of the credit note. It indicates the current state or condition of the credit amount associated with the credit note. The possible values for this field are:
             *
             *     - `available`: this status indicates that an amount remains available for future usage. The credit can be applied towards future transactions or invoices.
             *     - `consumed`: this status indicates that the credit amount has been fully consumed. The remaining amount is 0, indicating that the credit has been utilized in its entirety.
             *     - `voided`: this status indicates that the remaining amount of the credit cannot be used any further. The credit has been voided and is no longer available for application or redemption.
             * @example available
             * @enum {string|null}
             */
            credit_status?: "available" | "consumed" | "voided" | null;
            /**
             * @description The status of the refund portion of the credit note. It indicates the current state or condition of the refund associated with the credit note. The possible values for this field are:
             *
             *     - `pending`: this status indicates that the refund is pending execution. The refund request has been initiated but has not been processed or completed yet.
             *     - `succeeded`: this status indicates that the refund has been successfully executed. The refund amount has been processed and returned to the customer or the designated recipient.
             *     - `failed`: this status indicates that the refund failed to execute. The refund request encountered an error or unsuccessful processing, and the refund amount could not be returned.
             * @example pending
             * @enum {string|null}
             */
            refund_status?: "pending" | "succeeded" | "failed" | null;
            /**
             * @description The reason of the credit note creation.
             *     Possible values are `duplicated_charge`, `product_unsatisfactory`, `order_change`, `order_cancellation`, `fraudulent_charge` or `other`.
             * @example other
             * @enum {string}
             */
            reason: "duplicated_charge" | "product_unsatisfactory" | "order_change" | "order_cancellation" | "fraudulent_charge" | "other";
            /**
             * @description The description of the credit note.
             * @example Free text
             */
            description?: string | null;
            /**
             * @description The currency of the credit note.
             * @example EUR
             */
            currency: components["schemas"]["Currency"];
            /**
             * @description The total amount of the credit note, expressed in cents.
             * @example 120
             */
            total_amount_cents: number;
            /**
             * @description The tax amount of the credit note, expressed in cents.
             * @example 20
             */
            taxes_amount_cents: number;
            /**
             * @description The tax rate associated with this specific credit note.
             * @example 20
             */
            taxes_rate: number;
            /**
             * @description The subtotal of the credit note excluding any applicable taxes, expressed in cents.
             * @example 100
             */
            sub_total_excluding_taxes_amount_cents: number;
            /**
             * @description The remaining credit note amount, expressed in cents.
             * @example 100
             */
            balance_amount_cents: number;
            /**
             * @description The credited amount of the credit note, expressed in cents.
             * @example 100
             */
            credit_amount_cents: number;
            /**
             * @description The refunded amount of the credit note, expressed in cents.
             * @example 0
             */
            refund_amount_cents: number;
            /**
             * @description The ofsetted amount (deducted from the invoice balance) of the credit note, expressed in cents.
             * @example 0
             */
            offset_amount_cents: number;
            /**
             * @description The pro-rated amount of the coupons applied to the source invoice.
             * @example 20
             */
            coupons_adjustment_amount_cents: number;
            /**
             * Format: date-time
             * @description The date when the credit note was created. It is expressed in Coordinated Universal Time (UTC).
             * @example 2022-09-14T16:35:31Z
             */
            created_at: string;
            /**
             * Format: date-time
             * @description The date when the credit note was last updated. It is expressed in Coordinated Universal Time (UTC).
             * @example 2022-09-14T16:35:31Z
             */
            updated_at: string;
            /**
             * @description The PDF file of the credit note.
             * @example https://getlago.com/credit_note/file
             */
            file_url?: string | null;
            /** @description Array of credit note's items. */
            items?: components["schemas"]["CreditNoteItemObject"][];
            applied_taxes?: components["schemas"]["CreditNoteAppliedTaxObject"][];
            /**
             * @description Indicates if the credit note belongs to self-billed invoice. Self-billing is a process where an organization creates the invoice on behalf of the partner.
             * @example false
             */
            self_billed?: boolean;
            customer?: components["schemas"]["CustomerBaseObject"];
            metadata?: components["schemas"]["MetadataObject"];
            error_details?: components["schemas"]["CreditNoteErrorDetailsObject"][] | null;
        };
        CreditNotesPaginated: {
            credit_notes: components["schemas"]["CreditNoteObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        /**
         * @description Metadata to set as key-value pairs. Keys are strings (max 100 characters), values can be strings (max 255 characters) or null.
         * @example {
         *       "external_id": "ext-123",
         *       "synced_at": "2024-01-15"
         *     }
         */
        MetadataInput: {
            [key: string]: string | null;
        };
        CreditNoteCreateInput: {
            credit_note: {
                /**
                 * Format: uuid
                 * @description The invoice unique identifier, created by Lago.
                 * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                 */
                invoice_id: string;
                /**
                 * @description The reason of the credit note creation.
                 *     Possible values are `duplicated_charge`, `product_unsatisfactory`, `order_change`, `order_cancellation`, `fraudulent_charge` or `other`.
                 * @example duplicated_charge
                 * @enum {string|null}
                 */
                reason?: "duplicated_charge" | "product_unsatisfactory" | "order_change" | "order_cancellation" | "fraudulent_charge" | "other" | null;
                /**
                 * @description The description of the credit note.
                 * @example description
                 */
                description?: string;
                /**
                 * @description The total amount to be credited to the customer balance for discounts on future invoices. For a total or partial refund, credit or offset, the amount in cents must include both the item amount and the applicable tax. The refunded, credited and offsetted amounts should always balance. The total, including taxes, cannot exceed the invoice’s total fees.”
                 * @example 100
                 */
                credit_amount_cents?: number | null;
                /**
                 * @description The total amount to be refunded immediately to the payment method used by the customer. For a total or partial refund, credit or offset, the amount in cents must include both the item amount and the applicable tax. The refunded, credited and offsetted amounts should always balance. The total, including taxes, cannot exceed the invoice’s total fees.”
                 * @example 500
                 */
                refund_amount_cents?: number | null;
                /**
                 * @description The total amount to be immediately deducted from the invoice balance. For a total or partial refund, credit or offset, the amount in cents must include both the item amount and the applicable tax. The refunded, credited and offsetted amounts should always balance. The total, including taxes, cannot exceed the invoice’s total fees.”
                 * @example 200
                 */
                offset_amount_cents?: number | null;
                /**
                 * @description The list of credit note's items.
                 * @example [
                 *       {
                 *         "fee_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
                 *         "amount_cents": 100
                 *       },
                 *       {
                 *         "fee_id": "1a901a90-1a90-1a90-1a90-1a901a901a91",
                 *         "amount_cents": 500
                 *       },
                 *       {
                 *         "fee_id": "1a901a90-1a90-1a90-1a90-1a901a901a92",
                 *         "amount_cents": 200
                 *       }
                 *     ]
                 */
                items: {
                    /**
                     * Format: uuid
                     * @description The fee unique identifier, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    fee_id: string;
                    /**
                     * @description This is the amount of the credit note item excluding taxes, expressed in cents.
                     * @example 100
                     */
                    amount_cents: number;
                }[];
                metadata?: components["schemas"]["MetadataInput"];
            };
        };
        CreditNoteExtendedObject: components["schemas"]["CreditNoteObject"] & {
            customer?: components["schemas"]["CustomerBaseObject"];
        };
        CreditNoteExtended: {
            credit_note: components["schemas"]["CreditNoteExtendedObject"];
        };
        CreditNoteUpdateInput: {
            credit_note: {
                /**
                 * @description The status of the refund portion of the credit note. It indicates the current state or condition of the refund associated with the credit note. The possible values for this field are:
                 *
                 *     - `pending`: this status indicates that the refund is pending execution. The refund request has been initiated but has not been processed or completed yet.
                 *     - `succeeded`: this status indicates that the refund has been successfully executed. The refund amount has been processed and returned to the customer or the designated recipient.
                 *     - `failed`: this status indicates that the refund failed to execute. The refund request encountered an error or unsuccessful processing, and the refund amount could not be returned.
                 * @example succeeded
                 * @enum {string}
                 */
                refund_status: "pending" | "succeeded" | "failed";
                metadata?: components["schemas"]["MetadataInput"];
            };
        };
        CreditNote: {
            credit_note: components["schemas"]["CreditNoteObject"];
        };
        CreditNoteEstimateInput: {
            credit_note: {
                /**
                 * Format: uuid
                 * @description The invoice unique identifier, created by Lago.
                 * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                 */
                invoice_id: string;
                /**
                 * @description The list of credit note's items.
                 * @example [
                 *       {
                 *         "fee_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
                 *         "amount_cents": 10
                 *       },
                 *       {
                 *         "fee_id": "1a901a90-1a90-1a90-1a90-1a901a901a91",
                 *         "amount_cents": 5
                 *       }
                 *     ]
                 */
                items: {
                    /**
                     * Format: uuid
                     * @description The fee unique identifier, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    fee_id: string;
                    /**
                     * @description The amount of the credit note item, expressed in cents.
                     * @example 10
                     */
                    amount_cents: number;
                }[];
            };
        };
        CreditNoteEstimated: {
            estimated_credit_note: {
                /**
                 * Format: uuid
                 * @description Unique identifier assigned to the invoice that the credit note belongs to
                 * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                 */
                lago_invoice_id: string;
                /**
                 * @description The invoice unique number, related to the credit note.
                 * @example LAG-1234
                 */
                invoice_number: string;
                /**
                 * @description The currency of the credit note.
                 * @example EUR
                 */
                currency: components["schemas"]["Currency"];
                /**
                 * @description The tax amount of the credit note, expressed in cents.
                 * @example 20
                 */
                taxes_amount_cents: number;
                /**
                 * @description The precise tax amount of the credit note, expressed in cents with decimal precision.
                 * @example 20.1
                 */
                precise_taxes_amount_cents: number;
                /**
                 * @description The tax rate associated with this specific credit note.
                 * @example 20
                 */
                taxes_rate: number;
                /**
                 * @description The subtotal of the credit note excluding any applicable taxes, expressed in cents.
                 * @example 100
                 */
                sub_total_excluding_taxes_amount_cents: number;
                /**
                 * @description The credited amount of the credit note, expressed in cents.
                 * @example 100
                 */
                max_creditable_amount_cents: number;
                /**
                 * @description The refunded amount of the credit note, expressed in cents.
                 * @example 0
                 */
                max_refundable_amount_cents: number;
                /**
                 * @description The ofsetted amount of the credit note, expressed in cents.
                 * @example 0
                 */
                max_offsettable_amount_cents: number;
                /**
                 * @description The pro-rated amount of the coupons applied to the source invoice.
                 * @example 20
                 */
                coupons_adjustment_amount_cents: number;
                /**
                 * @description The precise pro-rated amount with decimal precision of the coupons applied to the source invoice.
                 * @example 20.1
                 */
                precise_coupons_adjustment_amount_cents: number;
                /** @description Array of credit note's items. */
                items: {
                    /**
                     * @description The credit note's item amount, expressed in cents.
                     * @example 100
                     */
                    amount_cents: number;
                    /**
                     * Format: uuid
                     * @description Unique identifier assigned to the fee within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the fee's record within the Lago system.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    lago_fee_id: string | null;
                }[];
                applied_taxes?: {
                    /**
                     * Format: uuid
                     * @description Unique identifier of the tax, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    lago_tax_id?: string;
                    /**
                     * @description Name of the tax.
                     * @example TVA
                     */
                    tax_name?: string;
                    /**
                     * @description Unique code used to identify the tax associated with the API request.
                     * @example french_standard_vat
                     */
                    tax_code?: string;
                    /**
                     * @description The percentage rate of the tax
                     * @example 20
                     */
                    tax_rate?: number;
                    /**
                     * @description Internal description of the taxe
                     * @example French standard VAT
                     */
                    tax_description?: string;
                    /** @example 100 */
                    base_amount_cents?: number;
                    /**
                     * @description Amount of the tax
                     * @example 2000
                     */
                    amount_cents?: number;
                    /**
                     * @description Currency of the tax
                     * @example USD
                     */
                    amount_currency?: components["schemas"]["Currency"];
                }[];
            };
        };
        ApiErrorNotAllowed: {
            /**
             * Format: int32
             * @example 405
             */
            status: number;
            /** @example Method Not Allowed */
            error: string;
            /** @example not_allowed */
            code: string;
        };
        CreditNoteMetadataResponse: {
            metadata: components["schemas"]["MetadataObject"];
        };
        /** @description Configuration specific to the accounting and tax integrations. This object contains settings and parameters necessary for syncing documents and payments. */
        IntegrationCustomer: {
            /**
             * Format: uuid
             * @description A unique identifier for the integration customer object in the Lago application.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The integration type used for accounting and tax syncs.
             *     Accepted values: `netsuite, anrok`.
             * @example netsuite
             * @enum {string}
             */
            type: "netsuite" | "anrok" | "xero" | "hubspot" | "salesforce";
            /**
             * @description Unique code used to identify an integration connection.
             * @example netsuite-eu-1
             */
            integration_code: string;
            /**
             * @description The customer ID within the integration's system. If this field is not provided, Lago has the option to create a new customer record within the integration's system on behalf of the customer.
             * @example cus_12345
             */
            external_customer_id: string;
            /**
             * @description Set this field to `true` if you want to create a customer record in the integration's system. This option is applicable only when the `external_customer_id` is null and the `sync_with_provider` field is set to `true`. By default, the value is set to `false`
             * @example true
             */
            sync_with_provider?: boolean | null;
            /**
             * @description This optional field is needed only when working with `netsuite` connection.
             * @example 2
             */
            subsidiary_id?: string;
            /**
             * @description This optional field is present only when working with `hubspot` connection.
             * @example contacts
             */
            targeted_object?: string | null;
            /**
             * @description This optional field is present only when working with `hubspot` connection.
             * @example dinesh@piedpiper.test
             */
            email?: string | null;
        };
        CustomerObject: components["schemas"]["CustomerBaseObject"] & {
            integration_customers?: components["schemas"]["IntegrationCustomer"][];
        };
        ErrorDetailObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the error_detail within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the error's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string | null;
            /**
             * @description Code that specifies part of the application / connection, where the error originally happened
             * @example tax_error
             */
            error_code: string;
            /**
             * @description Key value list of more elaborated error detail, where by the key of error_code an external service error details are stored
             * @example {
             *       "tax_error": "taxDateTooFarInFuture"
             *     }
             */
            details: {
                [key: string]: string;
            };
        };
        CustomerObjectExtended: components["schemas"]["CustomerObject"] & {
            metadata?: components["schemas"]["CustomerMetadata"][];
            /** @description List of customer taxes */
            taxes?: components["schemas"]["TaxObject"][];
            /** @description The customer’s invoice custom section used for generating invoices. */
            applicable_invoice_custom_sections?: components["schemas"]["InvoiceCustomSectionObject"][];
            /** @description List of errors with details that might have been raised while processing backgroud actions for the customers */
            error_details?: components["schemas"]["ErrorDetailObject"][];
        };
        CustomersPaginated: {
            customers: components["schemas"]["CustomerObjectExtended"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        CustomerCreateInput: {
            customer: {
                /**
                 * @description The customer external unique identifier (provided by your own application)
                 * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
                 */
                external_id: string;
                /**
                 * @description The unique code of the billing entity to associate with the customer. If not provided, the default billing entity will be used.
                 * @example acme_corp
                 */
                billing_entity_code?: string | null;
                /**
                 * @description The first line of the billing address
                 * @example 5230 Penfield Ave
                 */
                address_line1?: string | null;
                /**
                 * @description The second line of the billing address
                 * @example
                 */
                address_line2?: string | null;
                /**
                 * @description The city of the customer's billing address
                 * @example Woodland Hills
                 */
                city?: string | null;
                /**
                 * @description Country code of the customer's billing address. Format must be ISO 3166 (alpha-2)
                 * @example US
                 */
                country?: components["schemas"]["CountryOrNull"];
                /** @description Currency of the customer. Format must be ISO 4217 */
                currency?: components["schemas"]["CurrencyOrNull"];
                /**
                 * Format: email
                 * @description The email of the customer
                 * @example dinesh@piedpiper.test
                 */
                email?: string | null;
                /**
                 * @description The legal company name of the customer
                 * @example Coleman-Blair
                 */
                legal_name?: string | null;
                /**
                 * @description The legal company number of the customer
                 * @example 49-008-2965
                 */
                legal_number?: string | null;
                /**
                 * @description The logo URL of the customer
                 * @example http://hooli.com/logo.png
                 */
                logo_url?: string | null;
                /**
                 * @description The full name of the customer
                 * @example Gavin Belson
                 */
                name?: string | null;
                /**
                 * @description First name of the customer
                 * @example Gavin
                 */
                firstname?: string | null;
                /**
                 * @description Last name of the customer
                 * @example Belson
                 */
                lastname?: string | null;
                /**
                 * @description The type of the account. It can have one of the following values:
                 *     - `customer`: the account is a customer, default value.
                 *     - `partner`: the account is a partner.
                 * @example customer
                 * @enum {string|null}
                 */
                account_type?: "customer" | "partner" | null;
                /**
                 * @description The type of the customer. It can have one of the following values:
                 *     - `company`: the customer is a company.
                 *     - `individual`: the customer is an individual.
                 * @enum {string|null}
                 */
                customer_type?: "company" | "individual" | null;
                /**
                 * @description The phone number of the customer
                 * @example 1-171-883-3711 x245
                 */
                phone?: string | null;
                /**
                 * @description The state of the customer's billing address
                 * @example CA
                 */
                state?: string | null;
                tax_codes?: components["schemas"]["TaxCodes"];
                /**
                 * @description The tax identification number of the customer
                 * @example EU123456789
                 */
                tax_identification_number?: string | null;
                /** @description The customer's timezone, used for billing purposes in their local time. Overrides the organization's timezone */
                timezone?: components["schemas"]["TimezoneOrNull"];
                /**
                 * @description The custom website URL of the customer
                 * @example http://hooli.com
                 */
                url?: string | null;
                /**
                 * @description The zipcode of the customer's billing address
                 * @example 91364
                 */
                zipcode?: string | null;
                /**
                 * @description The net payment term, expressed in days, specifies the duration within which a customer is expected to remit payment after the invoice is finalized.
                 * @example 30
                 */
                net_payment_term?: number | null;
                /**
                 * @description Specifies how invoices with a zero total amount should be handled:
                 *     - `inherit`: (Default) Follows the organization-level configuration.
                 *     - `finalize`: Invoices are issued and finalized even if the total amount is zero.
                 *     - `skip`: Invoices with a total amount of zero are not finalized.
                 * @example inherit
                 * @enum {string}
                 */
                finalize_zero_amount_invoice?: "inherit" | "skip" | "finalize";
                billing_configuration?: components["schemas"]["CustomerBillingConfiguration"];
                shipping_address?: components["schemas"]["Address"];
                integration_customers?: {
                    /**
                     * Format: uuid
                     * @description A unique identifier for the integration customer object in the Lago application.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    id?: string;
                    /**
                     * @description The integration type used for accounting and tax syncs.
                     *     Accepted values: `netsuite, anrok, xero`.
                     * @example netsuite
                     * @enum {string}
                     */
                    integration_type?: "netsuite" | "anrok" | "xero";
                    /**
                     * @description Unique code used to identify an integration connection.
                     * @example netsuite-eu-1
                     */
                    integration_code?: string;
                    /**
                     * @description The customer ID within the integration's system. If this field is not provided, Lago has the option to create a new customer record within the integration's system on behalf of the customer.
                     * @example cus_12345
                     */
                    external_customer_id?: string;
                    /**
                     * @description Set this field to `true` if you want to create a customer record in the integration's system. This option is applicable only when the `external_customer_id` is null and the `sync_with_provider` field is set to `true`. By default, the value is set to `false`
                     * @example true
                     */
                    sync_with_provider?: boolean;
                    /**
                     * @description This optional field is needed only when working with `netsuite` connection.
                     * @example 2
                     */
                    subsidiary_id?: string;
                }[];
                /** @description Set of key-value pairs that you can attach to a customer. This can be useful for storing additional information about the customer in a structured format */
                metadata?: {
                    /**
                     * Format: uuid
                     * @description Identifier for the metadata object, only required when updating a key-value pair
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    id?: string;
                    /**
                     * @description The metadata object key
                     * @example Purchase Order
                     */
                    key: string;
                    /**
                     * @description The metadata object value
                     * @example 123456789
                     */
                    value: string;
                    /**
                     * @description Determines whether the item or information should be displayed in the invoice. If set to true, the item or information will be included and visible in the generated invoice. If set to false, the item or information will be excluded and not displayed in the invoice.
                     * @example true
                     */
                    display_in_invoice: boolean;
                }[];
                /**
                 * @description Set to `true` to exclude all invoice custom sections from PDF generation for this customer only. False by default
                 * @example false
                 */
                skip_invoice_custom_sections?: boolean;
                /**
                 * @description List of unique codes identifying the invoice custom sections.
                 * @example [
                 *       "eu_bank_details"
                 *     ]
                 */
                invoice_custom_section_codes?: string[];
            };
        };
        Customer: {
            customer: components["schemas"]["CustomerObjectExtended"];
        };
        InvoiceBaseObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the fee within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the fee's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The unique code of the billing entity associated with the invoice
             * @example acme_corp
             */
            billing_entity_code: string | null;
            /**
             * @description This ID helps in uniquely identifying and organizing the invoices associated with a specific customer. It provides a sequential numbering system specific to the customer, allowing for easy tracking and management of invoices within the customer's context.
             * @example 2
             */
            sequential_id?: number;
            /**
             * @description The unique number assigned to the invoice. This number serves as a distinct identifier for the invoice and helps in differentiating it from other invoices in the system.
             * @example LAG-1234-001-002
             */
            number: string;
            /**
             * Format: date
             * @description The date when the invoice was issued. It is provided in the ISO 8601 date format.
             * @example 2022-04-30
             */
            issuing_date: string;
            /**
             * Format: date-time
             * @description The date when the payment dispute was lost. It is expressed in Coordinated Universal Time (UTC).
             * @example 2022-09-14T16:35:31Z
             */
            payment_dispute_lost_at?: string;
            /**
             * Format: date
             * @description The payment due date for the invoice, specified in the ISO 8601 date format.
             * @example 2022-04-30
             */
            payment_due_date?: string;
            /**
             * @description Specifies if the payment is considered as overdue.
             * @example true
             */
            payment_overdue?: boolean;
            /**
             * @description The net payment term, expressed in days, specifies the duration within which a customer is expected to remit payment after the invoice is finalized.
             * @example 30
             */
            net_payment_term?: number;
            /**
             * @description The type of invoice issued. Possible values are `subscription`, `one-off`, `credit` or `progressive_billing`.
             * @example subscription
             * @enum {string}
             */
            invoice_type: "subscription" | "add_on" | "credit" | "one_off" | "progressive_billing";
            /**
             * @description The status of the invoice. It indicates the current state of the invoice and can have following values:
             *     - `draft`: the invoice is in the draft state, waiting for the end of the grace period to be finalized. During this period, events can still be ingested and added to the invoice.
             *     - `finalized`: the invoice has been issued and finalized. In this state, events cannot be ingested or added to the invoice anymore.
             *     - `voided`: the invoice has been issued and subsequently voided. In this state, events cannot be ingested or added to the invoice anymore.
             *     - `pending`: the invoice remains pending until the taxes are fetched from the external provider.
             *     - `failed`: during an attempt of finalization of the invoice, an error happened. This invoice will have an array of error_details, explaining, in which part of the system an error happened and how it's possible to fix it. This invoice can't be edited or updated, only retried. This action will discard current error_details and will create new ones if the finalization failed again.
             * @example finalized
             * @enum {string}
             */
            status: "draft" | "finalized" | "voided" | "failed" | "pending";
            /**
             * @description The status of the payment associated with the invoice. It can have one of the following values:
             *     - `pending`: the payment is pending, waiting for payment processing in Stripe or when the invoice is emitted but users have not updated the payment status through the endpoint.
             *     - `succeeded`: the payment of the invoice has been successfully processed.
             *     - `failed`: the payment of the invoice has failed or encountered an error during processing.
             * @example succeeded
             * @enum {string}
             */
            payment_status: "pending" | "succeeded" | "failed";
            /**
             * @description The currency of the invoice issued.
             * @example EUR
             */
            currency: components["schemas"]["Currency"];
            /**
             * @description The total sum of fees amount in cents. It calculates the cumulative amount of all the fees associated with the invoice, providing a consolidated value.
             * @example 100
             */
            fees_amount_cents: number;
            /**
             * @description The total sum of all coupons discounted on the invoice. It calculates the cumulative discount amount applied by coupons, expressed in cents.
             * @example 10
             */
            coupons_amount_cents: number;
            /**
             * @description The total sum of all credit notes discounted on the invoice. It calculates the cumulative discount amount applied by credit notes, expressed in cents.
             * @example 10
             */
            credit_notes_amount_cents: number;
            /**
             * @description Subtotal amount, excluding taxes, expressed in cents.
             *     This field depends on the version number. Here are the definitions based on the version:
             *     - Version 1: is equal to the sum of `fees_amount_cents`, minus `coupons_amount_cents`, and minus `prepaid_credit_amount_cents`.
             *     - Version 2: is equal to the `fees_amount_cents`.
             *     - Version 3 & 4: is equal to the `fees_amount_cents`, minus `coupons_amount_cents`
             * @example 100
             */
            sub_total_excluding_taxes_amount_cents: number;
            /**
             * @description The sum of tax amount associated with the invoice, expressed in cents.
             * @example 20
             */
            taxes_amount_cents: number;
            /**
             * @description Subtotal amount, including taxes, expressed in cents.
             *     This field depends on the version number. Here are the definitions based on the version:
             *     - Version 1: is equal to the `total_amount_cents`.
             *     - Version 2: is equal to the sum of `fees_amount_cents` and `taxes_amount_cents`.
             *     - Version 3 & 4: is equal to the sum `sub_total_excluding_taxes_amount_cents` and `taxes_amount_cents`
             * @example 120
             */
            sub_total_including_taxes_amount_cents: number;
            /**
             * @description The total sum of all prepaid credits discounted on the invoice. It calculates the cumulative discount amount applied by prepaid credits, expressed in cents.
             * @example 0
             */
            prepaid_credit_amount_cents: number;
            /**
             * @description The portion of prepaid credits discounted on the invoice that originated from granted (free) credits, expressed in cents. Only populated for invoices associated with traceable wallets.
             * @example 0
             */
            prepaid_granted_credit_amount_cents?: number | null;
            /**
             * @description The portion of prepaid credits discounted on the invoice that originated from purchased (paid) credits, expressed in cents. Only populated for invoices associated with traceable wallets.
             * @example 0
             */
            prepaid_purchased_credit_amount_cents?: number | null;
            /**
             * @description The usage already billed in previous invoices. Only apply to `progressive_billing` and `subscription` invoices.
             * @example 0
             */
            progressive_billing_credit_amount_cents: number;
            /**
             * @description The sum of the amount and taxes amount on the invoice, expressed in cents. It calculates the total financial value of the invoice, including both the original amount and any applicable taxes.
             * @example 100
             */
            total_amount_cents: number;
            /** @example 3 */
            version_number: number;
            /**
             * @description Indicates if the invoice is self-billed. Self-billing is a process where an organization creates the invoice on behalf of the partner. This field specifies whether the invoice is self-billed or not.
             * @example false
             */
            self_billed?: boolean;
            /**
             * Format: uri
             * @description Contains the URL that provides direct access to the invoice PDF file. You can use this URL to download or view the PDF document of the invoice
             * @example https://getlago.com/invoice/file
             */
            file_url?: string;
            /**
             * Format: date-time
             * @description The date of the invoice creation, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC). The creation_date provides a standardized and internationally recognized timestamp for when the invoice object was created
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
            /**
             * Format: date-time
             * @description The date of the invoice update, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC). The update_date provides a standardized and internationally recognized timestamp for when the invoice object was updated
             * @example 2022-04-29T08:59:51Z
             */
            updated_at: string;
        };
        BillingPeriodObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the subscription, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_subscription_id: string;
            /**
             * @description Unique identifier assigned to the subscription in your application.
             * @example external_id
             */
            external_subscription_id: string;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the plan, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_plan_id: string;
            /**
             * Format: date-time
             * @description The beginning date of the subscription billing period. This field indicates the start date of the billing period associated with the subscription fee.
             * @example 2022-04-29T08:59:51Z
             */
            subscription_from_datetime: string;
            /**
             * Format: date-time
             * @description The ending date of the subscription billing period. This field indicates the end date of the billing period associated with the subscription fee.
             * @example 2022-05-29T08:59:51Z
             */
            subscription_to_datetime: string;
            /**
             * Format: date-time
             * @description The beginning date of the period that covers the charge fees. It is applicable only to the `charge` fees attached to the subscription. This field indicates the start date of the billing period or subscription period associated with the fees.
             * @example 2022-04-29T08:59:51Z
             */
            charges_from_datetime: string;
            /**
             * Format: date-time
             * @description The ending date of the period that covers the charge fees. It is applicable only to the `charge` fees attached to the subscription. This field indicates the end date of the billing period or subscription period associated with the fees.
             * @example 2022-05-29T08:59:51Z
             */
            charges_to_datetime: string;
            /**
             * @description The reason explaining why this subscription appears on the invoice.
             * @example subscription_starting
             * @enum {string}
             */
            invoicing_reason: "subscription_starting" | "subscription_periodic" | "subscription_terminating" | "in_advance_charge" | "in_advance_charge_periodic" | "progressive_billing";
        };
        InvoiceMetadataObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the invoice metadata within the Lago application.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id?: string;
            /**
             * @description Represents the key of the metadata's key-value pair.
             * @example digital_ref_id
             */
            key?: string;
            /**
             * @description Represents the value of the metadata's key-value pair.
             * @example INV-0123456-98765
             */
            value?: string;
            /**
             * Format: date-time
             * @description The date and time when the metadata object was created. It follows the ISO 8601 datetime format and is expressed in Coordinated Universal Time (UTC).
             * @example 2022-04-29T08:59:51Z
             */
            created_at?: string;
        };
        InvoiceAppliedTaxObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the invoice, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_invoice_id?: string;
            /**
             * @description Fees total amount on which the tax is applied
             * @example 20000
             */
            fees_amount_cents?: number;
        } & components["schemas"]["BaseAppliedTax"];
        InvoiceAppliedInvoiceCustomSectionObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the applied invoice custom section in the Lago application.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * Format: uuid
             * @description Unique identifier of the invoice this custom section is applied to.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_invoice_id: string;
            /**
             * @description Unique code identifying the invoice custom section.
             * @example eu_bank_details
             */
            code: string;
            /**
             * @description The value shown on the invoice PDF.
             * @example Bank Name: Lago Bank, IBAN: FR7630004000031234567890143
             */
            details: string;
            /**
             * @description The name of the invoice custom section displayed on the invoice.
             * @example Bank Details:
             */
            display_name: string;
            /**
             * Format: date-time
             * @description The date of the applied invoice custom section creation, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
             * @example 2023-07-06T14:35:58Z
             */
            created_at: string;
        };
        UsageThresholdObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the usage threshold created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The display name of the usage threshold.
             * @example Threshold 1
             */
            threshold_display_name: string | null;
            /**
             * @description The amount to reach to trigger a `progressive_billing` invoice.
             * @example 10000
             */
            amount_cents: number;
            /**
             * @description This field when set to `true` indicates that a `progressive_billing` invoice will be created every time the lifetime usage increases by the specified amount.
             * @example true
             */
            recurring: boolean;
            /**
             * Format: date-time
             * @description The date and time when the usage threshold was created. It is expressed in UTC format according to the ISO 8601 datetime standard.
             * @example 2023-06-27T19:43:42Z
             */
            created_at: string;
            /**
             * Format: date-time
             * @description The date and time when the usage threshold was last updated. It is expressed in UTC format according to the ISO 8601 datetime standard.
             * @example 2023-06-27T19:43:42Z
             */
            updated_at: string;
        };
        AppliedUsageThresholdObject: {
            /**
             * @description The amount of usage in cents that has been accumulated over the lifetime of the subscription.
             * @example 2000
             */
            lifetime_usage_amount_cents: number;
            /**
             * Format: date-time
             * @description The date and time when the lifetime usage was computed. It is expressed in UTC format according to the ISO 8601 datetime standard.
             * @example 2025-03-31T12:31:44Z
             */
            created_at: string;
            usage_threshold: components["schemas"]["UsageThresholdObject"];
        };
        InvoiceObject: components["schemas"]["InvoiceBaseObject"] & {
            /** @description The customer on which the invoice applies. It refers to the customer account or entity associated with the invoice. */
            customer?: components["schemas"]["CustomerObject"];
            billing_periods?: components["schemas"]["BillingPeriodObject"][];
            metadata?: components["schemas"]["InvoiceMetadataObject"][];
            applied_taxes?: components["schemas"]["InvoiceAppliedTaxObject"][];
            /** @description The invoice custom sections applied to this invoice for PDF generation. */
            applied_invoice_custom_sections?: components["schemas"]["InvoiceAppliedInvoiceCustomSectionObject"][];
            applied_usage_thresholds?: components["schemas"]["AppliedUsageThresholdObject"][];
        };
        InvoicesPaginated: {
            invoices: components["schemas"]["InvoiceObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        PaymentObject: {
            /**
             * Format: uuid
             * @description The unique identifier of the payment, created by Lago.
             * @example 4cf085a7-c196-4f07-a543-97c50ec6e8b2
             */
            lago_id: string;
            /**
             * Format: uuid
             * @description Unique identifier of the customer, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_customer_id: string;
            /**
             * @description The customer external unique identifier (provided by your own application)
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            external_customer_id: string;
            /** @description List of invoice IDs associated with the payment. */
            invoice_ids: string[];
            /** @description List of invoice numbers associated with the payment. */
            invoice_numbers?: string[];
            /**
             * Format: uuid
             * @description The unique identifier of the paid resource, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_payable_id: string;
            /**
             * @description The type of the paid resource, associated with the `lago_payable_id`.
             * @example Invoice
             * @enum {string}
             */
            payable_type: "Invoice" | "PaymentRequest";
            /**
             * @description The amount of the payment in cents.
             * @example 1099
             */
            amount_cents: number;
            /**
             * @description The currency of the payment amount.
             * @example USD
             */
            amount_currency: components["schemas"]["Currency"];
            /**
             * @description The status of the payment within the payment provider. This can be very different from a payment provider to another.
             * @example Completed
             */
            status: string;
            /**
             * @description The normalized payment status by Lago.
             * @example succeeded
             * @enum {string}
             */
            payment_status: "succeeded" | "failed" | "pending" | "processing";
            /**
             * @description The type of payment.
             * @example manual
             * @enum {string}
             */
            type: "manual" | "provider";
            /**
             * @description Reference for the payment.
             * @example ref1
             */
            reference: string;
            /**
             * @description Code of the payment provider
             * @example stripe_prod
             */
            payment_provider_code: string;
            /**
             * @description The type of payment provider
             * @example stripe
             * @enum {string}
             */
            payment_provider_type: "adyen" | "cashfree" | "gocardless" | "stripe" | "flutterwave" | "moneyhash";
            /** @description DEPRECATED: use provider_payment_id */
            external_payment_id: string | null;
            /**
             * @description Unique identifier of the payment within the payment provider (if applicable).
             * @example pi_5eb0285741bc6ba
             */
            provider_payment_id: string | null;
            /**
             * @description Unique identifier of the customer within the payment provider
             * @example cus_5eb0285bcf941bc6ba
             */
            provider_customer_id: string;
            /**
             * Format: uuid
             * @description The unique identifier of the payment method used for this payment.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            payment_method_id?: string | null;
            /**
             * @description The next action to be taken by the customer to complete the payment. Should usually be empty, except when receiving the `payment.requires_action` webhook.
             * @example {
             *       "type": "redirect_to_url",
             *       "redirect_to_url": {
             *         "url": "https://hooks.stripe.com/3d_secure_2/hosted?merchant=acct_AAA&payment_intent=pi_BBB&payment_intent_client_secret=pi_BBB&publishable_key=pk_test_CCC",
             *         "return_url": "https://app.example.com"
             *       }
             *     }
             */
            next_action: {
                [key: string]: unknown;
            };
            /**
             * Format: date-time
             * @description Timestamp when the payment was created in Lago's database, not on the payment provider.
             * @example 2025-01-21T00:10:29Z
             */
            created_at: string;
        };
        PaymentsPaginated: {
            payments: components["schemas"]["PaymentObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        PaymentRequestObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the payment request, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * Format: email
             * @description The customer's email address used for sending dunning notifications
             * @example dinesh@piedpiper.test
             */
            email: string;
            /**
             * @description The sum of the total amounts of all the invoices included in the payment request, expressed in cents.
             * @example 100
             */
            amount_cents: number;
            /**
             * @description The currency of the payment request.
             * @example EUR
             */
            amount_currency: components["schemas"]["Currency"];
            /**
             * @description The status of the payment associated with the payment request. It can have one of the following values:
             *     - `pending`: the payment is pending, waiting for payment processing in the payment provider or when the invoice is emitted but users have not updated the payment status through the endpoint.
             *     - `succeeded`: the payment of the payment request has been successfully processed.
             *     - `failed`: the payment of the payment request has failed or encountered an error during processing.
             * @example succeeded
             * @enum {string}
             */
            payment_status: "pending" | "succeeded" | "failed";
            /**
             * Format: date-time
             * @description The date and time when the payment request was created. It is expressed in UTC format according to the ISO 8601 datetime standard. This field provides the timestamp for the exact moment when the payment request was initially created.
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
            /** @description The customer on which the payment request applies. It refers to the customer account or entity associated with the payment request. */
            customer: components["schemas"]["CustomerBaseObject"];
            invoices: components["schemas"]["InvoiceBaseObject"][];
        };
        PaymentRequestsPaginated: {
            payment_requests: components["schemas"]["PaymentRequestObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        AppliedInvoiceCustomSectionObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the applied invoice custom section in the Lago application.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * Format: date-time
             * @description The date of the applied invoice custom section creation, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
             * @example 2023-07-06T14:35:58Z
             */
            created_at: string;
            /**
             * Format: uuid
             * @deprecated
             * @description Unique identifier of the invoice custom section that was applied.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            invoice_custom_section_id?: string;
            invoice_custom_section: components["schemas"]["InvoiceCustomSectionObject"];
        };
        /** @description Reference to a specific payment method for processing the payment. */
        PaymentMethodReference: {
            /**
             * @description The type of payment method to use.
             * @example provider
             * @enum {string}
             */
            payment_method_type?: "provider" | "manual";
            /**
             * Format: uuid
             * @description The unique identifier of the payment method (required when using a specific provider payment method).
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            payment_method_id?: string;
        };
        SubscriptionObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the subscription within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the subscription's record within the Lago system
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The subscription external unique identifier (provided by your own application).
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            external_id: string;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the customer within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the customer's record within the Lago system
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_customer_id: string;
            /**
             * @description The customer external unique identifier (provided by your own application).
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            external_customer_id: string;
            /**
             * @description The billing time for the subscription, which can be set as either `anniversary` or `calendar`. If not explicitly provided, it will default to `calendar`. The billing time determines the timing of recurring billing cycles for the subscription. By specifying `anniversary`, the billing cycle will be based on the specific date the subscription started (billed fully), while `calendar` sets the billing cycle at the first day of the week/month/year (billed with proration).
             * @example anniversary
             * @enum {string}
             */
            billing_time: "calendar" | "anniversary";
            /**
             * @description The display name of the subscription on an invoice. This field allows for customization of the subscription's name for billing purposes, especially useful when a single customer has multiple subscriptions using the same plan.
             * @example Repository A
             */
            name: string | null;
            /**
             * @description The unique code representing the plan to be attached to the customer. This code must correspond to the `code` property of one of the active plans.
             * @example premium
             */
            plan_code: string;
            /**
             * @description The base cost of the related plan, excluding any applicable taxes, that is billed on a recurring basis.
             * @example 10000
             */
            plan_amount_cents?: number;
            /**
             * @description The currency of the related plan. It indicates the monetary unit in which the plan's cost, including taxes and usage-based charges, is expressed.
             * @example USD
             */
            plan_amount_currency?: components["schemas"]["Currency"];
            /**
             * @description The status of the subscription, which can have the following values:
             *     - `active`: the subscription is currently active and applied to the customer.
             *     - `canceled`: the subscription has been stopped before its activation. This can occur when two consecutive downgrades have been applied to a customer or when a subscription with a pending status is terminated.
             *     - `pending`: a previous subscription has been downgraded, and the current one is awaiting automatic activation at the end of the billing period.
             *     - `terminated`: the subscription is no longer active.
             * @example active
             * @enum {string}
             */
            status: "active" | "canceled" | "pending" | "terminated";
            /**
             * Format: date-time
             * @description The creation date of the subscription, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC). This date provides a timestamp indicating when the subscription was initially created.
             * @example 2022-08-08T00:00:00Z
             */
            created_at: string;
            /**
             * Format: date-time
             * @description The cancellation date of the subscription. This field is not null when the subscription is `canceled`. This date should be provided in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
             * @example 2022-09-14T16:35:31Z
             */
            canceled_at: string | null;
            /**
             * Format: date-time
             * @description The effective start date of the subscription. This field can be null if the subscription is `pending` or `canceled`. This date should be provided in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
             * @example 2022-08-08T00:00:00Z
             */
            started_at: string | null;
            /**
             * Format: date-time
             * @description The effective end date of the subscription. If this field is set to null, the subscription will automatically renew. This date should be provided in ISO 8601 datetime format, and use Coordinated Universal Time (UTC).
             * @example 2022-10-08T00:00:00Z
             */
            ending_at: string | null;
            /**
             * Format: date-time
             * @description The anniversary date and time of the initial subscription. This date serves as the basis for billing subscriptions with `anniversary` billing time. The `anniversary_date` should be provided in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
             * @example 2022-08-08T00:00:00Z
             */
            subscription_at: string;
            /**
             * Format: date-time
             * @description The termination date of the subscription. This field is not null when the subscription is `terminated`. This date should be provided in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC)
             * @example 2022-09-14T16:35:31Z
             */
            terminated_at: string | null;
            /**
             * @description The code identifying the previous plan associated with this subscription.
             * @example null
             */
            previous_plan_code: string | null;
            /**
             * @description The code identifying the next plan in the case of a downgrade.
             * @example null
             */
            next_plan_code: string | null;
            /**
             * Format: date
             * @description The date when the plan will be downgraded, represented in ISO 8601 date format.
             * @example 2022-04-30
             */
            downgrade_plan_date: string | null;
            /**
             * Format: date-time
             * @description The date when the free trial is ended, represented in ISO 8601 date format.
             * @example 2022-08-08T00:00:00Z
             */
            trial_ended_at: string | null;
            /**
             * Format: date-time
             * @description The date and time when the current billing period started, represented in ISO 8601 date format.
             * @example 2022-08-08T00:00:00Z
             */
            current_billing_period_started_at: string | null;
            /**
             * Format: date-time
             * @description The date and time when the current billing period ends, represented in ISO 8601 date format.
             * @example 2022-09-08T00:00:00Z
             */
            current_billing_period_ending_at: string | null;
            /**
             * @description When a pay-in-advance subscription is terminated before the end of its billing period, we generate a credit note for the unused subscription time by default.
             *     This field allows you to control the behavior of the credit note generation:
             *
             *     - `credit`: A credit note is generated for the unused subscription time. The unused amount is credited back to the customer.
             *     - `refund`: A credit note is generated for the unused subscription time. If the invoice is paid or partially paid, the unused paid amount is refunded; any unpaid unused amount is credited back to the customer.
             *     - `offset`: A credit note is generated for the unused subscription time. If the invoice is paid or partially paid, the unused paid amount is refunded; any unpaid unused amount is applied to the invoice reducing its amount due.
             *     - `skip`: No credit note is generated for the unused subscription time.
             *
             *     _Note: This field is only applicable to pay-in-advance plans and will be `null` for pay-in-arrears plans._
             * @example credit
             * @enum {string|null}
             */
            on_termination_credit_note: "credit" | "refund" | "offset" | "skip" | null;
            /**
             * @description When a subscription is terminated before the end of its billing period, we generate an invoice for the unbilled usage.
             *     This field allows you to control the behavior of the invoice generation:
             *
             *     - `generate`: An invoice is generated for the unbilled usage.
             *     - `skip`: No invoice is generated for the unbilled usage.
             * @default generate
             * @example generate
             * @enum {string}
             */
            on_termination_invoice: "generate" | "skip";
            /** @description The invoice custom sections applied to invoices generated by this subscription. */
            applied_invoice_custom_sections?: components["schemas"]["AppliedInvoiceCustomSectionObject"][];
            /** @description The payment method assigned to this subscription for processing payments. */
            payment_method?: components["schemas"]["PaymentMethodReference"];
        };
        SubscriptionsPaginated: {
            subscriptions: components["schemas"]["SubscriptionObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        /** @description Object that represents rule for wallet recurring transactions. */
        WalletRecurringTransactionRule: {
            /**
             * Format: uuid
             * @description A unique identifier for the recurring transaction rule in the Lago application. Can be used to update a recurring transaction rule.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The trigger. Possible values are `interval` or `threshold`.
             * @example interval
             * @enum {string}
             */
            trigger: "interval" | "threshold";
            /**
             * @description The method used for recurring top-up. Possible values are `fixed` or `target`.
             * @example target
             * @enum {string}
             */
            method: "fixed" | "target";
            /**
             * @description The interval used for recurring top-up. It represents the frequency at which automatic top-up occurs. The interval can be one of the following values: `weekly`, `monthly`, `quarterly`, `semiannual` or `yearly`. Required only if trigger is set to `interval`.
             * @example monthly
             * @enum {string}
             */
            interval: "weekly" | "monthly" | "quarterly" | "semiannual" | "yearly";
            /**
             * @description The status of the recurring transaction rule. Possible values are `active` or `terminated`.
             * @example active
             * @enum {string}
             */
            status: "active" | "terminated";
            /**
             * @description The threshold for recurring top-ups is the value at which an automatic top-up is triggered. For example, if this threshold is set at 10 credits, an automatic top-up will occur whenever the wallet balance falls to or below 10 credits. Required only when trigger is set to `threshold`.
             * @example 20.0
             */
            threshold_credits: string;
            /**
             * @description The number of paid credits. Required only if there is no granted credits.
             * @example 20.0
             */
            paid_credits: string;
            /**
             * @description The number of free granted credits. Required only if there is no paid credits.
             * @example 10.0
             */
            granted_credits: string;
            /**
             * Format: date-time
             * @description The effective start date for recurring top-ups. This date should be provided in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
             * @example 2022-08-08T00:00:00Z
             */
            started_at: string | null;
            /**
             * @description The target ongoing balance is the value set for the ongoing balance to be reached by the automatic top-up. Required only when trigger is set to `target`.
             * @example 200.0
             */
            target_ongoing_balance: string | null;
            /**
             * Format: date-time
             * @description The date of the metadata object creation, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC). The creation_date provides a standardized and internationally recognized timestamp for when the metadata object was created
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
            /**
             * Format: date-time
             * @description The expiration date and time for this specific recurring transaction rule. It follows the ISO 8601 datetime format and is expressed in Coordinated Universal Time (UTC).
             * @example 2023-09-30T23:59:59Z
             */
            expiration_at: string | null;
            /**
             * @description A boolean setting that, when set to true, delays issuing an invoice for a wallet top-up until a successful payment is made; if false, the invoice is issued immediately upon wallet top-up, regardless of the payment status. Default value of false.
             * @example false
             */
            invoice_requires_successful_payment: boolean;
            /**
             * @description This field allows you to store a list of key-value pairs containing additional information or custom attributes. These key-value pairs will populate the metadata of the wallet transactions triggered by this rule.
             * @example [
             *       {
             *         "key": "example_key",
             *         "value": "example_value"
             *       },
             *       {
             *         "key": "another_key",
             *         "value": "another_value"
             *       }
             *     ]
             */
            transaction_metadata: {
                /** @description The unique identifier for the attribute. */
                key?: string;
                /** @description The value associated with the key. */
                value?: string;
            }[];
            /**
             * @description The name of the wallet transactions triggered by this rule. It will appear on the invoice as the label for the fee. If not set, the label on the invoice will fallback to either `Prepaid credits - {{wallet_name}}` if the wallet name is set, or `Prepaid credits`.
             * @example Tokens for models 'high-fidelity-boost'
             */
            transaction_name: string | null;
            /**
             * @description When true, allows rule to topped up wallet with transactions that exceed the paid top-up limits. Defaults to false.
             * @example false
             */
            ignore_paid_top_up_limits: boolean;
            /** @description The invoice custom sections applied to invoices generated by this recurring transaction rule. */
            applied_invoice_custom_sections?: components["schemas"]["AppliedInvoiceCustomSectionObject"][];
            /** @description The payment method assigned to this recurring transaction rule for processing top-up payments. */
            payment_method?: components["schemas"]["PaymentMethodReference"];
        };
        WalletObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the wallet within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the wallet's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the customer within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the customer's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_customer_id: string;
            /**
             * @description The customer external unique identifier (provided by your own application)
             * @example hooli_1234
             */
            external_customer_id: string;
            /**
             * @description The status of the wallet. Possible values are `active` or `terminated`.
             * @example active
             * @enum {string}
             */
            status: "active" | "terminated";
            /**
             * @description The currency of the wallet.
             * @example USD
             */
            currency: components["schemas"]["Currency"];
            /**
             * @description The name of the wallet.
             * @example Prepaid
             */
            name?: string | null;
            /**
             * @description The code of the wallet.
             * @example prepaid
             */
            code?: string | null;
            /**
             * @description Wallet priority for ordering when a customer has multiple wallets. Allowed values: 1-50, where 1 is highest priority and 50 is lowest. Defaults to 50.
             * @example 50
             */
            priority?: number;
            /**
             * @description The rate of conversion between credits and the amount in the specified currency. It indicates the ratio or factor used to convert credits into the corresponding monetary value in the currency of the transaction.
             * @example 1.5
             */
            rate_amount: string;
            /**
             * @description The current wallet balance expressed in credits. This reflects the available balance after all transactions are settled.
             * @example 28.0
             */
            credits_balance: string;
            /**
             * @description The current wallet balance expressed in cents. This reflects the available balance after all transactions are settled.
             * @example 1000
             */
            balance_cents: number;
            /**
             * @description The number of consumed credits.
             * @example 2.0
             */
            consumed_credits: string;
            /**
             * Format: date-time
             * @description The date of the wallet creation, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
            /**
             * Format: date-time
             * @description The date and time that determines when the wallet will expire. It follows the ISO 8601 datetime format and is expressed in Coordinated Universal Time (UTC).
             * @example null
             */
            expiration_at?: string | null;
            /**
             * Format: date-time
             * @description The date and time of the last balance top-up. It follows the ISO 8601 datetime format and is expressed in Coordinated Universal Time (UTC).
             * @example 2022-04-29T08:59:51Z
             */
            last_balance_sync_at?: string | null;
            /**
             * Format: date-time
             * @description The date and time of the last credits consumption. It follows the ISO 8601 datetime format and is expressed in Coordinated Universal Time (UTC).
             * @example 2022-04-29T08:59:51Z
             */
            last_consumed_credit_at?: string | null;
            /**
             * Format: date-time
             * @description The date of terminaison of the wallet. It follows the ISO 8601 datetime format and is expressed in Coordinated Universal Time (UTC).
             * @example 2022-09-14T16:35:31Z
             */
            terminated_at?: string | null;
            /**
             * @description A boolean setting that, when set to true, delays issuing an invoice for a wallet top-up until a successful payment is made; if false, the invoice is issued immediately upon wallet top-up, regardless of the payment status. Default value of false.
             * @example false
             */
            invoice_requires_successful_payment: boolean;
            /** @description Set wallet limitations to fee types. */
            applies_to?: {
                /**
                 * @description An array of fee types to which the wallet is applicable. By specifying the fee types in this field, you can restrict the wallet's usage to specific fee types only.
                 * @example [
                 *       "charge"
                 *     ]
                 */
                fee_types?: ("charge" | "subscription" | "commitment")[];
                /**
                 * @description An array of billable metric codes to which the wallet is applicable. By specifying the billable metric codes in this field, you can restrict the wallet's usage to specific metrics only.
                 * @example [
                 *       "bm1"
                 *     ]
                 */
                billable_metric_codes?: string[];
            };
            /** @description List of recurring transaction rules. Currently, we only allow one recurring rule per wallet. */
            recurring_transaction_rules?: components["schemas"]["WalletRecurringTransactionRule"][];
            /**
             * @description The ongoing wallet balance expressed in cents. This represents the `balance_cents` minus the `ongoing_usage_balance_cents`, showing the real time balance after accounting for current usage including taxes.
             * @example 800
             */
            ongoing_balance_cents: number;
            /**
             * @description The ongoing usage balance of the wallet, expressed in cents. This reflects all current usage and draft invoices including taxes.
             * @example 200
             */
            ongoing_usage_balance_cents: number;
            /**
             * @description The ongoing wallet balance expressed in credits. This represents the `credits_balance` minus the `credits_ongoing_usage_balance`, showing the real time balance after accounting for current usage including taxes.
             * @example 8.0
             */
            credits_ongoing_balance: string;
            /**
             * @description The ongoing usage balance of the wallet, expressed in credits. This reflects all current usage and draft invoices including taxes.
             * @example 2.0
             */
            credits_ongoing_usage_balance: string;
            /**
             * @description Minimum amount of cents that can be top-up with a single paid transaction.
             * @example 100
             */
            paid_top_up_min_amount_cents?: number | null;
            /**
             * @description Maximum amount of cents that can be top-up with a single paid transaction.
             * @example 1000
             */
            paid_top_up_max_amount_cents?: number | null;
            /** @description The invoice custom sections applied to invoices generated by this wallet. */
            applied_invoice_custom_sections?: components["schemas"]["AppliedInvoiceCustomSectionObject"][];
            /** @description The payment method assigned to this wallet for processing top-up payments. */
            payment_method?: components["schemas"]["PaymentMethodReference"];
            metadata?: components["schemas"]["MetadataObject"];
        };
        WalletsPaginated: {
            wallets: components["schemas"]["WalletObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        /** @description Configuration for invoice custom sections to apply to invoices generated by this resource. */
        InvoiceCustomSectionInput: {
            /**
             * @description Set to `true` to exclude all invoice custom sections from PDF generation for invoices related to this resource. When `true`, `invoice_custom_section_codes` is ignored.
             * @example false
             */
            skip_invoice_custom_sections?: boolean;
            /**
             * @description List of unique codes identifying the invoice custom sections to apply. These override the default invoice custom sections configured at the customer or billing entity level.
             * @example [
             *       "eu_bank_details"
             *     ]
             */
            invoice_custom_section_codes?: string[];
        };
        WalletCreateInput: {
            wallet?: {
                /**
                 * @description The name of the wallet.
                 * @example Prepaid
                 */
                name?: string | null;
                /**
                 * @description The code of the wallet.
                 * @example prepaid
                 */
                code?: string | null;
                /**
                 * @description Wallet priority for ordering when a customer has multiple wallets. Allowed values: 1-50, where 1 is highest priority and 50 is lowest. Defaults to 50.
                 * @example 50
                 */
                priority?: number;
                /**
                 * @description The rate of conversion between credits and the amount in the specified currency. It indicates the ratio or factor used to convert credits into the corresponding monetary value in the currency of the transaction.
                 * @example 1.5
                 */
                rate_amount: string;
                /**
                 * @description The currency of the wallet.
                 * @example USD
                 */
                currency: components["schemas"]["Currency"];
                /**
                 * @description The number of paid credits. Required only if there is no granted credits.
                 * @example 20.0
                 */
                paid_credits?: string | null;
                /**
                 * @description The number of free granted credits. Required only if there is no paid credits.
                 * @example 10.0
                 */
                granted_credits?: string | null;
                /**
                 * @description The customer external unique identifier (provided by your own application)
                 * @example hooli_1234
                 */
                external_customer_id: string;
                /**
                 * Format: date-time
                 * @description The date and time that determines when the wallet will expire. It follows the ISO 8601 datetime format and is expressed in Coordinated Universal Time (UTC).
                 * @example 2022-07-07T23:59:59Z
                 */
                expiration_at?: string | null;
                /**
                 * @description A boolean setting that, when set to true, delays issuing an invoice for a wallet top-up until a successful payment is made; if false, the invoice is issued immediately upon wallet top-up, regardless of the payment status. Default value of false.
                 * @example false
                 */
                invoice_requires_successful_payment?: boolean;
                /**
                 * @description This optional field allows you to store a list of key-value pairs that provide additional information or custom attributes. These key-value pairs will be included in the metadata of wallet transactions generated during the wallet creation process.
                 * @example [
                 *       {
                 *         "key": "example_key",
                 *         "value": "example_value"
                 *       },
                 *       {
                 *         "key": "another_key",
                 *         "value": "another_value"
                 *       }
                 *     ]
                 */
                transaction_metadata?: {
                    /** @description The unique identifier for the attribute. */
                    key?: string;
                    /** @description The corresponding value for the key. */
                    value?: string;
                }[] | null;
                /**
                 * @description The name of the wallet transactions triggered when creating the wallet. It will appear on the invoice as the label for the fee. If not set, the label on the invoice will fallback to either `Prepaid credits - {{wallet_name}}` if the wallet name is set, or `Prepaid credits`.
                 * @example Tokens for models 'high-fidelity-boost'
                 */
                transaction_name?: string | null;
                /** @description Set wallet limitations to fee types. */
                applies_to?: {
                    /**
                     * @description An array of fee types to which the wallet is applicable. By specifying the fee types in this field, you can restrict the wallet's usage to specific fee types only.
                     * @example [
                     *       "charge"
                     *     ]
                     */
                    fee_types?: ("charge" | "subscription" | "commitment")[] | null;
                    /**
                     * @description An array of billable metric codes to which the wallet is applicable. By specifying the billable metric codes in this field, you can restrict the wallet's usage to specific metrics only.
                     * @example []
                     */
                    billable_metric_codes?: string[] | null;
                } | null;
                /**
                 * @description Minimum amount of cents that can be top-up with a single paid transaction.
                 * @example 100
                 */
                paid_top_up_min_amount_cents?: number | null;
                /**
                 * @description Maximum amount of cents that can be top-up with a single paid transaction.
                 * @example 1000
                 */
                paid_top_up_max_amount_cents?: number | null;
                /**
                 * @description If set to true, the wallet will ignore paid top-up limits on creation.
                 * @example false
                 */
                ignore_paid_top_up_limits_on_creation?: boolean | null;
                invoice_custom_section?: components["schemas"]["InvoiceCustomSectionInput"];
                /** @description List of recurring transaction rules. Currently, we only allow one recurring rule per wallet. */
                recurring_transaction_rules?: {
                    /**
                     * @description The number of paid credits used for recurring top-up.
                     * @example 20.0
                     */
                    paid_credits?: string | null;
                    /**
                     * @description The number of free granted credits used for recurring top-up.
                     * @example 10.0
                     */
                    granted_credits?: string | null;
                    /**
                     * @description The method used for recurring top-up. Possible values are `fixed` or `target`.
                     * @example target
                     * @enum {string}
                     */
                    method?: "fixed" | "target";
                    /**
                     * @description The trigger. Possible values are `interval` or `threshold`.
                     * @example interval
                     * @enum {string}
                     */
                    trigger: "interval" | "threshold";
                    /**
                     * @description The interval used for recurring top-up. It represents the frequency at which automatic top-up occurs. The interval can be one of the following values: `weekly`, `monthly`, `quarterly`, `semiannual` or `yearly`. Required only when trigger is `interval`.
                     * @example monthly
                     * @enum {string}
                     */
                    interval?: "weekly" | "monthly" | "quarterly" | "semiannual" | "yearly";
                    /**
                     * Format: date-time
                     * @description The effective start date for recurring top-ups. This date should be provided in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
                     * @example 2022-08-08T00:00:00Z
                     */
                    started_at?: string | null;
                    /**
                     * Format: date-time
                     * @description The expiration date and time for this specific recurring transaction rule. It follows the ISO 8601 datetime format and is expressed in Coordinated Universal Time (UTC).
                     * @example 2023-09-30T23:59:59Z
                     */
                    expiration_at?: string | null;
                    /**
                     * @description The threshold for recurring top-ups is the value at which an automatic top-up is triggered. For example, if this threshold is set at 10 credits, an automatic top-up will occur whenever the wallet balance falls to or below 10 credits. Required only when trigger is set to `threshold`.
                     * @example 20.0
                     */
                    threshold_credits?: string;
                    /**
                     * @description The target ongoing balance is the value set for the ongoing balance to be reached by the automatic top-up. Required only when trigger is set to `target`.
                     * @example 200.0
                     */
                    target_ongoing_balance?: string;
                    /**
                     * @description A boolean setting that, when set to true, delays issuing an invoice for a wallet top-up until a successful payment is made; if false, the invoice is issued immediately upon wallet top-up, regardless of the payment status. Default value of false.
                     * @example false
                     */
                    invoice_requires_successful_payment?: boolean;
                    /**
                     * @description This optional field allows you to store a list of key-value pairs containing additional information or custom attributes. These key-value pairs will populate the metadata of the wallet transactions triggered by this rule.
                     * @example [
                     *       {
                     *         "key": "example_key",
                     *         "value": "example_value"
                     *       },
                     *       {
                     *         "key": "another_key",
                     *         "value": "another_value"
                     *       }
                     *     ]
                     */
                    transaction_metadata?: {
                        /** @description The unique identifier for the attribute. */
                        key?: string;
                        /** @description The value associated with the key. */
                        value?: string;
                    }[];
                    /**
                     * @description The name of the wallet transactions triggered by this rule. It will appear on the invoice as the label for the fee. If not set, the label on the invoice will fallback to either `Prepaid credits - {{wallet_name}}` if the wallet name is set, or `Prepaid credits`.
                     * @example Tokens for models 'high-fidelity-boost'
                     */
                    transaction_name?: string | null;
                    /**
                     * @description When true, allows rule to topped up wallet with transactions that exceed the paid top-up limits. Defaults to false.
                     * @example false
                     */
                    ignore_paid_top_up_limits?: boolean;
                    invoice_custom_section?: components["schemas"]["InvoiceCustomSectionInput"];
                    /** @description Optional payment method to use for processing recurring top-up payments. */
                    payment_method?: components["schemas"]["PaymentMethodReference"];
                }[] | null;
                /** @description Optional payment method to use for processing wallet top-up payments. */
                payment_method?: components["schemas"]["PaymentMethodReference"];
                metadata?: components["schemas"]["MetadataInput"];
            };
        };
        Wallet: {
            wallet: components["schemas"]["WalletObject"];
        };
        WalletUpdateInput: {
            wallet: {
                /**
                 * @description The name of the wallet.
                 * @example new_name
                 */
                name?: string | null;
                /**
                 * @description The code of the wallet.
                 * @example prepaid
                 */
                code?: string | null;
                /**
                 * @description Wallet priority for ordering when a customer has multiple wallets. Allowed values: 1-50, where 1 is highest priority and 50 is lowest. Defaults to 50.
                 * @example 50
                 */
                priority?: number;
                /**
                 * Format: date-time
                 * @description The date and time that determines when the wallet will expire. It follows the ISO 8601 datetime format and is expressed in Coordinated Universal Time (UTC).
                 * @example 2022-07-07T23:59:59Z
                 */
                expiration_at?: string | null;
                /**
                 * @description A boolean setting that, when set to true, delays issuing an invoice for a wallet top-up until a successful payment is made; if false, the invoice is issued immediately upon wallet top-up, regardless of the payment status. Default value of false.
                 * @example false
                 */
                invoice_requires_successful_payment?: boolean;
                invoice_custom_section?: components["schemas"]["InvoiceCustomSectionInput"];
                /** @description List of recurring transaction rules. Currently, we only allow one recurring rule per wallet. */
                recurring_transaction_rules?: {
                    /**
                     * Format: uuid
                     * @description A unique identifier for the recurring transaction rule in the Lago application. Can be used to update a recurring transaction rule.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    lago_id?: string;
                    /**
                     * @description The trigger. Possible values are `interval` or `threshold`.
                     * @example interval
                     * @enum {string}
                     */
                    trigger?: "interval" | "threshold";
                    /**
                     * @description The method used for recurring top-up. Possible values are `fixed` or `target`.
                     * @example target
                     * @enum {string}
                     */
                    method?: "fixed" | "target";
                    /**
                     * @description The interval used for recurring top-up. It represents the frequency at which automatic top-up occurs. The interval can be one of the following values: `weekly`, `monthly`, `quarterly`, `semiannual` or `yearly`. Required only when trigger is set to `interval`.
                     * @example monthly
                     * @enum {string}
                     */
                    interval?: "weekly" | "monthly" | "quarterly" | "semiannual" | "yearly";
                    /**
                     * @description The threshold for recurring top-ups is the value at which an automatic top-up is triggered. For example, if this threshold is set at 10 credits, an automatic top-up will occur whenever the wallet balance falls to or below 10 credits. Required only when trigger is set to `threshold`.
                     * @example 20.0
                     */
                    threshold_credits?: string;
                    /**
                     * @description The number of paid credits. Required only if there is no granted credits.
                     * @example 20.0
                     */
                    paid_credits?: string | null;
                    /**
                     * @description The number of free granted credits. Required only if there is no paid credits.
                     * @example 10.0
                     */
                    granted_credits?: string | null;
                    /**
                     * Format: date-time
                     * @description The effective start date for recurring top-ups. This date should be provided in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
                     * @example 2022-08-08T00:00:00Z
                     */
                    started_at?: string | null;
                    /**
                     * Format: date-time
                     * @description The expiration date and time for this specific recurring transaction rule. It follows the ISO 8601 datetime format and is expressed in Coordinated Universal Time (UTC).
                     * @example 2023-09-30T23:59:59Z
                     */
                    expiration_at?: string | null;
                    /**
                     * @description The target ongoing balance is the value set for the ongoing balance to be reached by the automatic top-up. Required only when trigger is set to `target`.
                     * @example 200.0
                     */
                    target_ongoing_balance?: string;
                    /**
                     * @description A boolean setting that, when set to true, delays issuing an invoice for a wallet top-up until a successful payment is made; if false, the invoice is issued immediately upon wallet top-up, regardless of the payment status. Default value of false.
                     * @example false
                     */
                    invoice_requires_successful_payment?: boolean;
                    /**
                     * @description This optional field allows you to store a list of key-value pairs containing additional information or custom attributes. These key-value pairs will populate the metadata of the wallet transactions triggered by this rule.
                     * @example [
                     *       {
                     *         "key": "example_key",
                     *         "value": "example_value"
                     *       },
                     *       {
                     *         "key": "another_key",
                     *         "value": "another_value"
                     *       }
                     *     ]
                     */
                    transaction_metadata?: {
                        /** @description The unique identifier for the attribute. */
                        key?: string;
                        /** @description The value associated with the key. */
                        value?: string;
                    }[];
                    /**
                     * @description The name of the wallet transactions triggered by this rule. It will appear on the invoice as the label for the fee. If not set, the label on the invoice will fallback to either `Prepaid credits - {{wallet_name}}` if the wallet name is set, or `Prepaid credits`.
                     * @example Tokens for models 'high-fidelity-boost'
                     */
                    transaction_name?: string | null;
                    invoice_custom_section?: components["schemas"]["InvoiceCustomSectionInput"];
                    /** @description Optional payment method to use for processing recurring top-up payments. */
                    payment_method?: components["schemas"]["PaymentMethodReference"];
                }[];
                /** @description Optional payment method to use for processing wallet top-up payments. */
                payment_method?: components["schemas"]["PaymentMethodReference"];
                /** @description Set wallet limitations to fee types. */
                applies_to?: {
                    /**
                     * @description An array of fee types to which the wallet is applicable. By specifying the fee types in this field, you can restrict the wallet's usage to specific fee types only.
                     * @example [
                     *       "charge"
                     *     ]
                     */
                    fee_types?: ("charge" | "subscription" | "commitment")[] | null;
                    /**
                     * @description An array of billable metric codes to which the wallet is applicable. By specifying the billable metric codes in this field, you can restrict the wallet's usage to specific metrics only.
                     * @example []
                     */
                    billable_metric_codes?: string[] | null;
                } | null;
                metadata?: components["schemas"]["MetadataInput"];
            };
        };
        WalletMetadataResponse: {
            metadata: components["schemas"]["MetadataObject"];
        };
        AlertThresholdBaseObject: {
            /**
             * @description Unique identifier of the usage threshold created by Lago.
             * @example warn
             */
            code?: string | null;
            /**
             * @description This field when set to `true` indicates that the alert will be retrigger when this threshold is reached after the last non-recurring threshold. Only one recurring threshold per alert allowed.
             * @default false
             * @example false
             */
            recurring: boolean;
        };
        AlertThresholdObject: components["schemas"]["AlertThresholdBaseObject"] & {
            /**
             * @description A value that should trigger this alert, formatted as a BigDecimal.
             * @example 99.0
             */
            value: string;
        };
        WalletAlertObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the alert, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * Format: uuid
             * @description Unique identifier of the organization, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_organization_id: string;
            external_subscription_id: null;
            /**
             * @description Unique identifier of the wallet, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_wallet_id?: string;
            /**
             * @description The wallet external unique identifier (provided by your own application).
             * @example wallet_code
             */
            wallet_code?: string;
            billable_metric: null;
            /**
             * @description The type of alert.
             * @example wallet_balance_amount
             * @enum {string}
             */
            alert_type: "wallet_balance_amount" | "wallet_credits_balance" | "wallet_ongoing_balance_amount" | "wallet_credits_ongoing_balance";
            /**
             * @description Unique code used to identify the alert.
             * @example wallet_balance_alert
             */
            code: string;
            /**
             * @description The name of the alert.
             * @example Wallet Balance Alert
             */
            name: string | null;
            /**
             * @description Indicates whether the alert is triggered when the monitored metric goes above or below the threshold.
             * @example decreasing
             * @enum {string}
             */
            direction?: "increasing" | "decreasing";
            /**
             * @description When the system checked if this alert should be triggered, this value was retrieved and checked against the thresholds.
             * @example 1000
             */
            previous_value: number;
            /**
             * Format: date-time
             * @description The date and time in UTC (ISO 8601) when the system checked if this alert should be triggered. Null until it's processed for the first time.
             * @example 2025-05-19T10:04:21Z
             */
            last_processed_at: string | null;
            /** @description Array of thresholds associated with the alert. */
            thresholds: components["schemas"]["AlertThresholdObject"][];
            /**
             * Format: date-time
             * @description The date and time in UTC (ISO 8601) when the alert was created.
             * @example 2025-03-20T10:00:00Z
             */
            created_at: string;
        };
        WalletAlerts: {
            alerts: components["schemas"]["WalletAlertObject"][];
            meta?: components["schemas"]["PaginationMeta"];
        };
        AlertThresholdInput: components["schemas"]["AlertThresholdBaseObject"] & {
            /**
             * @description A value that should trigger this alert. This can be an integer or a string formatted as a BigDecimal.
             * @example 99
             */
            value: number | string;
        };
        AlertBaseInput: {
            /**
             * @description Unique code used to identify the alert.
             * @example storage_threshold_alert
             */
            code?: string;
            /**
             * @description The name of the alert.
             * @example Storage Usage Alert
             */
            name?: string | null;
            /** @description Array of thresholds associated with the alert. */
            thresholds?: components["schemas"]["AlertThresholdInput"][];
        };
        WalletAlertCreateInput: {
            alert: components["schemas"]["AlertBaseInput"] & {
                /**
                 * @description The type of alert.
                 * @example wallet_balance_amount
                 * @enum {string}
                 */
                alert_type: "wallet_balance_amount" | "wallet_credits_balance" | "wallet_ongoing_balance_amount" | "wallet_credits_ongoing_balance";
                /**
                 * @description Unique code used to identify the alert.
                 * @example wallet_balance_alert
                 */
                code: string;
                /**
                 * @description The name of the alert.
                 * @example Wallet Balance Alert
                 */
                name?: string | null;
            };
        };
        WalletAlertBatchCreateInput: {
            /** @description Array of alerts to create. All alerts are created atomically - if any fail validation, none are created. */
            alerts: (components["schemas"]["AlertBaseInput"] & {
                /**
                 * @description The type of alert.
                 * @example wallet_balance_amount
                 * @enum {string}
                 */
                alert_type: "wallet_balance_amount" | "wallet_credits_balance" | "wallet_ongoing_balance_amount" | "wallet_credits_ongoing_balance";
                /**
                 * @description Unique code used to identify the alert.
                 * @example wallet_balance_alert
                 */
                code: string;
                /**
                 * @description The name of the alert.
                 * @example Wallet Balance Alert
                 */
                name?: string | null;
            })[];
        };
        WalletAlert: {
            alert: components["schemas"]["WalletAlertObject"];
        };
        WalletAlertUpdateInput: {
            alert: components["schemas"]["AlertBaseInput"] & {
                /**
                 * @description Unique code used to identify the alert.
                 * @example wallet_balance_alert
                 */
                code?: string;
                /**
                 * @description The name of the alert.
                 * @example Wallet Balance Alert
                 */
                name?: string | null;
            };
        };
        /** @description Details about the pricing unit used for charge usage. */
        UsagePricingUnitDetailsObject: {
            /**
             * @description The amount in cents in the pricing unit.
             * @example 200
             */
            amount_cents: number;
            /**
             * @description The short name of the pricing unit.
             * @example CR
             */
            short_name: string;
            /**
             * @description The conversion rate from pricing units to the plan's currency.
             * @example 0.5
             */
            conversion_rate: string;
        } | null;
        /** @description Array of filter object, representing multiple dimensions for a charge item. */
        CustomerChargeFiltersUsageObject: {
            /**
             * @description The number of units consumed for a specific charge filter related to a charge item.
             * @example 0.9
             */
            units?: string;
            /**
             * @description The total number of units consumed by the customer for a specific charge item, aggregated across all usage events.
             * @example 1.0
             */
            total_aggregated_units?: string;
            /**
             * @description The amount in cents, tax excluded, consumed for a specific charge filter related to a charge item.
             * @example 1000
             */
            amount_cents?: number;
            /**
             * @description The quantity of usage events that have been recorded for a particular charge filter during the specified time period. These events may also be referred to as the number of transactions in some contexts.
             * @example 10
             */
            events_count?: number;
            /**
             * @description Specifies the name that will be displayed on an invoice.
             * @example AWS eu-east-1
             */
            invoice_display_name?: string;
            pricing_unit_details?: components["schemas"]["UsagePricingUnitDetailsObject"];
            /**
             * @description List of filter values applied to the usage.
             * @example {
             *       "region": [
             *         "us-east-1"
             *       ]
             *     }
             */
            values?: {
                [key: string]: string[];
            };
        }[];
        /** @description Array of aggregated fees, grouped by the event properties defined in a `standard` charge model. */
        CustomerChargeGroupedUsageObject: {
            /**
             * @description The amount in cents, tax excluded, consumed for a specific group related to a charge item.
             * @example 1000
             */
            amount_cents?: number;
            /**
             * @description The quantity of usage events that have been recorded for a particular charge during the specified time period. These events may also be referred to as the number of transactions in some contexts.
             * @example 10
             */
            events_count?: number;
            /**
             * @description The number of units consumed for a specific group related to a charge item.
             * @example 0.9
             */
            units?: string;
            /**
             * @description The total number of units consumed by the customer for a specific charge item, aggregated across all usage events.
             * @example 1.0
             */
            total_aggregated_units?: string;
            pricing_unit_details?: components["schemas"]["UsagePricingUnitDetailsObject"];
            /** @description Key value list of event properties aggregated by the charge model */
            grouped_by?: {
                [key: string]: string;
            };
            filters?: components["schemas"]["CustomerChargeFiltersUsageObject"];
        }[];
        CustomerChargeUsageObject: {
            /**
             * @description The number of units consumed by the customer for a specific charge item.
             * @example 1.0
             */
            units: string;
            /**
             * @description The total number of units consumed by the customer for a specific charge item, aggregated across all usage events.
             * @example 1.0
             */
            total_aggregated_units: string;
            /**
             * @description The quantity of usage events that have been recorded for a particular charge during the specified time period. These events may also be referred to as the number of transactions in some contexts.
             * @example 10
             */
            events_count: number;
            /**
             * @description The amount in cents, tax excluded, consumed by the customer for a specific charge item.
             * @example 123
             */
            amount_cents: number;
            /**
             * @description The currency of a usage item consumed by the customer.
             * @example EUR
             */
            amount_currency: components["schemas"]["Currency"];
            pricing_unit_details?: components["schemas"]["UsagePricingUnitDetailsObject"];
            /** @description Object listing all the properties for a specific charge item. */
            charge: {
                /**
                 * Format: uuid
                 * @description Unique identifier assigned to the charge within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the charge's record within the Lago system.
                 * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                 */
                lago_id: string;
                /**
                 * @description The pricing model applied to this charge. Possible values are standard, `graduated`, `percentage`, `package` or `volume`.
                 * @example graduated
                 * @enum {string}
                 */
                charge_model: "standard" | "graduated" | "package" | "percentage" | "volume";
                /**
                 * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
                 * @example Setup
                 */
                invoice_display_name?: string;
            };
            /** @description The related billable metric object. */
            billable_metric: {
                /**
                 * Format: uuid
                 * @description Unique identifier assigned to the billable metric within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the billable metric's record within the Lago system.
                 * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                 */
                lago_id: string;
                /**
                 * @description The name of the billable metric used for this charge.
                 * @example Storage
                 */
                name: string;
                /**
                 * @description The code of the billable metric used for this charge.
                 * @example storage
                 */
                code: string;
                /**
                 * @description The aggregation type of the billable metric used for this charge. Possible values are `count_agg`, `sum_agg`, `max_agg` or `unique_count_agg`.
                 * @example sum_agg
                 * @enum {string}
                 */
                aggregation_type: "count_agg" | "sum_agg" | "max_agg" | "unique_count_agg" | "weighted_sum_agg" | "latest_agg";
            };
            filters?: components["schemas"]["CustomerChargeFiltersUsageObject"];
            grouped_usage?: components["schemas"]["CustomerChargeGroupedUsageObject"];
        };
        CustomerUsageObject: {
            /**
             * Format: date-time
             * @description The lower bound of the billing period, expressed in the ISO 8601 datetime format in Coordinated Universal Time (UTC).
             * @example 2022-07-01T00:00:00Z
             */
            from_datetime: string;
            /**
             * Format: date-time
             * @description The upper bound of the billing period, expressed in the ISO 8601 datetime format in Coordinated Universal Time (UTC).
             * @example 2022-07-31T23:59:59Z
             */
            to_datetime: string;
            /**
             * Format: date
             * @description The date of creation of the invoice.
             * @example 2022-08-01
             */
            issuing_date: string;
            /**
             * Format: uuid
             * @description A unique identifier associated with the invoice related to this particular usage record.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_invoice_id?: string | null;
            /**
             * @description The currency of the customer's current usage.
             * @example EUR
             */
            currency?: components["schemas"]["Currency"];
            /**
             * @description The amount in cents, tax excluded.
             * @example 123
             */
            amount_cents: number;
            /**
             * @description The tax amount in cents.
             * @example 200
             */
            taxes_amount_cents: number;
            /**
             * @description The total amount in cents, tax included.
             * @example 123
             */
            total_amount_cents: number;
            /** @description Array of charges that comprise the current usage. It contains detailed information about individual charge items associated with the usage. */
            charges_usage: components["schemas"]["CustomerChargeUsageObject"][];
        };
        CustomerUsage: {
            customer_usage: components["schemas"]["CustomerUsageObject"];
        };
        CustomerProjectedUsageObject: {
            /**
             * Format: date-time
             * @description The lower bound of the billing period, expressed in the ISO 8601 datetime format in Coordinated Universal Time (UTC).
             * @example 2022-07-01T00:00:00Z
             */
            from_datetime: string;
            /**
             * Format: date-time
             * @description The upper bound of the billing period, expressed in the ISO 8601 datetime format in Coordinated Universal Time (UTC).
             * @example 2022-07-31T23:59:59Z
             */
            to_datetime: string;
            /**
             * Format: date
             * @description The date of creation of the invoice.
             * @example 2022-08-01
             */
            issuing_date: string;
            /**
             * Format: uuid
             * @description A unique identifier associated with the invoice related to this particular usage record.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_invoice_id?: string | null;
            /**
             * @description The currency of the customer's current usage.
             * @example EUR
             */
            currency?: components["schemas"]["Currency"];
            /**
             * @description The amount in cents, tax excluded.
             * @example 123
             */
            amount_cents: number;
            /**
             * @description The projected amount in cents, tax excluded.
             * @example 256
             */
            projected_amount_cents: number;
            /**
             * @description The tax amount in cents.
             * @example 200
             */
            taxes_amount_cents: number;
            /**
             * @description The total amount in cents, tax included.
             * @example 123
             */
            total_amount_cents: number;
            /** @description Array of charges that comprise the current usage. It contains detailed information about individual charge items associated with the usage. */
            charges_usage: components["schemas"]["CustomerChargeUsageObject"][];
        };
        CustomerProjectedUsage: {
            customer_projected_usage: components["schemas"]["CustomerProjectedUsageObject"];
        };
        CustomerPastUsage: {
            usage_periods: components["schemas"]["CustomerUsage"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        CustomerCheckoutUrl: {
            /**
             * @description Unique identifier assigned to the customer within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the customer's record within the Lago system
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_customer_id: string;
            /**
             * @description The customer external unique identifier (provided by your own application)
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            external_customer_id: string;
            /**
             * @description The Payment Provider name linked to the Customer.
             * @example stripe
             */
            payment_provider: string;
            /**
             * @description Code of the payment provider
             * @example Stripe Prod
             */
            payment_provider_code?: string;
            /**
             * @description The new generated Payment Provider Checkout URL for the Customer.
             * @example https://foo.bar
             */
            checkout_url?: string;
        };
        PaymentMethodObject: {
            /**
             * Format: uuid
             * @description The unique identifier of the payment method, created by Lago.
             * @example 4cf085a7-c196-4f07-a543-97c50ec6e8b2
             */
            lago_id: string;
            /**
             * @description Indicates whether this payment method is the default one for the customer.
             * @example true
             */
            is_default: boolean;
            /**
             * @description Code of the payment provider associated with this payment method.
             * @example stripe_prod
             */
            payment_provider_code?: string | null;
            /**
             * @description Human-readable name of the payment provider.
             * @example Stripe
             */
            payment_provider_name?: string | null;
            /**
             * @description The type of the payment provider.
             * @example stripe
             * @enum {string}
             */
            payment_provider_type: "adyen" | "cashfree" | "gocardless" | "stripe" | "flutterwave" | "moneyhash";
            /**
             * @description Unique identifier of the payment method within the payment provider.
             * @example pm_1N8ZQX2eZvKYlo2CkL9Y8XYZ
             */
            provider_method_id: string;
            /**
             * Format: date-time
             * @description Timestamp when the payment method was created in Lago's database.
             * @example 2025-01-21T00:10:29Z
             */
            created_at: string;
        };
        PaymentMethodsPaginated: {
            payment_methods: components["schemas"]["PaymentMethodObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        PaymentMethod: {
            payment_method: components["schemas"]["PaymentMethodObject"];
        };
        EventObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the event within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the event's record within the Lago system
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id?: string | null;
            /**
             * @description This field represents a unique identifier for the event. It is crucial for ensuring idempotency, meaning that each event can be uniquely identified and processed without causing any unintended side effects.
             * @example transaction_1234567890
             */
            transaction_id: string;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the customer within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the customer's record within the Lago system
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_customer_id: string | null;
            /**
             * @description The code that identifies a targeted billable metric. It is essential that this code matches the `code` property of one of your active billable metrics. If the provided code does not correspond to any active billable metric, it will be ignored during the process.
             * @example storage
             */
            code: string;
            /**
             * Format: date-time
             * @description This field captures the Unix timestamp in seconds indicating the occurrence of the event in Coordinated Universal Time (UTC). If this timestamp is not provided, the API will automatically set it to the time of event reception.
             * @example 2022-04-29T08:59:51.123Z
             */
            timestamp: string;
            /**
             * @description The precise total amount that was sent in the event payload. This filed is used by the `dynamic` pricing model.
             * @example 1234.56
             */
            precise_total_amount_cents?: string | null;
            /**
             * @description This field represents additional properties associated with the event, which are utilized in the calculation of the final fee. This object becomes mandatory when the targeted billable metric employs a `sum_agg`, `max_agg`, or `unique_count_agg` aggregation method. However, when using a simple `count_agg`, this object is not required.
             * @example {
             *       "gb": 10
             *     }
             */
            properties?: {
                /**
                 * @description The `operation_type` field is only necessary when adding or removing a specific unit when the targeted billable metric adopts a `unique_count_agg` aggregation method. In other cases, the `operation_type` field is not required. The valid values for the `operation_type` field are `add` or `remove`, which indicate whether the unit is being added or removed from the unique count aggregation, respectively.
                 * @enum {string|null}
                 */
                operation_type?: "add" | "remove" | null;
            } & {
                [key: string]: string | number;
            };
            /**
             * Format: uuid
             * @description Unique identifier assigned to the subscription within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the subscription's record within the Lago system
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_subscription_id: string | null;
            /**
             * @description The unique identifier of the subscription within your application. It is a mandatory field when the customer possesses multiple subscriptions or when the `external_customer_id` is not provided.
             * @example sub_1234567890
             */
            external_subscription_id: string;
            /**
             * Format: date-time
             * @description The creation date of the event's record in the Lago application, presented in the ISO 8601 datetime format, specifically in Coordinated Universal Time (UTC). It provides the precise timestamp of when the event's record was created within the Lago application
             * @example 2022-04-29T08:59:51Z
             */
            created_at?: string | null;
        };
        EventsPaginated: {
            events: components["schemas"]["EventObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        EventInputObject: {
            /**
             * @description This field represents a unique identifier for the event.
             *     It is crucial for ensuring idempotency, meaning that each event can be uniquely identified and processed without causing any unintended side effects.
             *
             *     WARNING: If the Lago organization is configured to use the new Clickhouse-based event pipeline (designed for high-volume processing), the idempotency logic is handled differently.
             *     Event uniqueness is maintained with both `transaction_id` and `timestamp` fields.
             *     If a new event arrives with identical values for these two fields as an existing event, the new one will overwrite the previous event rather than being rejected.
             * @example transaction_1234567890
             */
            transaction_id: string;
            /**
             * @description The unique identifier of the subscription in your application. This field is mandatory in order to link events to the correct customer subscription.
             * @example sub_1234567890
             */
            external_subscription_id: string;
            /**
             * @description The code that identifies a targeted billable metric. It is essential that this code matches the `code` property of one of your active billable metrics. If the provided code does not correspond to any active billable metric, it will be ignored during the process.
             * @example storage
             */
            code: string;
            /**
             * @description This field captures the Unix timestamp in seconds indicating the occurrence of the event in Coordinated Universal Time (UTC).
             *     If this timestamp is not provided, the API will automatically set it to the time of event reception.
             *     You can also provide miliseconds precision by appending decimals to the timestamp.
             * @example 1651240791.123
             */
            timestamp?: number | string;
            /**
             * @description The precise total amount in cents with precision used by the `dynamic` pricing model to compute the usage amount.
             * @example 1234.56
             */
            precise_total_amount_cents?: string | null;
            /**
             * @description This field represents additional properties associated with the event, which are utilized in the calculation of the final fee. This object becomes mandatory when the targeted billable metric employs a `sum_agg`, `max_agg`, or `unique_count_agg` aggregation method. However, when using a simple `count_agg`, this object is not required.
             * @example {
             *       "gb": 10
             *     }
             */
            properties?: {
                [key: string]: string | number;
            } | null;
        };
        EventInput: {
            event: components["schemas"]["EventInputObject"];
        };
        EventCreated: {
            event: components["schemas"]["EventObject"] & {
                /**
                 * @description The value will always be null in this response as the event processing is done asynchronously
                 * @example null
                 */
                lago_customer_id?: null;
            };
        };
        EventBatchInput: {
            events: components["schemas"]["EventInputObject"][];
        };
        EventsCreated: {
            events: (components["schemas"]["EventObject"] & {
                /**
                 * @description The value will always be null in this response as the event processing is done asynchronously
                 * @example null
                 */
                lago_customer_id?: null;
            })[];
        };
        EventEstimateFeesInput: {
            event: {
                /**
                 * @description The code that identifies a targeted billable metric. It is essential that this code matches the `code` property of one of your active billable metrics. If the provided code does not correspond to any active billable metric, it will be ignored during the process.
                 * @example storage
                 */
                code: string;
                /**
                 * @description The unique identifier of the subscription within your application.
                 * @example sub_1234567890
                 */
                external_subscription_id: string;
                /** @description This field represents additional properties associated with the event, which are utilized in the calculation of the final fee. This object becomes mandatory when the targeted billable metric employs a `sum_agg`, `max_agg`, or `unique_count_agg` aggregation method. However, when using a simple `count_agg`, this object is not required. */
                properties?: Record<string, never>;
            };
        };
        Fees: {
            fees: components["schemas"]["FeeObject"][];
        };
        EventEstimateInstantFeesInput: {
            event: {
                /**
                 * @description The code that identifies a targeted billable metric. It is essential that this code matches the `code` property of one of your active billable metrics. If the provided code does not correspond to any active billable metric, it will be ignored during the process.
                 * @example storage
                 */
                code: string;
                /**
                 * @description The unique identifier of the subscription within your application.
                 * @example sub_1234567890
                 */
                external_subscription_id: string;
                /** @description This field represents additional properties associated with the event, which are utilized in the calculation of the final fee. This object becomes mandatory when the targeted billable metric employs a `sum_agg`, `max_agg`, or `unique_count_agg` aggregation method. However, when using a simple `count_agg`, this object is not required. */
                properties?: Record<string, never>;
                /**
                 * @description This field represents a unique identifier for the event.
                 * @example transaction_1234567890
                 */
                transaction_id?: string | null;
            };
        };
        FeeEstimateObject: {
            lago_id?: null;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the charge that the fee belongs to
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_charge_id?: string;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the charge filter that the fee belongs to
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_charge_filter_id?: string | null;
            lago_invoice_id?: null;
            lago_true_up_fee_id?: null;
            lago_true_up_parent_fee_id?: null;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the subscription, created by Lago. This field is specifically displayed when the fee type is charge or subscription.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_subscription_id?: string;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the customer, created by Lago. This field is specifically displayed when the fee type is charge or subscription.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_customer_id?: string;
            /**
             * @description Unique identifier assigned to the customer in your application. This field is specifically displayed when the fee type is charge or subscription.
             * @example external_id
             */
            external_customer_id?: string;
            /**
             * @description Unique identifier assigned to the subscription in your application. This field is specifically displayed when the fee type is charge or subscription.
             * @example external_id
             */
            external_subscription_id?: string;
            /**
             * @description The cost of this specific fee, excluding any applicable taxes.
             * @example 100
             */
            amount_cents: number;
            /**
             * @description The cost of this specific fee, excluding any applicable taxes, with precision.
             * @example 1.0001
             */
            precise_amount?: number;
            /**
             * @description The cost of this specific fee, including any applicable taxes, with precision.
             * @example 1.0212
             */
            precise_total_amount?: number;
            /**
             * @description The currency of this specific fee. It indicates the monetary unit in which the fee's cost is expressed.
             * @example EUR
             */
            amount_currency: components["schemas"]["Currency"];
            /**
             * @description The cost of the tax associated with this specific fee.
             * @example 0
             */
            taxes_amount_cents: number;
            /**
             * @description The cost of the tax associated with this specific fee, with precision.
             * @example 0
             */
            taxes_precise_amount?: number;
            /**
             * @description The tax rate associated with this specific fee.
             * @example 20
             */
            taxes_rate: number;
            /**
             * @description The number of units used to charge the customer. This field indicates the quantity or count of units consumed or utilized in the context of the charge. It helps in determining the basis for calculating the fee or cost associated with the usage of the service or product provided to the customer.
             * @example 0.32
             */
            units: string;
            description?: null;
            /**
             * @description The unit amount of the fee per unit, with precision.
             * @example 312.5
             */
            precise_unit_amount: number;
            /**
             * @description The coupon amount applied to the estimated instant fee. It will always returns 0
             * @example 0.0
             */
            precise_coupons_amount_cents?: string;
            /**
             * @description The cost of this specific fee, including any applicable taxes.
             * @example 120
             */
            total_amount_cents: number;
            /**
             * @description The currency of this specific fee, including any applicable taxes.
             * @example EUR
             */
            total_amount_currency: components["schemas"]["Currency"];
            /**
             * @description The number of events that have been sent and used to charge the customer. This field indicates the count or quantity of events that have been processed and considered in the charging process.
             * @example 1
             */
            events_count?: number;
            /**
             * @description Flag that indicates whether the fee was paid in advance. It serves as a boolean value, where `true` represents that the fee was paid in advance (straightaway), and `false` indicates that the fee was not paid in arrears (at the end of the period).
             * @example true
             */
            pay_in_advance: boolean;
            /**
             * @description Flag that indicates whether the fee was included on the invoice. It serves as a boolean value, where `true` represents that the fee was included on the invoice, and `false` indicates that the fee was not included on the invoice.
             * @example true
             */
            invoiceable: boolean;
            /**
             * @description Indicates the payment status of the fee. It represents the current status of the payment associated with the fee. The value will always `pending`.
             * @example pending
             * @enum {string}
             */
            payment_status: "pending";
            created_at?: null;
            succeeded_at?: null;
            failed_at?: null;
            refunded_at?: null;
            /**
             * @description Unique identifier assigned to the transaction. This field is specifically displayed when the fee type is `charge` and the payment for the fee is made in advance (`pay_in_advance` is set to `true`).
             * @example transaction_1234567890
             */
            event_transaction_id?: string;
            amount_details?: null;
            /** @description Item attached to the fee */
            item: {
                /**
                 * @description The fee type. The value will be `charge`.
                 * @example charge
                 * @enum {string}
                 */
                type: "charge";
                /**
                 * @description The code of the fee item. It will be the code of the `billable_metric`.
                 * @example startup
                 */
                code: string;
                /**
                 * @description The name of the fee item. It will be the name of the `billable_metric`.
                 * @example Startup
                 */
                name: string;
                /**
                 * @description The description of the fee item. It will be the name of the `billable_metric`.
                 * @example Startup description
                 */
                description?: string;
                /**
                 * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
                 * @example Setup Fee (SF1)
                 */
                invoice_display_name?: string;
                /**
                 * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the actual charge filter values will be used as the default display name.
                 * @example AWS eu-east-1
                 */
                filter_invoice_display_name?: string | null;
                /** @description Key value list of event properties */
                filters?: {
                    [key: string]: string[];
                } | null;
                /**
                 * Format: uuid
                 * @description Unique identifier of the fee item, created by Lago. It will be the identifier of the `billable_metric`.
                 * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                 */
                lago_item_id: string;
                /**
                 * @description The type of the fee item. Values is `BillableMetric`.
                 * @example BillableMetric
                 * @enum {string}
                 */
                item_type: "BillableMetric";
                /** @description Key value list of event properties aggregated by the charge model */
                grouped_by?: {
                    [key: string]: string;
                };
            };
        };
        FeesEstimate: {
            fees: components["schemas"]["FeeEstimateObject"][];
        };
        EventBatchEstimateInstantFeesInput: {
            events: components["schemas"]["EventEstimateInstantFeesInput"][];
        };
        Event: {
            event: components["schemas"]["EventObject"];
        };
        FeesPaginated: {
            fees: components["schemas"]["FeeObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        Fee: {
            fee: components["schemas"]["FeeObject"];
        };
        FeeUpdateInput: {
            fee: {
                /**
                 * @description The payment status of the fee. Possible values are `pending`, `succeeded`, `failed` or `refunded`.
                 * @example succeeded
                 * @enum {string}
                 */
                payment_status: "pending" | "succeeded" | "failed" | "refunded";
            };
        };
        InvoiceOneOffCreateInput: {
            invoice: {
                /**
                 * @description Unique identifier assigned to the customer in your application.
                 * @example hooli_1234
                 */
                external_customer_id: string;
                /**
                 * @description The currency of the invoice.
                 * @example EUR
                 */
                currency?: components["schemas"]["Currency"];
                fees: {
                    /**
                     * @description The code of the add-on used as invoice item.
                     * @example setup_fee
                     */
                    add_on_code: string;
                    /**
                     * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
                     * @example Setup Fee (SF1)
                     */
                    invoice_display_name?: string;
                    /**
                     * @description The amount of the fee per unit, expressed in cents. By default, the amount of the add-on is used.
                     * @example 12000
                     */
                    unit_amount_cents?: number | null;
                    /**
                     * @description The quantity of units associated with the fee. By default, only 1 unit is added to the invoice.
                     * @example 2.5
                     */
                    units?: string | null;
                    /**
                     * @description This is a description
                     * @example The description of the fee line item in the invoice. By default, the description of the add-on is used.
                     */
                    description?: string | null;
                    /**
                     * Format: date-time
                     * @description The lower boundary of the invoice billing interval. The `from_datetime` should be provided in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
                     * @example 2022-08-08T00:00:00Z
                     */
                    from_datetime?: string;
                    /**
                     * Format: date-time
                     * @description The upper boundary of the invoice billing interval. The `to_datetime` should be provided in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
                     * @example 2022-08-08T00:00:00Z
                     */
                    to_datetime?: string;
                    tax_codes?: components["schemas"]["TaxCodes"];
                    /**
                     * @description If true, the invoice will be created but not sent to the payment provider.
                     * @default false
                     * @example true
                     */
                    skip_psp: boolean | null;
                }[];
                invoice_custom_section?: components["schemas"]["InvoiceCustomSectionInput"];
                /** @description Optional payment method to use for processing the invoice payment. */
                payment_method?: components["schemas"]["PaymentMethodReference"];
            };
        };
        InvoiceObjectExtended: components["schemas"]["InvoiceObject"] & {
            credits?: components["schemas"]["CreditObject"][];
            fees?: components["schemas"]["FeeObject"][];
            subscriptions?: components["schemas"]["SubscriptionObject"][];
            error_details?: components["schemas"]["ErrorDetailObject"][];
        };
        Invoice: {
            invoice: components["schemas"]["InvoiceObjectExtended"];
        };
        InvoiceUpdateInput: {
            invoice: {
                /**
                 * @description The payment status of the invoice. Possible values are `pending`, `failed` or `succeeded`.
                 * @example succeeded
                 * @enum {string}
                 */
                payment_status?: "pending" | "succeeded" | "failed";
                metadata?: {
                    /**
                     * Format: uuid
                     * @description The metadata object identifier. Only required when updating existing metadata.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    id?: string;
                    /**
                     * @description The key in the key-value pair of the metadata.
                     * @example digital_ref_id
                     */
                    key?: string;
                    /**
                     * @description The value in the key-value pair of the metadata.
                     * @example INV-0123456-98765
                     */
                    value?: string;
                }[];
            };
        };
        /** @description . */
        InvoicePaymentUrl: {
            invoice_payment_details?: {
                /**
                 * @description Unique identifier assigned to the customer within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the customer's record within the Lago system
                 * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                 */
                lago_customer_id?: string;
                /**
                 * @description Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system
                 * @example 1e501a90-1a90-1a90-1a90-1a901a901a80
                 */
                lago_invoice_id?: string;
                /**
                 * @description The customer external unique identifier (provided by your own application)
                 * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
                 */
                external_customer_id?: string;
                /**
                 * @description The Payment Provider name linked to the Customer.
                 * @example stripe
                 */
                payment_provider?: string;
                /**
                 * @description The generated Payment URL for the Invoice.
                 * @example https://foo.bar
                 */
                payment_url?: string;
            };
        };
        InvoicePreviewInput: {
            customer: {
                /**
                 * @description The first line of the billing address
                 * @example 5230 Penfield Ave
                 */
                address_line1?: string;
                /**
                 * @description The second line of the billing address
                 * @example null
                 */
                address_line2?: string | null;
                /**
                 * @description The city of the customer's billing address
                 * @example Woodland Hills
                 */
                city?: string;
                /**
                 * @description Country code of the customer's billing address. Format must be ISO 3166 (alpha-2)
                 * @example US
                 */
                country?: components["schemas"]["Country"];
                /**
                 * @description Unique identifier assigned to the customer in your application.
                 * @example hooli_1234
                 */
                external_id?: string;
                integration_customers?: {
                    /**
                     * @description The integration type used for accounting and tax syncs.
                     *     Accepted values: `anrok`.
                     * @example anrok
                     * @enum {string}
                     */
                    integration_type: "anrok";
                    /**
                     * @description Unique code used to identify an integration connection.
                     * @example anrok1
                     */
                    integration_code: string;
                }[];
                /**
                 * @description The full name of the customer
                 * @example Gavin Belson
                 */
                name?: string;
                /**
                 * @description The currency of the invoice.
                 * @example EUR
                 */
                currency?: components["schemas"]["Currency"];
                shipping_address?: components["schemas"]["Address"];
                /**
                 * @description The state of the customer's billing address
                 * @example CA
                 */
                state?: string;
                /**
                 * @description The tax identification number of the customer
                 * @example EU123456789
                 */
                tax_identification_number?: string;
                /** @description The customer's timezone, used for billing purposes in their local time. Overrides the organization's timezone */
                timezone?: components["schemas"]["Timezone"];
            };
            /**
             * @description The code of the plan. It serves as a unique identifier associated with a particular plan. The code is typically used for internal or system-level identification purposes, like assigning a subscription, for instance.
             * @example startup
             */
            plan_code?: string;
            /**
             * Format: date-time
             * @description The anniversary date and time of the initial subscription. This date serves as the basis for billing subscriptions with `anniversary` billing time. The `anniversary_date` should be provided in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
             * @example 2022-08-08T00:00:00Z
             */
            subscription_at?: string;
            /**
             * @description The billing time for the subscription, which can be set as either `anniversary` or `calendar`. If not explicitly provided, it will default to `calendar`. The billing time determines the timing of recurring billing cycles for the subscription. By specifying `anniversary`, the billing cycle will be based on the specific date the subscription started (billed fully), while `calendar` sets the billing cycle at the first day of the week/month/year (billed with proration).
             * @example anniversary
             * @enum {string}
             */
            billing_time?: "calendar" | "anniversary";
            coupons?: {
                /**
                 * @description The name of the coupon.
                 * @example Startup Deal
                 */
                name?: string;
                /**
                 * @description Unique code used to identify the coupon.
                 * @example startup_deal
                 */
                code: string;
                /**
                 * @description The type of the coupon. It can have two possible values: `fixed_amount` or `percentage`.
                 *
                 *     - If set to `fixed_amount`, the coupon represents a fixed amount discount.
                 *     - If set to `percentage`, the coupon represents a percentage-based discount.
                 * @example fixed_amount
                 * @enum {string}
                 */
                coupon_type?: "fixed_amount" | "percentage";
                /**
                 * @description The amount of the coupon in cents. This field is required only for coupon with `fixed_amount` type.
                 * @example 5000
                 */
                amount_cents?: number | null;
                /**
                 * @description The currency of the coupon. This field is required only for coupon with `fixed_amount` type.
                 * @example USD
                 */
                amount_currency?: components["schemas"]["CurrencyOrNull"];
                /** @description The percentage rate of the coupon. This field is required only for coupons with a `percentage` coupon type. */
                percentage_rate?: string | null;
                /**
                 * @description Specifies the number of billing periods to which the coupon applies. This field is required only for coupons with a `recurring` frequency type
                 * @example 6
                 */
                frequency_duration?: number | null;
            }[];
            subscriptions?: {
                external_ids: string[];
                /**
                 * @description The code of the plan. It serves as a unique identifier associated with the new plan to which the customer is upgrading or downgrading.
                 * @example new_code
                 */
                plan_code?: string;
                /**
                 * Format: date-time
                 * @description The date and time when the subscription is terminated. It should defined in the future.
                 * @example 2022-08-08T00:00:00Z
                 */
                terminated_at?: string;
            };
            /**
             * @description The code of the billing entity to which will be associated a customer if the external_id is not provided. If billing_entity_code is not provided, default billing_entity of organization will be used.
             * @example acme_corp
             */
            billing_entity_code?: string;
        };
        /** @description Parameters available when voiding an invoice that optionally generate credit notes. */
        InvoiceVoidInput: {
            /**
             * @description Set to `true` to force voiding the invoice and generate a credit note.
             * @example true
             */
            generate_credit_note?: boolean;
            /**
             * @description Portion of the invoice amount (in cents) to be refunded to the customer in the generated credit note.
             * @example 2000
             */
            refund_amount?: number;
            /**
             * @description Portion of the invoice amount (in cents) to be credited to the customer's balance in the generated credit note.
             * @example 1150
             */
            credit_amount?: number;
        };
        /** @description The custom billing settings for your organization. */
        OrganizationBillingConfiguration: {
            /**
             * @description The customer invoice message that appears at the bottom of each billing documents.
             * @example This is my customer footer
             */
            invoice_footer?: string | null;
            /**
             * @description The grace period, expressed in days, for finalizing the invoice. This period refers to the additional time granted to your customers beyond the invoice due date to adjust usage and line items. Can be overwritten by the customer's grace period.
             * @example 3
             */
            invoice_grace_period?: number;
            /**
             * @description The locale of the billing documents, expressed in the ISO 639-1 format. This field indicates the language or regional variant used for the documents content issued or the embeddable customer portal.
             * @example en
             */
            document_locale?: string;
        };
        OrganizationUpdateInput: {
            organization: {
                /**
                 * @description The URL of your newest updated webhook endpoint. This URL allows your organization to receive important messages, notifications, or data from the Lago system. By configuring your webhook endpoint to this URL, you can ensure that your organization stays informed and receives relevant information in a timely manner.
                 * @example https://webhook.brex.com
                 */
                webhook_url?: string | null;
                /**
                 * @description The country of your organization.
                 * @example US
                 */
                country?: components["schemas"]["CountryOrNull"];
                /**
                 * @description The default currency of an organization.
                 * @example USD
                 */
                default_currency?: components["schemas"]["Currency"];
                /**
                 * @description The first line of your organization's billing address.
                 * @example 100 Brex Street
                 */
                address_line1?: string | null;
                /**
                 * @description The second line of your organization's billing address.
                 * @example null
                 */
                address_line2?: string | null;
                /**
                 * @description The state of your organization's billing address.
                 * @example NYC
                 */
                state?: string | null;
                /**
                 * @description The zipcode of your organization's billing address.
                 * @example 10000
                 */
                zipcode?: string | null;
                /**
                 * Format: email
                 * @description The email address of your organization used to bill your customers.
                 * @example brex@brex.com
                 */
                email?: string | null;
                /**
                 * @description The city of your organization's billing address.
                 * @example New York
                 */
                city?: string | null;
                /**
                 * @description The legal name of your organization.
                 * @example null
                 */
                legal_name?: string | null;
                /**
                 * @description The legal number of your organization.
                 * @example null
                 */
                legal_number?: string | null;
                /**
                 * @description This parameter configures the method of incrementing invoice numbers for your customers.
                 *
                 *     - `per_customer`: Invoice numbers are incremented individually for each customer. This means every customer will have their own unique sequence of invoice numbers, separate from other customers. It ensures that each customer's invoice numbers follow a distinct and isolated numbering pattern.
                 *     - `per_organization`: Invoice number incrementation is made across your entire organization. Rather than individual sequences for each customer, all invoices within the organization follow a single, unified numbering system. This creates a continuous and organization-wide sequence for all invoice numbers. Invoices are incremented per month (dynamic value used is YYYYMM), and invoice numbers are reset at the end of each month.
                 *
                 *     The default value for `document_numbering` is set to `per_customer`, meaning that, unless changed, invoice numbers will increment uniquely for each customer.
                 * @example per_customer
                 * @enum {string}
                 */
                document_numbering?: "per_customer" | "per_organization";
                /**
                 * @description Sets the prefix for invoices and credit notes. Default is the first three letters of your organization name plus the last four digits of your organization ID. Customizable within 1-10 characters, and automatically capitalized by Lago.
                 * @example ORG-1234
                 */
                document_number_prefix?: string;
                /**
                 * @description The net payment term, expressed in days, specifies the duration within which a customer is expected to remit payment after the invoice is finalized.
                 * @example 30
                 */
                net_payment_term?: number;
                /**
                 * @description The tax identification number of your organization.
                 * @example US123456789
                 */
                tax_identification_number?: string | null;
                /**
                 * @description Your organization's timezone, used for billing purposes in your own local time. Can be overwritten by the customer's timezone.
                 * @example America/New_York
                 */
                timezone?: components["schemas"]["Timezone"];
                /**
                 * @description Represents the email settings of the organization. It allows you to define which documents are sent by email. The field value determines the types of documents that trigger email notifications. Possible values for are `invoice.finalized` and `credit_note.created`. By configuring this field, you can specify whether invoices, credit notes, or both should be sent to recipients via email.
                 * @example [
                 *       "invoice.finalized",
                 *       "credit_note.created"
                 *     ]
                 */
                email_settings?: ("invoice.finalized" | "credit_note.created")[];
                billing_configuration?: components["schemas"]["OrganizationBillingConfiguration"];
                /**
                 * @description Determines whether invoices with a zero total amount should be finalized. If set to true, zero amount invoices will be finalized. If set to false, zero amount invoices will not be finalized.
                 * @example false
                 */
                finalize_zero_amount_invoice?: boolean;
            };
        };
        OrganizationObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the organization within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the organization's record within the Lago system
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The name of your organization.
             * @example Name1
             */
            name: string;
            /**
             * Format: date-time
             * @description The date of creation of your organization, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
             * @example 2022-05-02T13:04:09Z
             */
            created_at: string | null;
            /**
             * @description The URL of your newest updated webhook endpoint. This URL allows your organization to receive important messages, notifications, or data from the Lago system. By configuring your webhook endpoint to this URL, you can ensure that your organization stays informed and receives relevant information in a timely manner.
             * @example https://webhook.brex.com
             */
            webhook_url?: string | null;
            /**
             * @description The array containing your webhooks URLs.
             * @example [
             *       "https://webhook.brex.com",
             *       "https://webhook2.brex.com"
             *     ]
             */
            webhook_urls?: string[] | null;
            /**
             * @description The country of your organization.
             * @example US
             */
            country?: components["schemas"]["CountryOrNull"];
            /**
             * @description The default currency of an organization.
             * @example USD
             */
            default_currency?: components["schemas"]["Currency"];
            /**
             * @description The first line of your organization's billing address.
             * @example 100 Brex Street
             */
            address_line1?: string | null;
            /**
             * @description The second line of your organization's billing address.
             * @example null
             */
            address_line2?: string | null;
            /**
             * @description The state of your organization's billing address.
             * @example NYC
             */
            state?: string | null;
            /**
             * @description The zipcode of your organization's billing address.
             * @example 10000
             */
            zipcode?: string | null;
            /**
             * Format: email
             * @description The email address of your organization used to bill your customers.
             * @example brex@brex.com
             */
            email?: string | null;
            /**
             * @description The city of your organization's billing address.
             * @example New York
             */
            city?: string | null;
            /**
             * @description The legal name of your organization.
             * @example null
             */
            legal_name?: string | null;
            /**
             * @description The legal number of your organization.
             * @example null
             */
            legal_number?: string | null;
            /**
             * @description This parameter configures the method of incrementing invoice numbers for your customers.
             *
             *     - `per_customer`: Invoice numbers are incremented individually for each customer. This means every customer will have their own unique sequence of invoice numbers, separate from other customers. It ensures that each customer's invoice numbers follow a distinct and isolated numbering pattern.
             *     - `per_organization`: Invoice number incrementation is made across your entire organization. Rather than individual sequences for each customer, all invoices within the organization follow a single, unified numbering system. This creates a continuous and organization-wide sequence for all invoice numbers. Invoices are incremented per month (dynamic value used is YYYYMM), and invoice numbers are reset at the end of each month.
             *
             *     The default value for `document_numbering` is set to `per_customer`, meaning that, unless changed, invoice numbers will increment uniquely for each customer.
             * @example per_customer
             * @enum {string}
             */
            document_numbering: "per_customer" | "per_organization";
            /**
             * @description Sets the prefix for invoices and credit notes. Default is the first three letters of your organization name plus the last four digits of your organization ID. Customizable within 1-10 characters, and automatically capitalized by Lago.
             * @example ORG-1234
             */
            document_number_prefix: string;
            /**
             * @description The net payment term, expressed in days, specifies the duration within which a customer is expected to remit payment after the invoice is finalized.
             * @example 30
             */
            net_payment_term?: number;
            /**
             * @description The tax identification number of your organization.
             * @example US123456789
             */
            tax_identification_number?: string | null;
            /**
             * @description Your organization's timezone, used for billing purposes in your own local time. Can be overwritten by the customer's timezone.
             * @example America/New_York
             */
            timezone?: components["schemas"]["Timezone"];
            billing_configuration: components["schemas"]["OrganizationBillingConfiguration"];
            /** @description List of default organization taxes */
            taxes?: components["schemas"]["TaxObject"][];
            /**
             * @description Indicates whether invoices with a zero total amount should be finalized. If set to true, zero amount invoices will be finalized. If set to false, zero amount invoices will not be finalized.
             * @example false
             */
            finalize_zero_amount_invoice?: boolean;
        };
        Organization: {
            organization: components["schemas"]["OrganizationObject"];
        };
        PaymentReceiptObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the payment receipt, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * Format: date-time
             * @description The date and time when the payment receipt was created. It is expressed in UTC format according to the ISO 8601 datetime standard. This field provides the timestamp for the exact moment when the payment receipt was initially created.
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
            /**
             * @description The unique number assigned to the payment receipt.
             * @example LAG-1234-001-002
             */
            number: string;
            payment: components["schemas"]["PaymentObject"];
        };
        PaymentReceiptsPaginated: {
            payment_receipts: components["schemas"]["PaymentReceiptObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        PaymentReceipt: {
            payment_receipt: components["schemas"]["PaymentReceiptObject"];
        };
        PaymentRequestCreateInput: {
            payment_request: {
                /**
                 * @description The customer external unique identifier (provided by your own application)
                 * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
                 */
                external_customer_id: string;
                /**
                 * Format: email
                 * @description The customer's email address used for sending dunning notifications
                 * @example dinesh@piedpiper.test
                 */
                email: string;
                /** @description A list of Lago IDs for the customer's overdue invoices to start the dunning process */
                lago_invoice_ids: string[];
                /** @description Optional payment method to use for processing the payment request. */
                payment_method?: components["schemas"]["PaymentMethodReference"];
            };
        };
        PaymentRequest: {
            payment_request: components["schemas"]["PaymentRequestObject"];
        };
        PaymentCreateInput: {
            payment: {
                /**
                 * @description Unique identifier assigned to the invoice
                 * @example 486b147a-02a1-4ccf-8603-f3541fc25e7a
                 */
                invoice_id: string;
                /**
                 * @description The payment amount in cents
                 * @example 100
                 */
                amount_cents: number;
                /**
                 * @description Reference for the payment
                 * @example ref1
                 */
                reference: string;
                /**
                 * Format: date
                 * @description The date the payment was made
                 * @example 2025-02-20
                 */
                paid_at?: string;
            };
        };
        Payment: {
            payment: components["schemas"]["PaymentObject"];
        };
        MinimumCommitmentObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the minimum commitment, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The unique code representing the plan to be attached to the customer.
             * @example premium
             */
            plan_code?: string;
            /**
             * @description The amount of the minimum commitment in cents.
             * @example 100000
             */
            amount_cents: number;
            /**
             * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the default name will be used as the display name.
             * @example Minimum Commitment (C1)
             */
            invoice_display_name?: string;
            /**
             * @description The interval used for recurring billing. It represents the frequency at which subscription billing occurs. The interval can be one of the following values: `yearly`, `semiannual`, `quarterly`, `monthly` or `weekly`.
             * @example monthly
             * @enum {string}
             */
            interval?: "weekly" | "monthly" | "quarterly" | "semiannual" | "yearly";
            /**
             * Format: date-time
             * @description The date and time when the minimum commitment was created. It is expressed in UTC format according to the ISO 8601 datetime standard. This field provides the timestamp for the exact moment when the minimum commitment was initially created.
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
            /**
             * Format: date-time
             * @description The date and time when the minimum commitment was updated. It is expressed in UTC format according to the ISO 8601 datetime standard. This field provides the timestamp for the exact moment when the minimum commitment was initially created.
             * @example 2022-04-29T08:59:51Z
             */
            updated_at?: string;
            /** @description All taxes applied to the minimum commitment. */
            taxes?: components["schemas"]["TaxObject"][];
        } | null;
        /**
         * @description Specifies the pricing model used for the calculation of the final fee. It can be any of the following values:
         *       - [`dynamic`](https://docs.getlago.com/guide/plans/charges/charge-models/dynamic)
         *       - [`graduated_percentage`](https://docs.getlago.com/guide/plans/charges/charge-models/graduated-percentage)
         *       - [`graduated`](https://docs.getlago.com/guide/plans/charges/charge-models/graduated)
         *       - [`package`](https://docs.getlago.com/guide/plans/charges/charge-models/package)
         *       - [`percentage`](https://docs.getlago.com/guide/plans/charges/charge-models/percentage)
         *       - [`standard`](https://docs.getlago.com/guide/plans/charges/charge-models/standard)
         *       - [`volume`](https://docs.getlago.com/guide/plans/charges/charge-models/volume)
         * @enum {string}
         */
        ChargeModelEnum: "dynamic" | "graduated" | "graduated_percentage" | "package" | "percentage" | "standard" | "volume";
        ChargeProperties: {
            /**
             * @deprecated
             * @description The list of event properties that are used to group the events on the invoice for a `standard` charge model.
             *     **DEPRECATED** Replaced by `pricing_group_keys`.
             * @example [
             *       "agent_name"
             *     ]
             */
            grouped_by?: string[];
            /**
             * @description The list of event properties that are used to group the events on the invoice.
             * @example [
             *       "agent_name"
             *     ]
             */
            pricing_group_keys?: string[];
            /** @description Graduated ranges, sorted from bottom to top tiers, used for a `graduated` charge model. */
            graduated_ranges?: {
                /**
                 * @description Specifies the lower value of a tier for a `graduated` charge model. It must be either 0 or the previous range's `to_value + 1` to maintain the proper sequence of values.
                 * @example 0
                 */
                from_value: number;
                /**
                 * @description Specifies the highest value of a tier for a `graduated` charge model.
                 *     - This value must be higher than the from_value of the same tier.
                 *     - This value must be null for the last tier.
                 * @example 10
                 */
                to_value: number | null;
                /**
                 * @description The flat amount for a whole tier, excluding tax, for a `graduated` charge model. It is expressed as a decimal value.
                 * @example 10
                 */
                flat_amount: string;
                /**
                 * @description The unit price, excluding tax, for a specific tier of a `graduated` charge model. It is expressed as a decimal value.
                 * @example 0.5
                 */
                per_unit_amount: string;
            }[];
            /** @description Graduated percentage ranges, sorted from bottom to top tiers, used for a `graduated_percentage` charge model. */
            graduated_percentage_ranges?: {
                /**
                 * @description Specifies the lower value of a tier for a `graduated_percentage` charge model. It must be either 0 or the previous range's `to_value + 1` to maintain the proper sequence of values.
                 * @example 0
                 */
                from_value: number;
                /**
                 * @description Specifies the highest value of a tier for a `graduated_percentage` charge model.
                 *     - This value must be higher than the from_value of the same tier.
                 *     - This value must be null for the last tier.
                 * @example 10
                 */
                to_value: number | null;
                /**
                 * Format: ^[0-9]+.?[0-9]*$
                 * @description The percentage rate that is applied to the amount of each transaction in the tier for a `graduated_percentage` charge model. It is expressed as a decimal value.
                 * @example 1
                 */
                rate: string;
                /**
                 * Format: ^[0-9]+.?[0-9]*$
                 * @description The flat amount for a whole tier, excluding tax, for a `graduated_percentage` charge model. It is expressed as a decimal value.
                 * @example 10
                 */
                flat_amount: string;
            }[];
            /**
             * @description - The unit price, excluding tax, for a `standard` charge model. It is expressed as a decimal value.
             *     - The amount, excluding tax, for a complete set of units in a `package` charge model. It is expressed as a decimal value.
             * @example 30
             */
            amount?: string;
            /**
             * @description The quantity of units that are provided free of charge for each billing period in a `package` charge model. This field specifies the number of units that customers can use without incurring any additional cost during each billing cycle.
             * @example 100
             */
            free_units?: number;
            /**
             * @description The quantity of units included in each pack or set for a `package` charge model. It indicates the number of units that are bundled together as a single package or set within the pricing structure.
             * @example 1000
             */
            package_size?: number;
            /**
             * @description The percentage rate that is applied to the amount of each transaction for a `percentage` charge model. It is expressed as a decimal value.
             * @example 1
             */
            rate?: string;
            /**
             * @description The fixed fee that is applied to each transaction for a `percentage` charge model. It is expressed as a decimal value.
             * @example 0.5
             */
            fixed_amount?: string;
            /**
             * @description The count of transactions that are not impacted by the `percentage` rate and fixed fee in a percentage charge model. This field indicates the number of transactions that are exempt from the calculation of charges based on the specified percentage rate and fixed fee.
             * @example 5
             */
            free_units_per_events?: number | null;
            /**
             * @description The transaction amount that is not impacted by the `percentage` rate and fixed fee in a percentage charge model. This field indicates the portion of the transaction amount that is exempt from the calculation of charges based on the specified percentage rate and fixed fee.
             * @example 500
             */
            free_units_per_total_aggregation?: string | null;
            /**
             * Format: ^[0-9]+.?[0-9]*$
             * @description Specifies the maximum allowable spending for a single transaction. Working as a transaction cap.
             * @example 3.75
             */
            per_transaction_max_amount?: string | null;
            /**
             * Format: ^[0-9]+.?[0-9]*$
             * @description Specifies the minimum allowable spending for a single transaction. Working as a transaction floor.
             * @example 1.75
             */
            per_transaction_min_amount?: string | null;
            /** @description Volume ranges, sorted from bottom to top tiers, used for a `volume` charge model. */
            volume_ranges?: {
                /**
                 * @description Specifies the lower value of a tier for a `volume` charge model. It must be either 0 or the previous range's `to_value + 1` to maintain the proper sequence of values.
                 * @example 0
                 */
                from_value: number;
                /**
                 * @description Specifies the highest value of a tier for a `volume` charge model.
                 *     - This value must be higher than the `from_value` of the same tier.
                 *     - This value must be `null` for the last tier.
                 * @example 10
                 */
                to_value: number | null;
                /**
                 * @description The flat amount for a whole tier, excluding tax, for a `volume` charge model. It is expressed as a decimal value.
                 * @example 10
                 */
                flat_amount: string;
                /**
                 * @description The unit price, excluding tax, for a specific tier of a `volume` charge model. It is expressed as a decimal value.
                 * @example 0.5
                 */
                per_unit_amount: string;
            }[];
        };
        /** @description Values used to apply differentiated pricing based on additional event properties. */
        ChargeFilterObject: {
            /**
             * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the values of the filter will be used as the default display name.
             * @example AWS
             */
            invoice_display_name: string | null;
            /** @description List of all thresholds utilized for calculating the charge. */
            properties: components["schemas"]["ChargeProperties"];
            /**
             * @description List of possible filter values. The key and values must match one of the billable metric filters.
             * @example {
             *       "region": [
             *         "us-east-1"
             *       ]
             *     }
             */
            values: {
                [key: string]: string[];
            };
        };
        ChargeObject: {
            /**
             * Format: uuid
             * @description Unique identifier of charge, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * Format: uuid
             * @description Unique identifier of the billable metric created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_billable_metric_id: string;
            /**
             * @description Unique code identifying the charge within the plan.
             * @example api_requests_charge
             */
            code?: string | null;
            /**
             * @description Unique code identifying a billable metric.
             * @example requests
             */
            billable_metric_code: string;
            /**
             * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
             * @example Setup
             */
            invoice_display_name?: string | null;
            /**
             * Format: date-time
             * @description The date and time when the charge was created. It is expressed in UTC format according to the ISO 8601 datetime standard.
             * @example 2022-09-14T16:35:31Z
             */
            created_at: string;
            charge_model: components["schemas"]["ChargeModelEnum"];
            /**
             * @description This field determines the billing timing for this specific usage-based charge. When set to `true`, the charge is due and invoiced immediately. Conversely, when set to `false`, the charge is due and invoiced at the end of each billing period.
             * @example true
             */
            pay_in_advance: boolean;
            /**
             * @description This field specifies whether the charge should be included in a proper invoice. If set to `false`, no invoice will be issued for this charge. You can only set it to `false` when `pay_in_advance` is `true`.
             * @example true
             */
            invoiceable: boolean;
            /**
             * @description This setting can only be configured if `pay_in_advance` is `true` and `invoiceable` is `false`.
             *     This field determines whether and when the charge fee should be included in
             *     the invoice. If `null`, no invoice will be issued for this charge fee.
             *     If `invoice`, an invoice will be generated at the end of the period,
             *     consolidating all charge fees with a succeeded payment status.
             * @example invoice
             * @enum {string|null}
             */
            regroup_paid_fees: null | "invoice";
            /**
             * @description Specifies whether a charge is prorated based on the remaining number of days in the billing period or billed fully.
             *
             *     - If set to `true`, the charge is prorated based on the remaining days in the current billing period.
             *     - If set to `false`, the charge is billed in full.
             *     - If not defined in the request, default value is `false`.
             * @example false
             */
            prorated: boolean;
            /**
             * @description The minimum spending amount required for the charge, measured in cents and excluding any applicable taxes. It indicates the minimum amount that needs to be charged for each billing period.
             * @example 1200
             */
            min_amount_cents: number;
            /** @description List of all thresholds utilized for calculating the charge. */
            properties: components["schemas"]["ChargeProperties"];
            /** @description List of filters used to apply differentiated pricing based on additional event properties. */
            filters: components["schemas"]["ChargeFilterObject"][];
            /** @description All taxes applied to the charge. */
            taxes?: components["schemas"]["TaxObject"][];
            /** @description The pricing unit applied to the charge. */
            applied_pricing_unit?: {
                /**
                 * @description The code of the pricing unit.
                 * @example unit_code
                 */
                code: string;
                /**
                 * @description The conversion rate from pricing units to the plan's currency.
                 * @example 0.5
                 */
                conversion_rate: string;
            } | null;
            /**
             * @description Specifies whether the charge accepts a target wallet for prepaid credits deduction.
             * @example false
             */
            accepts_target_wallet?: boolean | null;
            /**
             * Format: uuid
             * @description Unique identifier of the parent charge (if this is an override).
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_parent_id?: string | null;
        };
        FixedChargeProperties: {
            /**
             * @description - The unit price, excluding tax, for a `standard` charge model. It is expressed as a decimal value.
             *     - The amount, excluding tax, for a complete set of units in a `package` charge model. It is expressed as a decimal value.
             * @example 30
             */
            amount?: string;
            /** @description Graduated ranges, sorted from bottom to top tiers, used for a `graduated` charge model. */
            graduated_ranges?: {
                /**
                 * @description Specifies the lower value of a tier for a `graduated` charge model. It must be either 0 or the previous range's `to_value + 1` to maintain the proper sequence of values.
                 * @example 0
                 */
                from_value: number;
                /**
                 * @description Specifies the highest value of a tier for a `graduated` charge model.
                 *     - This value must be higher than the from_value of the same tier.
                 *     - This value must be null for the last tier.
                 * @example 10
                 */
                to_value: number | null;
                /**
                 * @description The flat amount for a whole tier, excluding tax, for a `graduated` charge model. It is expressed as a decimal value.
                 * @example 10
                 */
                flat_amount: string;
                /**
                 * @description The unit price, excluding tax, for a specific tier of a `graduated` charge model. It is expressed as a decimal value.
                 * @example 0.5
                 */
                per_unit_amount: string;
            }[];
            /** @description Volume ranges, sorted from bottom to top tiers, used for a `volume` charge model. */
            volume_ranges?: {
                /**
                 * @description Specifies the lower value of a tier for a `volume` charge model. It must be either 0 or the previous range's `to_value + 1` to maintain the proper sequence of values.
                 * @example 0
                 */
                from_value: number;
                /**
                 * @description Specifies the highest value of a tier for a `volume` charge model.
                 *     - This value must be higher than the `from_value` of the same tier.
                 *     - This value must be `null` for the last tier.
                 * @example 10
                 */
                to_value: number | null;
                /**
                 * @description The flat amount for a whole tier, excluding tax, for a `volume` charge model. It is expressed as a decimal value.
                 * @example 10
                 */
                flat_amount: string;
                /**
                 * @description The unit price, excluding tax, for a specific tier of a `volume` charge model. It is expressed as a decimal value.
                 * @example 0.5
                 */
                per_unit_amount: string;
            }[];
        };
        FixedChargeObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the fixed charge, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * Format: uuid
             * @description Unique identifier of the add-on associated with this fixed charge.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_add_on_id: string;
            /**
             * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
             * @example Setup fee
             */
            invoice_display_name: string;
            /**
             * @description Unique code used to identify the add-on.
             * @example setup_fee
             */
            add_on_code: string;
            /**
             * Format: date-time
             * @description The date and time when the fixed charge was created. It is expressed in UTC format according to the ISO 8601 datetime standard.
             * @example 2023-06-27T19:43:42Z
             */
            created_at: string;
            /**
             * @description Unique code for the fixed charge.
             * @example setup_fee
             */
            code: string;
            /**
             * @description The charge model for the fixed charge. Only `standard`, `graduated`, and `volume` models are supported for fixed charges.
             * @example standard
             * @enum {string}
             */
            charge_model: "standard" | "graduated" | "volume";
            /**
             * @description This field determines the billing timing for this fixed charge. When set to `true`, the charge is due and invoiced immediately. Conversely, when set to false, the charge is due and invoiced at the end of each billing period.
             * @example false
             */
            pay_in_advance: boolean;
            /**
             * @description Specifies whether a fixed charge is prorated based on the remaining number of days in the billing period or billed fully.
             *
             *     - If set to `true`, the charge is prorated based on the remaining days in the current billing period.
             *     - If set to `false`, the charge is billed in full.
             *     - If not defined in the request, default value is `false`.
             * @example false
             */
            prorated: boolean;
            /** @description List of all thresholds utilized for calculating the fixed charge. */
            properties: components["schemas"]["FixedChargeProperties"];
            /**
             * @description The number of units for the fixed charge.
             * @example 1
             */
            units: number;
            /**
             * Format: uuid
             * @description Unique identifier of the parent fixed charge (for plan versions).
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_parent_id?: string | null;
            /** @description List of taxes applied to the fixed charge. */
            taxes?: components["schemas"]["TaxObject"][];
        };
        PlanEntitlementPrivilegeObject: components["schemas"]["FeaturePrivilegeObject"] & {
            /**
             * @description Value assigned to this privilege in the entitlement. Type depends on the privilege's value_type.
             * @example 10
             */
            value: number | boolean | string;
        };
        PlanEntitlementObject: {
            /**
             * @description Unique code used to identify the feature. Max 255 characters.
             * @example seats
             */
            code: string;
            /**
             * @description Name of the feature. Max 255 characters.
             * @example Number of seats
             */
            name: string | null;
            /**
             * @description Description of the feature. Max 600 characters.
             * @example Number of users of the account
             */
            description: string | null;
            /**
             * @description Privileges associated with this feature. Each privilege must have a value assigned.
             * @example [
             *       {
             *         "code": "max",
             *         "name": "Maximum",
             *         "value_type": "integer",
             *         "config": {},
             *         "value": 10
             *       },
             *       {
             *         "code": "max_admins",
             *         "name": "Max Admins",
             *         "value_type": "integer",
             *         "config": {},
             *         "value": 5
             *       },
             *       {
             *         "code": "root",
             *         "name": "Allow root user",
             *         "value_type": "boolean",
             *         "config": {},
             *         "value": true
             *       },
             *       {
             *         "code": "provider",
             *         "name": "SSO Provider",
             *         "value_type": "select",
             *         "value": "google",
             *         "config": {
             *           "select_options": [
             *             "google",
             *             "okta"
             *           ]
             *         }
             *       }
             *     ]
             */
            privileges: components["schemas"]["PlanEntitlementPrivilegeObject"][];
        };
        PlanEntitlement: {
            entitlement: components["schemas"]["PlanEntitlementObject"];
        };
        PlanObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the plan created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The name of the plan.
             * @example Startup
             */
            name: string;
            /**
             * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the plan will be used as the default display name.
             * @example Startup plan
             */
            invoice_display_name?: string;
            /**
             * Format: date-time
             * @description The date and time when the plan was created. It is expressed in UTC format according to the ISO 8601 datetime standard. This field provides the timestamp for the exact moment when the plan was initially created.
             * @example 2023-06-27T19:43:42Z
             */
            created_at: string;
            /**
             * @description The code of the plan. It serves as a unique identifier associated with a particular plan. The code is typically used for internal or system-level identification purposes, like assigning a subscription, for instance.
             * @example startup
             */
            code: string;
            /**
             * @description The interval used for recurring billing. It represents the frequency at which subscription billing occurs. The interval can be one of the following values: `yearly`, `semiannual`, `quarterly`, `monthly` or `weekly`.
             * @example monthly
             * @enum {string}
             */
            interval: "weekly" | "monthly" | "quarterly" | "semiannual" | "yearly";
            /**
             * @description The description on the plan.
             * @example
             */
            description?: string;
            /**
             * @description The base cost of the plan, excluding any applicable taxes, that is billed on a recurring basis. This value is defined at 0 if your plan is a pay-as-you-go plan.
             * @example 10000
             */
            amount_cents: number;
            /**
             * @description The currency of the plan. It indicates the monetary unit in which the plan's cost, including taxes and usage-based charges, is expressed.
             * @example USD
             */
            amount_currency: components["schemas"]["Currency"];
            /**
             * @description The duration in days during which the base cost of the plan is offered for free.
             * @example 5
             */
            trial_period?: number;
            /**
             * @description This field determines the billing timing for the plan. When set to `true`, the base cost of the plan is due at the beginning of each billing period. Conversely, when set to `false`, the base cost of the plan is due at the end of each billing period.
             * @example true
             */
            pay_in_advance?: boolean;
            /**
             * @description This field, when set to `true`, enables to invoice usage-based charges on monthly basis, even if the cadence of the plan is yearly or semiannual. This allows customers to pay charges overage on a monthly basis. This can be set to true only if the plan's interval is `yearly` or `semiannual`.
             * @example null
             */
            bill_charges_monthly?: boolean | null;
            /**
             * @description This field, when set to `true`, enables to invoice fixed charges on monthly basis, even if the cadence of the plan is yearly or semiannual. This allows customers to pay fixed charges on a monthly basis. This can be set to true only if the plan's interval is `yearly` or `semiannual`.
             * @example null
             */
            bill_fixed_charges_monthly?: boolean | null;
            minimum_commitment?: components["schemas"]["MinimumCommitmentObject"];
            /**
             * @description Additional usage-based charges for this plan.
             * @example [
             *       {
             *         "lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a91",
             *         "lago_billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a91",
             *         "billable_metric_code": "requests",
             *         "created_at": "2023-06-27T19:43:42Z",
             *         "charge_model": "package",
             *         "invoiceable": true,
             *         "invoice_display_name": "Setup",
             *         "pay_in_advance": false,
             *         "regroup_paid_fees": null,
             *         "prorated": false,
             *         "min_amount_cents": 3000,
             *         "properties": {
             *           "amount": "30",
             *           "free_units": 100,
             *           "package_size": 1000
             *         },
             *         "filters": []
             *       },
             *       {
             *         "lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a92",
             *         "lago_billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a92",
             *         "billable_metric_code": "cpu",
             *         "created_at": "2023-06-27T19:43:42Z",
             *         "charge_model": "graduated",
             *         "invoiceable": true,
             *         "invoice_display_name": "Setup",
             *         "pay_in_advance": false,
             *         "regroup_paid_fees": null,
             *         "prorated": false,
             *         "min_amount_cents": 0,
             *         "properties": {
             *           "graduated_ranges": [
             *             {
             *               "from_value": 0,
             *               "to_value": 10,
             *               "flat_amount": "10",
             *               "per_unit_amount": "0.5"
             *             },
             *             {
             *               "from_value": 11,
             *               "to_value": null,
             *               "flat_amount": "0",
             *               "per_unit_amount": "0.4"
             *             }
             *           ]
             *         },
             *         "filters": []
             *       },
             *       {
             *         "lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a93",
             *         "lago_billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a93",
             *         "billable_metric_code": "seats",
             *         "created_at": "2023-06-27T19:43:42Z",
             *         "charge_model": "standard",
             *         "invoiceable": true,
             *         "invoice_display_name": "Setup",
             *         "pay_in_advance": true,
             *         "regroup_paid_fees": null,
             *         "prorated": false,
             *         "min_amount_cents": 0,
             *         "properties": {},
             *         "filters": [
             *           {
             *             "invoice_display_name": "Europe",
             *             "properties": {
             *               "amount": "10"
             *             },
             *             "values": {
             *               "region": [
             *                 "Europe"
             *               ]
             *             }
             *           },
             *           {
             *             "invoice_display_name": "USA",
             *             "properties": {
             *               "amount": "5"
             *             },
             *             "values": {
             *               "region": [
             *                 "USA"
             *               ]
             *             }
             *           },
             *           {
             *             "invoice_display_name": "Africa",
             *             "properties": {
             *               "amount": "8"
             *             },
             *             "values": {
             *               "region": [
             *                 "Africa"
             *               ]
             *             }
             *           }
             *         ]
             *       },
             *       {
             *         "lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a94",
             *         "lago_billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a94",
             *         "billable_metric_code": "storage",
             *         "created_at": "2023-06-27T19:43:42Z",
             *         "charge_model": "volume",
             *         "invoiceable": true,
             *         "invoice_display_name": "Setup",
             *         "pay_in_advance": false,
             *         "regroup_paid_fees": null,
             *         "prorated": false,
             *         "min_amount_cents": 0,
             *         "properties": {
             *           "volume_ranges": [
             *             {
             *               "from_value": 0,
             *               "to_value": 100,
             *               "flat_amount": "0",
             *               "per_unit_amount": "0"
             *             },
             *             {
             *               "from_value": 101,
             *               "to_value": null,
             *               "flat_amount": "0",
             *               "per_unit_amount": "0.5"
             *             }
             *           ]
             *         },
             *         "filters": []
             *       },
             *       {
             *         "lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a95",
             *         "lago_billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a95",
             *         "billable_metric_code": "payments",
             *         "created_at": "2023-06-27T19:43:42Z",
             *         "charge_model": "percentage",
             *         "invoiceable": false,
             *         "invoice_display_name": "Setup",
             *         "pay_in_advance": true,
             *         "regroup_paid_fees": "invoice",
             *         "prorated": false,
             *         "min_amount_cents": 0,
             *         "properties": {
             *           "rate": "1",
             *           "fixed_amount": "0.5",
             *           "free_units_per_events": 5,
             *           "free_units_per_total_aggregation": "500"
             *         },
             *         "filters": []
             *       }
             *     ]
             */
            charges?: components["schemas"]["ChargeObject"][];
            /**
             * @description List of fixed charges for this plan.
             * @example [
             *       {
             *         "lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
             *         "lago_add_on_id": "2b802b80-2b80-2b80-2b80-2b802b802b80",
             *         "code": "setup_fee",
             *         "invoice_display_name": "Setup Fee",
             *         "add_on_code": "setup",
             *         "created_at": "2026-01-15T10:30:00Z",
             *         "charge_model": "standard",
             *         "pay_in_advance": true,
             *         "prorated": false,
             *         "properties": {
             *           "amount": "500"
             *         },
             *         "units": 1,
             *         "lago_parent_id": null,
             *         "taxes": [
             *           {
             *             "lago_id": "3c703c70-3c70-3c70-3c70-3c703c703c70",
             *             "name": "VAT",
             *             "code": "vat_20",
             *             "rate": 20,
             *             "description": "Standard VAT rate",
             *             "applied_to_organization": true,
             *             "created_at": "2026-01-01T00:00:00Z"
             *           }
             *         ]
             *       },
             *       {
             *         "lago_id": "4d604d60-4d60-4d60-4d60-4d604d604d60",
             *         "lago_add_on_id": "5e505e50-5e50-5e50-5e50-5e505e505e50",
             *         "code": "support_tier",
             *         "invoice_display_name": "Support Tier",
             *         "add_on_code": "premium_support",
             *         "created_at": "2026-01-15T10:30:00Z",
             *         "charge_model": "graduated",
             *         "pay_in_advance": false,
             *         "prorated": true,
             *         "properties": {
             *           "graduated_ranges": [
             *             {
             *               "from_value": 0,
             *               "to_value": 10,
             *               "per_unit_amount": "5",
             *               "flat_amount": "200"
             *             },
             *             {
             *               "from_value": 11,
             *               "to_value": null,
             *               "per_unit_amount": "1",
             *               "flat_amount": "300"
             *             }
             *           ]
             *         },
             *         "units": 1,
             *         "lago_parent_id": null,
             *         "taxes": []
             *       },
             *       {
             *         "lago_id": "6f406f40-6f40-6f40-6f40-6f406f406f40",
             *         "lago_add_on_id": "7a307a30-7a30-7a30-7a30-7a307a307a30",
             *         "code": "storage",
             *         "invoice_display_name": "Storage Allocation",
             *         "add_on_code": "cloud_storage",
             *         "created_at": "2026-01-15T10:30:00Z",
             *         "charge_model": "volume",
             *         "pay_in_advance": false,
             *         "prorated": false,
             *         "properties": {
             *           "volume_ranges": [
             *             {
             *               "from_value": 0,
             *               "to_value": 100,
             *               "per_unit_amount": "2",
             *               "flat_amount": "1"
             *             },
             *             {
             *               "from_value": 101,
             *               "to_value": null,
             *               "per_unit_amount": "1",
             *               "flat_amount": "0"
             *             }
             *           ]
             *         },
             *         "units": 50,
             *         "lago_parent_id": null,
             *         "taxes": []
             *       }
             *     ]
             */
            fixed_charges?: components["schemas"]["FixedChargeObject"][];
            /** @description All taxes applied to the plan. */
            taxes?: components["schemas"]["TaxObject"][];
            /** @description List of usage thresholds applied to the plan. */
            usage_thresholds?: components["schemas"]["UsageThresholdObject"][];
            /** @description List of all feature entitlements and their privileges available for this plan. */
            entitlements?: components["schemas"]["PlanEntitlement"][];
            metadata?: components["schemas"]["MetadataObject"];
        };
        PlansPaginated: {
            plans: components["schemas"]["PlanObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        /** @description Minimum commitment for this plan. */
        MinimumCommitmentInput: {
            /**
             * @description The amount of the minimum commitment in cents.
             * @example 100000
             */
            amount_cents: number;
            /**
             * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the default name will be used as the display name.
             * @example Minimum Commitment (C1)
             */
            invoice_display_name?: string;
            tax_codes?: components["schemas"]["TaxCodes"];
        } | null;
        /** @description Values used to apply differentiated pricing based on additional event properties. */
        ChargeFilterInput: {
            /**
             * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the values of the filter will be used as the default display name.
             * @example AWS
             */
            invoice_display_name?: string | null;
            /** @description List of all thresholds utilized for calculating the charge. */
            properties: components["schemas"]["ChargeProperties"];
            /**
             * @description List of possible filter values. The key and values must match one of the billable metric filters.
             * @example {
             *       "region": [
             *         "us-east-1"
             *       ]
             *     }
             */
            values: {
                [key: string]: string[];
            };
        };
        UsageThresholdInput: {
            /**
             * @description The display name of the usage threshold.
             * @example Threshold 1
             */
            threshold_display_name?: string | null;
            /**
             * @description The amount to reach to trigger a `progressive_billing` invoice.
             * @example 10000
             */
            amount_cents: number;
            /**
             * @description This field when set to `true` indicates that a `progressive_billing` invoice will be created every time the lifetime usage increases by the specified amount.
             * @default false
             * @example true
             */
            recurring: boolean;
        };
        PlanCreateInput: {
            plan: {
                /**
                 * @description The name of the plan.
                 * @example Startup
                 */
                name: string;
                /**
                 * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the plan will be used as the default display name.
                 * @example Startup plan
                 */
                invoice_display_name?: string | null;
                /**
                 * @description The code of the plan. It serves as a unique identifier associated with a particular plan. The code is typically used for internal or system-level identification purposes, like assigning a subscription, for instance.
                 * @example startup
                 */
                code: string;
                /**
                 * @description The interval used for recurring billing. It represents the frequency at which subscription billing occurs. The interval can be one of the following values: `yearly`, `semiannual`, `quarterly`, `monthly`, or `weekly`.
                 * @example monthly
                 * @enum {string}
                 */
                interval: "weekly" | "monthly" | "quarterly" | "semiannual" | "yearly";
                /**
                 * @description The description on the plan.
                 * @example Plan for early stage startups.
                 */
                description?: string | null;
                /**
                 * @description The base cost of the plan, excluding any applicable taxes, that is billed on a recurring basis. This value is defined at 0 if your plan is a pay-as-you-go plan.
                 * @example 10000
                 */
                amount_cents: number;
                /**
                 * @description The currency of the plan. It indicates the monetary unit in which the plan's cost, including taxes and usage-based charges, is expressed.
                 * @example USD
                 */
                amount_currency: components["schemas"]["Currency"];
                /**
                 * @description The duration in days during which the base cost of the plan is offered for free.
                 * @example 5
                 */
                trial_period?: number | null;
                /**
                 * @description This field determines the billing timing for the plan. When set to `true`, the base cost of the plan is due at the beginning of each billing period. Conversely, when set to `false`, the base cost of the plan is due at the end of each billing period.
                 * @example true
                 */
                pay_in_advance: boolean;
                /**
                 * @description This field, when set to `true`, enables to invoice usage-based charges on monthly basis, even if the cadence of the plan is `yearly` or `semiannual`. This allows customers to pay charges overage on a monthly basis. This can be set to true only if the plan's interval is `yearly` or `semiannual`.
                 * @example null
                 */
                bill_charges_monthly?: boolean | null;
                /**
                 * @description This field, when set to `true`, enables to invoice fixed charges on monthly basis, even if the cadence of the plan is `yearly` or `semiannual`. This allows customers to pay fixed charges on a monthly basis. This can be set to true only if the plan's interval is `yearly` or `semiannual`.
                 * @example null
                 */
                bill_fixed_charges_monthly?: boolean | null;
                tax_codes?: components["schemas"]["TaxCodes"];
                minimum_commitment?: components["schemas"]["MinimumCommitmentInput"];
                /**
                 * @description Additional usage-based charges for this plan.
                 * @example [
                 *       {
                 *         "billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a91",
                 *         "charge_model": "package",
                 *         "invoiceable": true,
                 *         "invoice_display_name": "Setup",
                 *         "pay_in_advance": false,
                 *         "regroup_paid_fees": null,
                 *         "prorated": false,
                 *         "min_amount_cents": 3000,
                 *         "properties": {
                 *           "amount": "30",
                 *           "free_units": 100,
                 *           "package_size": 1000
                 *         },
                 *         "tax_codes": [
                 *           "french_standard_vat"
                 *         ]
                 *       },
                 *       {
                 *         "billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a92",
                 *         "charge_model": "graduated",
                 *         "invoiceable": true,
                 *         "invoice_display_name": "Setup",
                 *         "pay_in_advance": false,
                 *         "prorated": false,
                 *         "min_amount_cents": 0,
                 *         "properties": {
                 *           "graduated_ranges": [
                 *             {
                 *               "to_value": 10,
                 *               "from_value": 0,
                 *               "flat_amount": "10",
                 *               "per_unit_amount": "0.5"
                 *             },
                 *             {
                 *               "to_value": null,
                 *               "from_value": 11,
                 *               "flat_amount": "0",
                 *               "per_unit_amount": "0.4"
                 *             }
                 *           ]
                 *         }
                 *       },
                 *       {
                 *         "billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a93",
                 *         "charge_model": "standard",
                 *         "invoiceable": true,
                 *         "invoice_display_name": "Setup",
                 *         "pay_in_advance": true,
                 *         "prorated": false,
                 *         "min_amount_cents": 0,
                 *         "properties": {}
                 *       },
                 *       {
                 *         "billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a94",
                 *         "charge_model": "volume",
                 *         "invoiceable": true,
                 *         "invoice_display_name": "Setup",
                 *         "pay_in_advance": false,
                 *         "prorated": false,
                 *         "min_amount_cents": 0,
                 *         "properties": {
                 *           "volume_ranges": [
                 *             {
                 *               "from_value": 0,
                 *               "to_value": 100,
                 *               "flat_amount": "0",
                 *               "per_unit_amount": "0"
                 *             },
                 *             {
                 *               "from_value": 101,
                 *               "to_value": null,
                 *               "flat_amount": "0",
                 *               "per_unit_amount": "0.5"
                 *             }
                 *           ]
                 *         }
                 *       },
                 *       {
                 *         "billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a95",
                 *         "charge_model": "percentage",
                 *         "invoiceable": false,
                 *         "invoice_display_name": "Setup",
                 *         "pay_in_advance": true,
                 *         "regroup_paid_fees": "invoice",
                 *         "prorated": false,
                 *         "min_amount_cents": 0,
                 *         "properties": {
                 *           "rate": "1",
                 *           "fixed_amount": "0.5",
                 *           "free_units_per_events": 5,
                 *           "free_units_per_total_aggregation": "500"
                 *         }
                 *       }
                 *     ]
                 */
                charges?: {
                    /**
                     * Format: uuid
                     * @description Unique identifier of the billable metric created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    billable_metric_id: string;
                    /**
                     * @description Unique code identifying the charge within the plan.
                     * @example api_requests_charge
                     */
                    code?: string;
                    charge_model: components["schemas"]["ChargeModelEnum"];
                    /**
                     * @description This field determines the billing timing for this specific usage-based charge. When set to `true`, the charge is due and invoiced immediately. Conversely, when set to false, the charge is due and invoiced at the end of each billing period.
                     * @example false
                     */
                    pay_in_advance?: boolean;
                    /**
                     * @description This field specifies whether the charge should be included in a proper invoice. If set to false, no invoice will be issued for this charge. You can only set it to `false` when `pay_in_advance` is `true`.
                     * @example true
                     */
                    invoiceable?: boolean;
                    /**
                     * @description This setting can only be configured if `pay_in_advance` is `true` and `invoiceable` is `false`.
                     *     This field determines whether and when the charge fee should be included in
                     *     the invoice. If `null`, no invoice will be issued for this charge fee.
                     *     If `invoice`, an invoice will be generated at the end of the period,
                     *     consolidating all charge fees with a succeeded payment status.
                     * @example invoice
                     * @enum {string|null}
                     */
                    regroup_paid_fees?: null | "invoice";
                    /**
                     * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
                     * @example Setup
                     */
                    invoice_display_name?: string;
                    /**
                     * @description Specifies whether a charge is prorated based on the remaining number of days in the billing period or billed fully.
                     *
                     *     - If set to `true`, the charge is prorated based on the remaining days in the current billing period.
                     *     - If set to `false`, the charge is billed in full.
                     *     - If not defined in the request, default value is `false`.
                     * @example false
                     */
                    prorated?: boolean;
                    /**
                     * @description The minimum spending amount required for the charge, measured in cents and excluding any applicable taxes. It indicates the minimum amount that needs to be charged for each billing period.
                     * @example 0
                     */
                    min_amount_cents?: number;
                    /** @description List of all thresholds utilized for calculating the charge. */
                    properties?: components["schemas"]["ChargeProperties"];
                    /** @description List of filters used to apply differentiated pricing based on additional event properties. */
                    filters?: components["schemas"]["ChargeFilterInput"][];
                    tax_codes?: components["schemas"]["TaxCodes"];
                    /** @description The pricing unit to apply to the charge. */
                    applied_pricing_unit?: {
                        /**
                         * @description The code of the pricing unit.
                         * @example credits
                         */
                        code?: string;
                        /**
                         * @description The conversion rate from pricing units to the plan's currency.
                         *     This rate determines how many currency units (in the plan's base currency) equal one pricing unit.
                         *     For example, if the plan uses USD and the conversion rate is 0.5, then 1 pricing unit = $0.50.
                         * @example 0.5
                         */
                        conversion_rate?: string;
                    };
                    /**
                     * @description Specifies whether the charge accepts a target wallet for prepaid credits deduction.
                     * @example false
                     */
                    accepts_target_wallet?: boolean | null;
                }[];
                /**
                 * @description Additional fixed charges for this plan.
                 * @example [
                 *       {
                 *         "add_on_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
                 *         "code": "setup_fee",
                 *         "invoice_display_name": "Setup Fee",
                 *         "charge_model": "standard",
                 *         "pay_in_advance": true,
                 *         "prorated": false,
                 *         "properties": {
                 *           "amount": "500"
                 *         },
                 *         "units": 1,
                 *         "tax_codes": [
                 *           "french_standard_vat"
                 *         ]
                 *       },
                 *       {
                 *         "add_on_id": "4d604d60-4d60-4d60-4d60-4d604d604d60",
                 *         "invoice_display_name": "Support Tier",
                 *         "charge_model": "graduated",
                 *         "pay_in_advance": false,
                 *         "prorated": true,
                 *         "properties": {
                 *           "graduated_ranges": [
                 *             {
                 *               "from_value": 0,
                 *               "to_value": 10,
                 *               "per_unit_amount": "5",
                 *               "flat_amount": "200"
                 *             },
                 *             {
                 *               "from_value": 11,
                 *               "to_value": null,
                 *               "per_unit_amount": "1",
                 *               "flat_amount": "300"
                 *             }
                 *           ]
                 *         },
                 *         "units": 2
                 *       },
                 *       {
                 *         "add_on_id": "6f406f40-6f40-6f40-6f40-6f406f406f40",
                 *         "charge_model": "volume",
                 *         "properties": {
                 *           "volume_ranges": [
                 *             {
                 *               "from_value": 0,
                 *               "to_value": 100,
                 *               "per_unit_amount": "2",
                 *               "flat_amount": "1"
                 *             },
                 *             {
                 *               "from_value": 101,
                 *               "to_value": null,
                 *               "per_unit_amount": "1",
                 *               "flat_amount": "0"
                 *             }
                 *           ]
                 *         },
                 *         "units": 50
                 *       }
                 *     ]
                 */
                fixed_charges?: {
                    /**
                     * Format: uuid
                     * @description Unique identifier of the add-on associated with this fixed charge.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    add_on_id: string;
                    /**
                     * @description Unique code for the fixed charge. If not provided, it will be automatically generated based on the add-on code.
                     * @example setup_fee
                     */
                    code?: string;
                    /**
                     * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
                     * @example Setup fee
                     */
                    invoice_display_name?: string;
                    /**
                     * @description The number of units for the fixed charge. Defaults to 0 if not provided.
                     * @default 0
                     * @example 1
                     */
                    units: number;
                    /**
                     * @description The charge model for the fixed charge. Only `standard`, `graduated`, and `volume` models are supported for fixed charges.
                     * @example standard
                     * @enum {string}
                     */
                    charge_model: "standard" | "graduated" | "volume";
                    /**
                     * @description This field determines the billing timing for this specific fixed charge. When set to `true`, the charge is due and invoiced immediately. Conversely, when set to false, the charge is due and invoiced at the end of each billing period. Defaults to `false` if not provided.
                     * @default false
                     * @example false
                     */
                    pay_in_advance: boolean;
                    /**
                     * @description Specifies whether a fixed charge is prorated based on the remaining number of days in the billing period or billed fully.
                     *
                     *     - If set to `true`, the charge is prorated based on the remaining days in the current billing period.
                     *     - If set to `false`, the charge is billed in full.
                     *     - Defaults to `false` if not provided.
                     *
                     *     Note: Prorated fixed charges with `graduated` model and `pay_in_advance` are not allowed.
                     * @default false
                     * @example false
                     */
                    prorated: boolean;
                    /** @description List of all thresholds utilized for calculating the fixed charge. */
                    properties?: components["schemas"]["FixedChargeProperties"];
                    /** @description List of taxes applied to the fixed charge. */
                    tax_codes?: components["schemas"]["TaxCodes"];
                }[];
                /** @description List of usage thresholds to apply to the plan. */
                usage_thresholds?: components["schemas"]["UsageThresholdInput"][];
                metadata?: components["schemas"]["MetadataInput"];
            };
        };
        Plan: {
            plan: components["schemas"]["PlanObject"];
        };
        PlanUpdateInput: {
            plan: {
                /**
                 * @description The name of the plan.
                 * @example Startup
                 */
                name?: string;
                /**
                 * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the plan will be used as the default display name.
                 * @example Startup plan
                 */
                invoice_display_name?: string | null;
                /**
                 * @description The code of the plan. It serves as a unique identifier associated with a particular plan. The code is typically used for internal or system-level identification purposes, like assigning a subscription, for instance.
                 * @example startup
                 */
                code?: string;
                /**
                 * @description The interval used for recurring billing. It represents the frequency at which subscription billing occurs. The interval can be one of the following values: `yearly`, `semiannual`, `quarterly`, `monthly`, or `weekly`.
                 * @example monthly
                 * @enum {string}
                 */
                interval?: "weekly" | "monthly" | "quarterly" | "semiannual" | "yearly";
                /**
                 * @description The description on the plan.
                 * @example Plan for early stage startups.
                 */
                description?: string | null;
                /**
                 * @description The base cost of the plan, excluding any applicable taxes, that is billed on a recurring basis. This value is defined at 0 if your plan is a pay-as-you-go plan.
                 * @example 10000
                 */
                amount_cents?: number;
                /**
                 * @description The currency of the plan. It indicates the monetary unit in which the plan's cost, including taxes and usage-based charges, is expressed.
                 * @example USD
                 */
                amount_currency?: components["schemas"]["Currency"];
                /**
                 * @description The duration in days during which the base cost of the plan is offered for free.
                 * @example 5
                 */
                trial_period?: number | null;
                /**
                 * @description This field determines the billing timing for the plan. When set to `true`, the base cost of the plan is due at the beginning of each billing period. Conversely, when set to `false`, the base cost of the plan is due at the end of each billing period.
                 * @example true
                 */
                pay_in_advance?: boolean;
                /**
                 * @description This field, when set to `true`, enables to invoice usage-based charges on monthly basis, even if the cadence of the plan is yearly or semiannual. This allows customers to pay charges overage on a monthly basis. This can be set to true only if the plan's interval is `yearly` or `semiannual`.
                 * @example null
                 */
                bill_charges_monthly?: boolean | null;
                /**
                 * @description This field, when set to `true`, enables to invoice fixed charges on monthly basis, even if the cadence of the plan is `yearly` or `semiannual`. This allows customers to pay fixed charges on a monthly basis. This can be set to true only if the plan's interval is `yearly` or `semiannual`.
                 * @example null
                 */
                bill_fixed_charges_monthly?: boolean | null;
                tax_codes?: components["schemas"]["TaxCodes"];
                minimum_commitment?: components["schemas"]["MinimumCommitmentInput"];
                /**
                 * @description Additional usage-based charges for this plan.
                 * @example [
                 *       {
                 *         "billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a91",
                 *         "charge_model": "package",
                 *         "invoiceable": true,
                 *         "invoice_display_name": "Setup",
                 *         "pay_in_advance": false,
                 *         "prorated": false,
                 *         "min_amount_cents": 3000,
                 *         "properties": {
                 *           "amount": "30",
                 *           "free_units": 100,
                 *           "package_size": 1000
                 *         },
                 *         "tax_codes": [
                 *           "french_standard_vat"
                 *         ]
                 *       },
                 *       {
                 *         "billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a92",
                 *         "charge_model": "graduated",
                 *         "invoiceable": true,
                 *         "invoice_display_name": "Setup",
                 *         "pay_in_advance": false,
                 *         "prorated": false,
                 *         "min_amount_cents": 0,
                 *         "properties": {
                 *           "graduated_ranges": [
                 *             {
                 *               "to_value": 10,
                 *               "from_value": 0,
                 *               "flat_amount": "10",
                 *               "per_unit_amount": "0.5"
                 *             },
                 *             {
                 *               "to_value": null,
                 *               "from_value": 11,
                 *               "flat_amount": "0",
                 *               "per_unit_amount": "0.4"
                 *             }
                 *           ]
                 *         }
                 *       },
                 *       {
                 *         "billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a93",
                 *         "charge_model": "standard",
                 *         "invoiceable": true,
                 *         "invoice_display_name": "Setup",
                 *         "pay_in_advance": true,
                 *         "regroup_paid_fees": null,
                 *         "prorated": false,
                 *         "min_amount_cents": 0,
                 *         "properties": {}
                 *       },
                 *       {
                 *         "billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a94",
                 *         "charge_model": "volume",
                 *         "invoiceable": true,
                 *         "invoice_display_name": "Setup",
                 *         "pay_in_advance": false,
                 *         "prorated": false,
                 *         "min_amount_cents": 0,
                 *         "properties": {
                 *           "volume_ranges": [
                 *             {
                 *               "from_value": 0,
                 *               "to_value": 100,
                 *               "flat_amount": "0",
                 *               "per_unit_amount": "0"
                 *             },
                 *             {
                 *               "from_value": 101,
                 *               "to_value": null,
                 *               "flat_amount": "0",
                 *               "per_unit_amount": "0.5"
                 *             }
                 *           ]
                 *         }
                 *       },
                 *       {
                 *         "billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a95",
                 *         "charge_model": "percentage",
                 *         "invoiceable": false,
                 *         "invoice_display_name": "Setup",
                 *         "pay_in_advance": true,
                 *         "regroup_paid_fees": "invoice",
                 *         "prorated": false,
                 *         "min_amount_cents": 0,
                 *         "properties": {
                 *           "rate": "1",
                 *           "fixed_amount": "0.5",
                 *           "free_units_per_events": 5,
                 *           "free_units_per_total_aggregation": "500"
                 *         }
                 *       }
                 *     ]
                 */
                charges?: {
                    /**
                     * Format: uuid
                     * @description Unique identifier of the charge created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    id?: string;
                    /**
                     * Format: uuid
                     * @description Unique identifier of the billable metric created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    billable_metric_id?: string;
                    /**
                     * @description Unique code identifying the charge within the plan.
                     * @example api_requests_charge
                     */
                    code?: string;
                    charge_model?: components["schemas"]["ChargeModelEnum"];
                    /**
                     * @description This field determines the billing timing for this specific usage-based charge. When set to `true`, the charge is due and invoiced immediately. Conversely, when set to false, the charge is due and invoiced at the end of each billing period.
                     * @example false
                     */
                    pay_in_advance?: boolean;
                    /**
                     * @description This field specifies whether the charge should be included in a proper invoice. If set to false, no invoice will be issued for this charge. You can only set it to `false` when `pay_in_advance` is `true`.
                     * @example true
                     */
                    invoiceable?: boolean;
                    /**
                     * @description This setting can only be configured if `pay_in_advance` is `true` and `invoiceable` is `false`.
                     *     This field determines whether and when the charge fee should be included in
                     *     the invoice. If `null`, no invoice will be issued for this charge fee.
                     *     If `invoice`, an invoice will be generated at the end of the period,
                     *     consolidating all charge fees with a succeeded payment status.
                     * @example invoice
                     * @enum {string|null}
                     */
                    regroup_paid_fees?: null | "invoice";
                    /**
                     * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
                     * @example Setup
                     */
                    invoice_display_name?: string;
                    /**
                     * @description Specifies whether a charge is prorated based on the remaining number of days in the billing period or billed fully.
                     *
                     *     - If set to `true`, the charge is prorated based on the remaining days in the current billing period.
                     *     - If set to `false`, the charge is billed in full.
                     *     - If not defined in the request, default value is `false`.
                     * @example false
                     */
                    prorated?: boolean;
                    /**
                     * @description The minimum spending amount required for the charge, measured in cents and excluding any applicable taxes. It indicates the minimum amount that needs to be charged for each billing period.
                     * @example 0
                     */
                    min_amount_cents?: number;
                    /** @description List of all thresholds utilized for calculating the charge. */
                    properties?: components["schemas"]["ChargeProperties"];
                    /** @description List of filters used to apply differentiated pricing based on additional event properties. */
                    filters?: components["schemas"]["ChargeFilterInput"][];
                    tax_codes?: components["schemas"]["TaxCodes"];
                    /** @description Updates the pricing unit conversion rate for this charge. Only applies if the charge has applied pricing unit. */
                    applied_pricing_unit?: {
                        /**
                         * @description The conversion rate from pricing units to the plan's currency.
                         *     This rate determines how many currency units (in the plan's base currency) equal one pricing unit.
                         *     For example, if the plan uses USD and the conversion rate is 0.5, then 1 pricing unit = $0.50 USD.
                         * @example 0.5
                         */
                        conversion_rate?: string;
                    };
                    /**
                     * @description Specifies whether the charge accepts a target wallet for prepaid credits deduction.
                     * @example false
                     */
                    accepts_target_wallet?: boolean | null;
                }[];
                /**
                 * @description Additional fixed charges for this plan.
                 * @example [
                 *       {
                 *         "id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
                 *         "invoice_display_name": "New Setup Fee",
                 *         "charge_model": "standard",
                 *         "apply_units_immediately": true,
                 *         "units": 5
                 *       },
                 *       {
                 *         "add_on_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
                 *         "code": "setup_fee",
                 *         "invoice_display_name": "Setup Fee",
                 *         "charge_model": "standard",
                 *         "pay_in_advance": true,
                 *         "prorated": false,
                 *         "properties": {
                 *           "amount": "500"
                 *         },
                 *         "units": 1,
                 *         "apply_units_immediately": false,
                 *         "tax_codes": [
                 *           "french_standard_vat"
                 *         ]
                 *       },
                 *       {
                 *         "add_on_id": "4d604d60-4d60-4d60-4d60-4d604d604d60",
                 *         "invoice_display_name": "Support Tier",
                 *         "charge_model": "graduated",
                 *         "pay_in_advance": false,
                 *         "prorated": true,
                 *         "properties": {
                 *           "graduated_ranges": [
                 *             {
                 *               "from_value": 0,
                 *               "to_value": 10,
                 *               "per_unit_amount": "5",
                 *               "flat_amount": "200"
                 *             },
                 *             {
                 *               "from_value": 11,
                 *               "to_value": null,
                 *               "per_unit_amount": "1",
                 *               "flat_amount": "300"
                 *             }
                 *           ]
                 *         },
                 *         "units": 2
                 *       },
                 *       {
                 *         "add_on_id": "6f406f40-6f40-6f40-6f40-6f406f406f40",
                 *         "charge_model": "volume",
                 *         "properties": {
                 *           "volume_ranges": [
                 *             {
                 *               "from_value": 0,
                 *               "to_value": 100,
                 *               "per_unit_amount": "2",
                 *               "flat_amount": "1"
                 *             },
                 *             {
                 *               "from_value": 101,
                 *               "to_value": null,
                 *               "per_unit_amount": "1",
                 *               "flat_amount": "0"
                 *             }
                 *           ]
                 *         },
                 *         "units": 50
                 *       }
                 *     ]
                 */
                fixed_charges?: {
                    /**
                     * Format: uuid
                     * @description Unique identifier of the fixed charge created by Lago (required for updates).
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    id?: string;
                    /**
                     * Format: uuid
                     * @description Unique identifier of the add-on associated with this fixed charge.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    add_on_id?: string;
                    /**
                     * @description Unique code for the fixed charge. If not provided, it will be automatically generated based on the add-on code.
                     * @example setup_fee
                     */
                    code?: string;
                    /**
                     * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
                     * @example Setup fee
                     */
                    invoice_display_name?: string;
                    /**
                     * @description The number of units for the fixed charge. Defaults to 0 if not provided.
                     * @default 0
                     * @example 1
                     */
                    units: number;
                    /**
                     * @description The charge model for the fixed charge. Only `standard`, `graduated`, and `volume` models are supported for fixed charges.
                     * @example standard
                     * @enum {string}
                     */
                    charge_model?: "standard" | "graduated" | "volume";
                    /**
                     * @description This field determines the billing timing for this specific fixed charge. When set to `true`, the charge is due and invoiced immediately. Conversely, when set to false, the charge is due and invoiced at the end of each billing period. Defaults to `false` if not provided.
                     * @default false
                     * @example false
                     */
                    pay_in_advance: boolean;
                    /**
                     * @description Specifies whether a fixed charge is prorated based on the remaining number of days in the billing period or billed fully.
                     *
                     *     - If set to `true`, the charge is prorated based on the remaining days in the current billing period.
                     *     - If set to `false`, the charge is billed in full.
                     *     - Defaults to `false` if not provided.
                     *
                     *     Note: Prorated fixed charges with `graduated` model and `pay_in_advance` are not allowed.
                     * @default false
                     * @example false
                     */
                    prorated: boolean;
                    /** @description List of all thresholds utilized for calculating the fixed charge. */
                    properties?: components["schemas"]["FixedChargeProperties"];
                    /** @description List of taxes applied to the fixed charge. */
                    tax_codes?: components["schemas"]["TaxCodes"];
                    /**
                     * @description Determines if the units should be applied immediately upon assignment or deferred to the next billing cycle.
                     * @example true
                     */
                    apply_units_immediately?: boolean;
                }[];
                /** @description List of usage thresholds to apply to the plan. */
                usage_thresholds?: components["schemas"]["UsageThresholdInput"][];
                /**
                 * @description This field determines whether the changes made to the plan should be cascaded to the children plans. When set to `true`, the changes will be cascaded into children. Conversely, when set to `false`, the changes will only be applied to the plan itself. If not defined in the request, default value is `false`.
                 * @example true
                 */
                cascade_updates?: boolean;
                metadata?: components["schemas"]["MetadataInput"];
            };
        };
        PlanEntitlements: {
            entitlements: components["schemas"]["PlanEntitlementObject"][];
        };
        EntitlementUpdateInput: {
            /**
             * @description Feature entitlements with their privilege values. Each key is a feature code, and the value is an object containing privilege codes with their associated values.
             * @example {
             *       "seats": {
             *         "max": 20,
             *         "max_admins": 10,
             *         "root": false
             *       },
             *       "sso": {
             *         "provider": "okta"
             *       }
             *     }
             */
            entitlements: {
                [key: string]: {
                    [key: string]: number | boolean | string;
                };
            };
        };
        PlanMetadataResponse: {
            metadata: components["schemas"]["MetadataObject"];
        };
        ChargesPaginated: {
            charges: components["schemas"]["ChargeObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        /** @description Properties of a charge that can be overridden at the subscription level. */
        ChargeOverridableInput: {
            /**
             * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
             * @example Setup
             */
            invoice_display_name?: string;
            /**
             * @description The minimum spending amount required for the charge, measured in cents and excluding any applicable taxes. It indicates the minimum amount that needs to be charged for each billing period.
             * @example 0
             */
            min_amount_cents?: number;
            /** @description List of all thresholds utilized for calculating the charge. */
            properties?: components["schemas"]["ChargeProperties"];
            /** @description List of filters used to apply differentiated pricing based on additional event properties. */
            filters?: components["schemas"]["ChargeFilterInput"][];
            tax_codes?: components["schemas"]["TaxCodes"];
            /** @description The pricing unit to apply to the charge. */
            applied_pricing_unit?: {
                /**
                 * @description The code of the pricing unit.
                 * @example credits
                 */
                code?: string;
                /**
                 * @description The conversion rate from pricing units to the plan's currency.
                 *     This rate determines how many currency units (in the plan's base currency) equal one pricing unit.
                 *     For example, if the plan uses USD and the conversion rate is 0.5, then 1 pricing unit = $0.50.
                 * @example 0.5
                 */
                conversion_rate?: string;
            };
        };
        ChargeInput: components["schemas"]["ChargeOverridableInput"] & {
            /**
             * Format: uuid
             * @description Unique identifier of the billable metric created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            billable_metric_id?: string;
            /**
             * @description Unique code identifying the charge within the plan.
             * @example api_requests_charge
             */
            code?: string;
            charge_model?: components["schemas"]["ChargeModelEnum"];
            /**
             * @description This field determines the billing timing for this specific usage-based charge. When set to `true`, the charge is due and invoiced immediately. Conversely, when set to false, the charge is due and invoiced at the end of each billing period.
             * @example false
             */
            pay_in_advance?: boolean;
            /**
             * @description This field specifies whether the charge should be included in a proper invoice. If set to false, no invoice will be issued for this charge. You can only set it to `false` when `pay_in_advance` is `true`.
             * @example true
             */
            invoiceable?: boolean;
            /**
             * @description This setting can only be configured if `pay_in_advance` is `true` and `invoiceable` is `false`.
             *     This field determines whether and when the charge fee should be included in
             *     the invoice. If `null`, no invoice will be issued for this charge fee.
             *     If `invoice`, an invoice will be generated at the end of the period,
             *     consolidating all charge fees with a succeeded payment status.
             * @example null
             * @enum {string|null}
             */
            regroup_paid_fees?: null | "invoice";
            /**
             * @description Specifies whether a charge is prorated based on the remaining number of days in the billing period or billed fully.
             *
             *     - If set to `true`, the charge is prorated based on the remaining days in the current billing period.
             *     - If set to `false`, the charge is billed in full.
             *     - If not defined in the request, default value is `false`.
             * @example false
             */
            prorated?: boolean;
        };
        ChargeCreateInput: {
            charge: components["schemas"]["ChargeInput"] & unknown & {
                /**
                 * @description This field determines whether the creation of the charge should be cascaded to the children plans. When set to `true`, the charge will be created in children plans. Conversely, when set to `false`, the charge will only be created in the plan itself. If not defined in the request, default value is `false`.
                 * @example true
                 */
                cascade_updates?: boolean;
            };
        };
        Charge: {
            charge: components["schemas"]["ChargeObject"];
        };
        ChargeUpdateInput: {
            charge: components["schemas"]["ChargeInput"] & {
                /**
                 * @description This field determines whether the changes made to the charge should be cascaded to the children plans. When set to `true`, the changes will be cascaded into children. Conversely, when set to `false`, the changes will only be applied to the plan itself. If not defined in the request, default value is `false`.
                 * @example true
                 */
                cascade_updates?: boolean;
            };
        };
        ChargeDeleteInput: {
            charge?: {
                /**
                 * @description When set to `true`, the deletion will be cascaded to the children plans.
                 * @example true
                 */
                cascade_updates?: boolean;
            };
        };
        /** @description Charge filter values used to apply differentiated pricing based on additional event properties. */
        ChargeFilterFullObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the charge filter, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description Unique code identifying the charge this filter belongs to.
             * @example api_requests_charge
             */
            charge_code: string;
            /**
             * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the values of the filter will be used as the default display name.
             * @example AWS
             */
            invoice_display_name: string | null;
            /** @description List of all thresholds utilized for calculating the charge. */
            properties: components["schemas"]["ChargeProperties"];
            /**
             * @description List of possible filter values. The key and values must match one of the billable metric filters.
             * @example {
             *       "region": [
             *         "us-east-1"
             *       ]
             *     }
             */
            values: {
                [key: string]: string[];
            };
        };
        ChargeFiltersPaginated: {
            filters: components["schemas"]["ChargeFilterFullObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        ChargeFilterCreateInput: {
            filter: {
                /**
                 * @description This field determines whether the creation of the filter should be cascaded to the children plans. When set to `true`, the changes will be cascaded into children. Conversely, when set to `false`, the changes will only be applied to the plan itself. If not defined in the request, default value is `false`.
                 * @example true
                 */
                cascade_updates?: boolean;
                /**
                 * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the values of the filter will be used as the default display name.
                 * @example AWS
                 */
                invoice_display_name?: string | null;
                /** @description List of all thresholds utilized for calculating the charge. */
                properties: components["schemas"]["ChargeProperties"];
                /**
                 * @description List of possible filter values. The key and values must match one of the billable metric filters.
                 * @example {
                 *       "region": [
                 *         "us-east-1"
                 *       ]
                 *     }
                 */
                values: {
                    [key: string]: string[];
                };
            };
        };
        ChargeFilterResponse: {
            filter: components["schemas"]["ChargeFilterFullObject"];
        };
        ChargeFilterUpdateInput: {
            filter: {
                /**
                 * @description This field determines whether the changes made to the filter should be cascaded to the children plans. When set to `true`, the changes will be cascaded into children. Conversely, when set to `false`, the changes will only be applied to the plan itself. If not defined in the request, default value is `false`.
                 * @example true
                 */
                cascade_updates?: boolean;
                /**
                 * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the values of the filter will be used as the default display name.
                 * @example AWS
                 */
                invoice_display_name?: string | null;
                /** @description List of all thresholds utilized for calculating the charge. */
                properties?: components["schemas"]["ChargeProperties"];
                /**
                 * @description List of possible filter values. The key and values must match one of the billable metric filters.
                 * @example {
                 *       "region": [
                 *         "us-east-1"
                 *       ]
                 *     }
                 */
                values?: {
                    [key: string]: string[];
                };
            };
        };
        ChargeFilterDeleteInput: {
            filter?: {
                /**
                 * @description When set to `true`, the deletion will be cascaded to the children plans.
                 * @example true
                 */
                cascade_updates?: boolean;
            };
        };
        FixedChargesPaginated: {
            fixed_charges: components["schemas"]["FixedChargeObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        /** @description Properties of a fixed charge that can be overridden at the subscription level. */
        FixedChargeOverridableInput: {
            /**
             * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the add-on will be used as the default display name.
             * @example Setup Fee
             */
            invoice_display_name?: string | null;
            /**
             * @description The quantity of units for the fixed charge.
             * @example 1.0
             */
            units?: string;
            /**
             * @description When set to `true`, the fixed charge units are applied immediately for active subscriptions. When set to `false`, the units are applied at the next billing period.
             * @example false
             */
            apply_units_immediately?: boolean;
            /** @description List of all thresholds utilized for calculating the fixed charge. */
            properties?: components["schemas"]["ChargeProperties"];
            tax_codes?: components["schemas"]["TaxCodes"];
        };
        /**
         * @description Specifies the pricing model used for the calculation of the fixed charge fee. It can be any of the following values:
         *       - `standard`
         *       - `graduated`
         *       - `volume`
         * @enum {string}
         */
        FixedChargeModelEnum: "standard" | "graduated" | "volume";
        FixedChargeInput: components["schemas"]["FixedChargeOverridableInput"] & {
            /**
             * Format: uuid
             * @description Unique identifier of the add-on. Either add_on_id or add_on_code is required.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            add_on_id?: string;
            /**
             * @description Unique code identifying an add-on. Either add_on_id or add_on_code is required.
             * @example setup_fee
             */
            add_on_code?: string;
            /**
             * @description Unique code identifying the fixed charge within the plan.
             * @example setup_fee_charge
             */
            code?: string;
            charge_model?: components["schemas"]["FixedChargeModelEnum"];
            /**
             * @description This field determines the billing timing for this fixed charge. When set to `true`, the charge is due and invoiced immediately at the beginning of the billing period. When set to `false`, the charge is due and invoiced at the end of the billing period.
             * @example true
             */
            pay_in_advance?: boolean;
            /**
             * @description Specifies whether a fixed charge is prorated based on the remaining number of days in the billing period or billed fully.
             *
             *     - If set to `true`, the charge is prorated based on the remaining days in the current billing period.
             *     - If set to `false`, the charge is billed in full.
             * @example false
             */
            prorated?: boolean;
        };
        FixedChargeCreateInput: {
            fixed_charge: components["schemas"]["FixedChargeInput"] & {
                /**
                 * @description This field determines whether the creation of the fixed charge should be cascaded to the children plans. When set to `true`, the fixed charge will be created in children plans. Conversely, when set to `false`, the fixed charge will only be created in the plan itself. If not defined in the request, default value is `false`.
                 * @example true
                 */
                cascade_updates?: boolean;
            };
        };
        FixedCharge: {
            fixed_charge: components["schemas"]["FixedChargeObject"];
        };
        FixedChargeUpdateInput: {
            fixed_charge: components["schemas"]["FixedChargeInput"] & {
                /**
                 * @description This field determines whether the changes made to the fixed charge should be cascaded to the children plans. When set to `true`, the changes will be cascaded into children. Conversely, when set to `false`, the changes will only be applied to the plan itself. If not defined in the request, default value is `false`.
                 * @example true
                 */
                cascade_updates?: boolean;
            };
        };
        FixedChargeDeleteInput: {
            fixed_charge?: {
                /**
                 * @description When set to `true`, the deletion will be cascaded to the children plans.
                 * @example true
                 */
                cascade_updates?: boolean;
            };
        };
        /** @description Based plan overrides. */
        PlanOverridesObject: {
            /**
             * @description The base cost of the plan, excluding any applicable taxes, that is billed on a recurring basis. This value is defined at 0 if your plan is a pay-as-you-go plan.
             * @example 10000
             */
            amount_cents?: number;
            /**
             * @description The currency of the plan. It indicates the monetary unit in which the plan's cost, including taxes and usage-based charges, is expressed.
             * @example USD
             */
            amount_currency?: components["schemas"]["Currency"];
            /**
             * @description The description on the plan.
             * @example Plan for early stage startups.
             */
            description?: string;
            /**
             * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the plan will be used as the default display name.
             * @example Startup plan
             */
            invoice_display_name?: string;
            /**
             * @description The name of the plan.
             * @example Startup
             */
            name?: string;
            tax_codes?: components["schemas"]["TaxCodes"];
            /**
             * @description The duration in days during which the base cost of the plan is offered for free.
             * @example 5
             */
            trial_period?: number;
            minimum_commitment?: components["schemas"]["MinimumCommitmentInput"];
            /** @description Additional usage-based charges for this plan. */
            charges?: {
                /**
                 * Format: uuid
                 * @description Unique identifier of the charge created by Lago.
                 * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                 */
                id?: string;
                /**
                 * Format: uuid
                 * @description Unique identifier of the billable metric created by Lago.
                 * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                 */
                billable_metric_id?: string;
                /**
                 * @description Unique code identifying the charge within the plan.
                 * @example api_requests_charge
                 */
                code?: string;
                charge_model?: components["schemas"]["ChargeModelEnum"];
                /**
                 * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
                 * @example Setup
                 */
                invoice_display_name?: string;
                /**
                 * @description The minimum spending amount required for the charge, measured in cents and excluding any applicable taxes. It indicates the minimum amount that needs to be charged for each billing period.
                 * @example 0
                 */
                min_amount_cents?: number;
                /** @description List of all thresholds utilized for calculating the charge. */
                properties?: components["schemas"]["ChargeProperties"];
                /** @description List of filters used to apply differentiated pricing based on additional event properties. */
                filters?: components["schemas"]["ChargeFilterInput"][];
                tax_codes?: components["schemas"]["TaxCodes"];
                /** @description Updates the pricing unit conversion rate for this charge. Only applies if the charge has applied pricing unit. */
                applied_pricing_unit?: {
                    /**
                     * @description The conversion rate from pricing units to the plan's currency.
                     *     This rate determines how many currency units (in the plan's base currency) equal one pricing unit.
                     *     For example, if the plan uses USD and the conversion rate is 0.5, then 1 pricing unit = $0.50 USD.
                     * @example 0.5
                     */
                    conversion_rate?: string;
                };
            }[];
            /** @description Additional fixed charges for this plan. */
            fixed_charges?: {
                /**
                 * Format: uuid
                 * @description Unique identifier of the fixed charge created by Lago.
                 * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                 */
                id: string;
                /**
                 * @description Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
                 * @example Setup fee
                 */
                invoice_display_name?: string;
                /**
                 * @description The number of units for the fixed charge. Defaults to 0 if not provided.
                 * @default 0
                 * @example 1
                 */
                units: number;
                /**
                 * @description Determines if the units should be applied immediately upon assignment or deferred to the next billing cycle.
                 * @example true
                 */
                apply_units_immediately?: boolean;
                /** @description List of all thresholds utilized for calculating the fixed charge. */
                properties?: components["schemas"]["FixedChargeProperties"];
                /** @description List of taxes applied to the fixed charge. */
                tax_codes?: components["schemas"]["TaxCodes"];
            }[];
            /** @description List of usage thresholds applied to the subscription. */
            usage_thresholds?: components["schemas"]["UsageThresholdInput"][];
            metadata?: components["schemas"]["MetadataInput"];
        };
        SubscriptionCreateInput: {
            /**
             * @description Optionally, you can create a pre-authorization on the customer's card before creating a subscription. This process places a temporary hold (capture) for a specified amount on the customer's account, but does not actually withdraw the funds.
             *
             *     Important notes:
             *       - The final amount due for the subscription is not known at the time of creation; it is determined only after the invoice is finalized.
             *       - The payment intent generated for pre-authorization cannot be reused, as the final invoice amount may exceed the authorized amount.
             *       - The payment intent is canceled immediately after creation, but this cancellation occurs asynchronously.
             *       - For these reasons, it is recommended to use a small amount (such as $1) for pre-authorization. While this does not guarantee sufficient funds for the final payment, it helps reduce the likelihood of payment errors.
             */
            authorization?: {
                /**
                 * @description The amount of the authorization in cents.
                 * @example 1000
                 */
                amount_cents: number;
                /**
                 * @description The currency of the authorization.
                 * @example USD
                 */
                amount_currency: string;
            };
            subscription: {
                /**
                 * @description The code of the billing entity to be used for the subscription. If not provided, the default billing entity will be used.
                 * @example default
                 */
                billing_entity_code?: string;
                /**
                 * @description The customer external unique identifier (provided by your own application)
                 * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
                 */
                external_customer_id: string;
                /**
                 * @description The unique code representing the plan to be attached to the customer. This code must correspond to the `code` property of one of the active plans.
                 * @example premium
                 */
                plan_code: string;
                /**
                 * @description The display name of the subscription on an invoice. This field allows for customization of the subscription's name for billing purposes, especially useful when a single customer has multiple subscriptions using the same plan.
                 * @example Repository A
                 */
                name?: string;
                /**
                 * @description The unique external identifier for the subscription. This identifier serves as an idempotency key, ensuring that each subscription is unique.
                 * @example my_sub_1234567890
                 */
                external_id: string;
                /**
                 * @description The billing time for the subscription, which can be set as either `anniversary` or `calendar`. If not explicitly provided, it will default to `calendar`. The billing time determines the timing of recurring billing cycles for the subscription. By specifying `anniversary`, the billing cycle will be based on the specific date the subscription started (billed fully), while `calendar` sets the billing cycle at the first day of the week/month/year (billed with proration).
                 * @example anniversary
                 * @enum {string}
                 */
                billing_time?: "calendar" | "anniversary";
                /**
                 * Format: date-time
                 * @description The effective end date of the subscription. If this field is set to null, the subscription will automatically renew. This date should be provided in ISO 8601 datetime format, and use Coordinated Universal Time (UTC).
                 * @example 2022-10-08T00:00:00Z
                 */
                ending_at?: string;
                /**
                 * Format: date-time
                 * @description The start date for the subscription, allowing for the creation of subscriptions that can begin in the past or future. Please note that it cannot be used to update the start date of a pending subscription or schedule an upgrade/downgrade. The start_date should be provided in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
                 * @example 2022-08-08T00:00:00Z
                 */
                subscription_at?: string;
                plan_overrides?: components["schemas"]["PlanOverridesObject"];
                invoice_custom_section?: components["schemas"]["InvoiceCustomSectionInput"];
                /** @description Optional payment method to use for processing subscription payments. */
                payment_method?: components["schemas"]["PaymentMethodReference"];
            };
        };
        ApplicableUsageThreshold: {
            /**
             * @description The display name of the usage threshold.
             * @example Threshold 1
             */
            threshold_display_name: string | null;
            /**
             * @description The amount to reach to trigger a `progressive_billing` invoice.
             * @example 10000
             */
            amount_cents: number;
            /**
             * @description This field when set to `true` indicates that a `progressive_billing` invoice will be created every time the lifetime usage increases by the specified amount.
             * @example true
             */
            recurring: boolean;
        };
        SubscriptionObjectExtended: components["schemas"]["SubscriptionObject"] & {
            plan?: components["schemas"]["PlanObject"];
            /** @description List of usage thresholds applicable to this subscription. */
            applicable_usage_thresholds?: components["schemas"]["ApplicableUsageThreshold"][];
        };
        SubscriptionExtended: {
            subscription: components["schemas"]["SubscriptionObjectExtended"];
        };
        SubscriptionUpdateInput: {
            /**
             * @description If the field is not defined and multiple `active` and `pending` subscriptions exists, Lago will update the `active` subscription. However, if you wish to update a `pending` subscription, please ensure that you include the `status` attribute with the `pending` value in your request body.
             * @example active
             * @enum {string}
             */
            status?: "active" | "pending";
            subscription: {
                /**
                 * @description The display name of the subscription on an invoice. This field allows for customization of the subscription's name for billing purposes, especially useful when a single customer has multiple subscriptions using the same plan.
                 * @example Repository B
                 */
                name?: string | null;
                /**
                 * Format: date-time
                 * @description The effective end date of the subscription. If this field is set to null, the subscription will automatically renew. This date should be provided in ISO 8601 datetime format, and use Coordinated Universal Time (UTC).
                 * @example 2022-10-08T00:00:00Z
                 */
                ending_at: string | null;
                /**
                 * Format: date-time
                 * @description The start date and time of the subscription. This field can only be modified for pending subscriptions that have not yet started. This date should be provided in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
                 * @example 2022-08-08T00:00:00Z
                 */
                subscription_at?: string;
                plan_overrides?: components["schemas"]["PlanOverridesObject"];
                invoice_custom_section?: components["schemas"]["InvoiceCustomSectionInput"];
                /** @description Optional payment method to use for processing subscription payments. */
                payment_method?: components["schemas"]["PaymentMethodReference"];
            };
        };
        Subscription: {
            subscription: components["schemas"]["SubscriptionObject"];
        };
        LifetimeUsageThresholdObject: {
            /**
             * @description The usage threshold amount in cents.
             * @example 100
             */
            amount_cents: number;
            /**
             * @description The completion ratio of the usage threshold.
             * @example 0.5
             */
            completion_ratio: number;
            /**
             * Format: date-time
             * @description The date and time when the usage threshold was reached. The date and time must be in ISO 8601 format.
             * @example 2024-01-01T00:00:00Z
             */
            reached_at: string | null;
        };
        LifetimeUsageObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the lifetime usage record within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the lifetime usage record within the Lago system
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the subscription record within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the subscription record within the Lago system
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_subscription_id: string;
            /**
             * @description The subscription external unique identifier (provided by your own application).
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            external_subscription_id: string;
            /**
             * @description The historical usage amount in cents for the subscription (provided by your own application).
             * @example 100
             */
            external_historical_usage_amount_cents: number;
            /**
             * @description The total invoiced usage amount in cents for the subscription.
             * @example 100
             */
            invoiced_usage_amount_cents: number;
            /**
             * @description The current usage amount in cents for the subscription on the current billing period.
             * @example 100
             */
            current_usage_amount_cents: number;
            /**
             * Format: date-time
             * @description The recording start date and time of the subscription lifetime usage. The date and time must be in ISO 8601 format.
             * @example 2024-01-01T00:00:00Z
             */
            from_datetime: string | null;
            /**
             * Format: date-time
             * @description The recording end date and time of the subscription lifetime usage. The date and time must be in ISO 8601 format.
             * @example 2024-12-31T23:59:59Z
             */
            to_datetime: string;
            /** @description Array of usage thresholds attached to the subscription's plan. */
            usage_thresholds?: components["schemas"]["LifetimeUsageThresholdObject"][];
        };
        LifetimeUsage: {
            lifetime_usage: components["schemas"]["LifetimeUsageObject"];
        };
        LifetimeUsageInput: {
            lifetime_usage: {
                /**
                 * @description The historical usage amount in cents for the subscription (provided by your own application).
                 * @example 100
                 */
                external_historical_usage_amount_cents: number;
            };
        };
        AlertObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the alert, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * Format: uuid
             * @description Unique identifier of the organization, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_organization_id: string;
            /**
             * @description The subscription external unique identifier (provided by your own application).
             * @example sub_1234567890
             */
            external_subscription_id: string | null;
            lago_wallet_id?: null;
            wallet_code?: null;
            /** @description The billable metric associated with the alert. Only for alerts based on a billable metric. */
            billable_metric: components["schemas"]["BillableMetricObject"];
            /**
             * @description The type of alert.
             * @example billable_metric_current_usage_amount
             * @enum {string}
             */
            alert_type: "current_usage_amount" | "billable_metric_current_usage_amount" | "billable_metric_current_usage_units" | "lifetime_usage_amount";
            /**
             * @description Unique code used to identify the alert.
             * @example storage_threshold_alert
             */
            code: string;
            /**
             * @description The name of the alert.
             * @example Storage Usage Alert
             */
            name: string | null;
            /**
             * @description Indicates whether the alert is triggered when the monitored metric goes above or below the threshold.
             * @example increasing
             * @enum {string}
             */
            direction?: "increasing" | "decreasing";
            /**
             * @description When the system checked if this alert should be triggered, this value was retrieved and checked against the thresholds.
             * @example 1000
             */
            previous_value: number;
            /**
             * Format: date-time
             * @description The date and time in UTC (ISO 8601) when the system checked if this alert should be triggered. Null until it's processed for the first time.
             * @example 2025-05-19T10:04:21Z
             */
            last_processed_at: string | null;
            /** @description Array of thresholds associated with the alert. */
            thresholds: components["schemas"]["AlertThresholdObject"][];
            /**
             * Format: date-time
             * @description The date and time in UTC (ISO 8601) when the alert was created.
             * @example 2025-03-20T10:00:00Z
             */
            created_at: string;
        };
        Alerts: {
            alerts: components["schemas"]["AlertObject"][];
            meta?: components["schemas"]["PaginationMeta"];
        };
        AlertCreateInput: {
            alert: components["schemas"]["AlertBaseInput"] & {
                /**
                 * @description The type of alert.
                 * @example billable_metric_current_usage_amount
                 * @enum {string}
                 */
                alert_type: "current_usage_amount" | "billable_metric_current_usage_amount" | "billable_metric_current_usage_units" | "lifetime_usage_amount";
                /**
                 * @description Unique code used to identify the alert.
                 * @example storage_threshold_alert
                 */
                code: string;
                /**
                 * @description The code of the billable metric associated with the alert. Only for alerts based on a billable metric.
                 * @example storage_usage
                 */
                billable_metric_code?: string | null;
            };
        };
        AlertBatchCreateInput: {
            /** @description Array of alerts to create. All alerts are created atomically - if any fail validation, none are created. */
            alerts: (components["schemas"]["AlertBaseInput"] & {
                /**
                 * @description The type of alert.
                 * @example billable_metric_current_usage_amount
                 * @enum {string}
                 */
                alert_type: "current_usage_amount" | "billable_metric_current_usage_amount" | "billable_metric_current_usage_units" | "lifetime_usage_amount";
                /**
                 * @description Unique code used to identify the alert.
                 * @example storage_threshold_alert
                 */
                code: string;
                /**
                 * @description The code of the billable metric associated with the alert. Only for alerts based on a billable metric.
                 * @example storage_usage
                 */
                billable_metric_code?: string | null;
            })[];
        };
        Alert: {
            alert: components["schemas"]["AlertObject"];
        };
        AlertUpdateInput: {
            alert: components["schemas"]["AlertBaseInput"] & {
                /**
                 * @description The code of the billable metric associated with the alert. Only for alerts based on a billable metric.
                 * @example storage_usage
                 */
                billable_metric_code?: string | null;
            };
        };
        SubscriptionEntitlementPrivilegeObject: components["schemas"]["FeaturePrivilegeObject"] & {
            /**
             * @description Applicable value this this subscription (override_value if set, plan_value otherwise). Type depends on the privilege's value_type.
             * @example 10
             */
            value: number | boolean | string;
            /**
             * @description Value assigned to this privilege in the plan. Type depends on the privilege's value_type.
             * @example 10
             */
            plan_value: number | boolean | string;
            /**
             * @description Value assigned to this subscription specifically. Type depends on the privilege's value_type. Null if no override is set.
             * @example 10
             */
            override_value: number | boolean | string | null;
        };
        SubscriptionEntitlementObject: {
            /**
             * @description Unique code used to identify the feature. Max 255 characters.
             * @example seats
             */
            code: string;
            /**
             * @description Name of the feature. Max 255 characters.
             * @example Number of seats
             */
            name: string | null;
            /**
             * @description Description of the feature. Max 600 characters.
             * @example Number of users of the account
             */
            description: string | null;
            /**
             * @description Privileges associated with this feature. Each privilege shows the plan value and any subscription override.
             * @example [
             *       {
             *         "code": "max",
             *         "name": "Maximum",
             *         "value_type": "integer",
             *         "config": {},
             *         "value": 15,
             *         "plan_value": 10,
             *         "override_value": 15
             *       },
             *       {
             *         "code": "max_admins",
             *         "name": "Max Admins",
             *         "value_type": "integer",
             *         "config": {},
             *         "value": 5,
             *         "plan_value": 5,
             *         "override_value": null
             *       },
             *       {
             *         "code": "root",
             *         "name": "Allow root user",
             *         "value_type": "boolean",
             *         "config": {},
             *         "value": true,
             *         "plan_value": true,
             *         "override_value": null
             *       },
             *       {
             *         "code": "provider",
             *         "name": "SSO Provider",
             *         "value_type": "select",
             *         "value": "okta",
             *         "plan_value": "google",
             *         "override_value": "okta",
             *         "config": {
             *           "select_options": [
             *             "google",
             *             "okta"
             *           ]
             *         }
             *       }
             *     ]
             */
            privileges: components["schemas"]["SubscriptionEntitlementPrivilegeObject"][];
            /**
             * @example {
             *       "max": 15,
             *       "provider": "okta"
             *     }
             */
            overrides: {
                [key: string]: unknown;
            };
        };
        SubscriptionEntitlements: {
            entitlements: components["schemas"]["SubscriptionEntitlementObject"][];
        };
        SubscriptionEntitlement: {
            entitlement: components["schemas"]["SubscriptionEntitlementObject"];
        };
        SubscriptionChargeOverride: {
            charge: components["schemas"]["ChargeOverridableInput"];
        };
        SubscriptionFixedChargeOverride: {
            fixed_charge: components["schemas"]["FixedChargeOverridableInput"];
        };
        TaxesPaginated: {
            taxes: components["schemas"]["TaxObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        TaxBaseInput: {
            /**
             * @description Name of the tax.
             * @example TVA
             */
            name?: string;
            /**
             * @description Unique code used to identify the tax associated with the API request.
             * @example french_standard_vat
             */
            code?: string;
            /**
             * @description The percentage rate of the tax
             * @example 20.0
             */
            rate?: string;
            /**
             * @description Internal description of the taxe
             * @example French standard VAT
             */
            description?: string | null;
            /**
             * @deprecated
             * @description This field is deprecated and will be removed in a future version. When set to true, it applies the tax to the organization's default billing entity. To apply or remove a tax from any billing entity (including the default one), please use the `PUT /billing_entities/:code` endpoint instead.
             * @example true
             */
            applied_to_organization?: boolean;
        };
        TaxCreateInput: {
            tax: components["schemas"]["TaxBaseInput"];
        };
        Tax: {
            tax: components["schemas"]["TaxObject"];
        };
        TaxUpdateInput: {
            tax: components["schemas"]["TaxBaseInput"];
        };
        WalletTransactionCreateInput: {
            wallet_transaction: {
                /**
                 * Format: uuid
                 * @description Unique identifier assigned to the wallet within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the wallet's record within the Lago system.
                 * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                 */
                wallet_id: string;
                /**
                 * @description The name of the wallet transaction. It will appear on the invoice as the label for the fee. If not set, the label on the invoice will fallback to either `Prepaid credits - {{wallet_name}}` if the wallet name is set, or `Prepaid credits`.
                 *
                 *     Note that this name will apply to all transactions (`paid_credits`, `granted_credits` and `voided_credits`) created by this action.
                 * @example Tokens for models 'high-fidelity-boost'
                 */
                name?: string | null;
                /**
                 * @description The number of paid credits.
                 * @example 20.0
                 */
                paid_credits?: string | null;
                /**
                 * @description The number of free granted credits.
                 * @example 10.0
                 */
                granted_credits?: string | null;
                /**
                 * @description The number of voided credits.
                 * @example 5.0
                 */
                voided_credits?: string | null;
                /**
                 * @description A boolean setting that, when set to true, delays issuing an invoice for a wallet top-up until a successful payment is made; if false, the invoice is issued immediately upon wallet top-up, regardless of the payment status. Default value of false.
                 * @example false
                 */
                invoice_requires_successful_payment?: boolean;
                /**
                 * @description When true, allows topping up the wallet with transactions that exceed the paid top-up limits. Defaults to false.
                 * @example false
                 */
                ignore_paid_top_up_limits?: boolean;
                invoice_custom_section?: components["schemas"]["InvoiceCustomSectionInput"];
                /** @description Optional payment method to use for processing the wallet transaction payment. */
                payment_method?: components["schemas"]["PaymentMethodReference"];
                /**
                 * @description This optional field allows you to store a list of key-value pairs that hold additional information or custom attributes related to the data.
                 * @example [
                 *       {
                 *         "key": "example key",
                 *         "value": "example value"
                 *       },
                 *       {
                 *         "key": "another key",
                 *         "value": "another value"
                 *       }
                 *     ]
                 */
                metadata?: {
                    /** @description The unique identifier for the attribute. */
                    key?: string;
                    /** @description The value associated with the key. */
                    value?: string;
                }[] | null;
            };
        };
        WalletTransactionObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the wallet transaction within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the wallet transaction's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the wallet within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the wallet's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_wallet_id: string;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the invoice associated with this wallet transaction. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_invoice_id: string | null;
            /**
             * Format: uuid
             * @description Unique identifier of the credit note associated with this wallet transaction. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_credit_note_id: string | null;
            /**
             * Format: uuid
             * @description Unique identifier of the invoice that was voided and triggered the creation of this inbound wallet transaction. Only present for inbound transactions on traceable wallets that were created as a result of an invoice void.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_voided_invoice_id: string | null;
            /**
             * @description The status of the wallet transaction. Possible values are `pending`, `settled` or `failed`.
             * @example settled
             * @enum {string}
             */
            status: "pending" | "settled" | "failed";
            /**
             * @description The source field represents the origin or trigger of the wallet transaction. Possible values are `manual`, `interval`, `threshold`
             * @example manual
             * @enum {string}
             */
            source: "manual" | "interval" | "threshold";
            /**
             * @description The transaction status of the wallet transaction. Possible values are `purchased` (with pending or settled status), `granted` (without invoice_id), `voided` or `invoiced`.
             * @example purchased
             * @enum {string}
             */
            transaction_status: "purchased" | "granted" | "voided" | "invoiced";
            /**
             * @description The type of transaction. Possible values are `inbound` (increasing the balance) or `outbound` (decreasing the balance).
             * @example inbound
             * @enum {string}
             */
            transaction_type: "inbound" | "outbound";
            /**
             * @description The amount of credits based on the rate and the currency.
             * @example 10.0
             */
            amount: string;
            /**
             * @description The number of credits used in the wallet transaction.
             * @example 100.0
             */
            credit_amount: string;
            /**
             * @description A boolean setting that, when set to true, delays issuing an invoice for a wallet top-up until a successful payment is made; if false, the invoice is issued immediately upon wallet top-up, regardless of the payment status. Default value of false.
             * @example false
             */
            invoice_requires_successful_payment: boolean;
            /**
             * @description This field allows you to store a list of key-value pairs that hold additional information or custom attributes related to the data.
             * @example [
             *       {
             *         "key": "example key",
             *         "value": "example value"
             *       },
             *       {
             *         "key": "another key",
             *         "value": "another value"
             *       }
             *     ]
             */
            metadata: {
                /** @description The unique identifier for the attribute. */
                key?: string;
                /** @description The value associated with the key. */
                value?: string;
            }[];
            /**
             * @description The remaining unconsumed amount of an inbound wallet transaction, expressed in cents. Only present for inbound transactions on traceable wallets. Tracks how much of the original credited amount has not yet been consumed by outbound transactions.
             * @example 5000
             */
            remaining_amount_cents: number | null;
            /**
             * @description The remaining unconsumed amount of an inbound wallet transaction, expressed in credits. Only present for inbound transactions on traceable wallets.
             * @example 5.0
             */
            remaining_credit_amount: string | null;
            /**
             * @description The priority of the wallet transaction, used to determine the order in which inbound transactions are consumed. Lower values are consumed first.
             * @example 50
             */
            priority: number;
            /**
             * Format: date-time
             * @description The date when wallet transaction is settled, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
             * @example 2022-04-29T08:59:51Z
             */
            settled_at: string | null;
            /**
             * Format: date-time
             * @description The date when the wallet transaction failed, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
             * @example 2022-04-29T08:59:51Z
             */
            failed_at: string | null;
            /**
             * Format: date-time
             * @description The date of the wallet transaction creation, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
            /**
             * @description The name of the wallet transaction. It will appear on the invoice as the label for the fee. If not set, the label on the invoice will fallback to either `Prepaid credits - {{wallet_name}}` if the wallet name is set, or `Prepaid credits`.
             * @example Tokens for models 'high-fidelity-boost'
             */
            name: string | null;
            /** @description The invoice custom sections applied to invoices generated by this wallet transaction. */
            applied_invoice_custom_sections?: components["schemas"]["AppliedInvoiceCustomSectionObject"][];
            /** @description The payment method assigned to this wallet transaction for processing the payment. */
            payment_method: components["schemas"]["PaymentMethodReference"];
        };
        WalletTransactions: {
            wallet_transactions: components["schemas"]["WalletTransactionObject"][];
        };
        /** @description . */
        WalletTransactionPaymentUrl: {
            wallet_transaction_payment_details?: {
                /**
                 * @description Unique identifier assigned to the customer within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the customer's record within the Lago system
                 * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                 */
                lago_customer_id?: string;
                /**
                 * @description Unique identifier assigned to the wallet transaction within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the wallet transaction's record within the Lago system
                 * @example 1e501a90-1a90-1a90-1a90-1a901a901a80
                 */
                lago_wallet_transaction_id?: string;
                /**
                 * @description The customer external unique identifier (provided by your own application)
                 * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
                 */
                external_customer_id?: string;
                /**
                 * @description The Payment Provider name linked to the Customer.
                 * @example stripe
                 */
                payment_provider?: string;
                /**
                 * @description The generated Payment URL for the Wallet transaction.
                 * @example https://foo.bar
                 */
                payment_url?: string;
            };
        };
        WalletTransactionConsumptionObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the wallet transaction consumption within the Lago application.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The amount consumed from the inbound wallet transaction, expressed in cents.
             * @example 5000
             */
            amount_cents: number;
            /**
             * @description The amount consumed from the inbound wallet transaction, expressed in credits.
             * @example 5.0
             */
            credit_amount: string;
            /**
             * Format: date-time
             * @description The date of the consumption record creation, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
            wallet_transaction: components["schemas"]["WalletTransactionObject"];
        };
        WalletTransactionConsumptions: {
            wallet_transaction_consumptions: components["schemas"]["WalletTransactionConsumptionObject"][];
        };
        WalletTransactionConsumptionsPaginated: components["schemas"]["WalletTransactionConsumptions"] & {
            meta: components["schemas"]["PaginationMeta"];
        };
        WalletTransactionFundingObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the wallet transaction funding within the Lago application.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * @description The amount funded from the inbound wallet transaction, expressed in cents.
             * @example 5000
             */
            amount_cents: number;
            /**
             * @description The amount funded from the inbound wallet transaction, expressed in credits.
             * @example 5.0
             */
            credit_amount: string;
            /**
             * Format: date-time
             * @description The date of the funding record creation, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
            wallet_transaction: components["schemas"]["WalletTransactionObject"];
        };
        WalletTransactionFundings: {
            wallet_transaction_fundings: components["schemas"]["WalletTransactionFundingObject"][];
        };
        WalletTransactionFundingsPaginated: components["schemas"]["WalletTransactionFundings"] & {
            meta: components["schemas"]["PaginationMeta"];
        };
        WalletTransactionsPaginated: components["schemas"]["WalletTransactions"] & {
            meta: components["schemas"]["PaginationMeta"];
        };
        WebhookEndpointObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the wallet within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the webhook endpoint's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the organization attached to the webhook endpoint within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the organization's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_organization_id: string;
            /**
             * @description The name of the wallet.
             * @example Prepaid
             */
            webhook_url: string;
            /**
             * @description The signature algo for the webhook.
             * @example hmac
             * @enum {string}
             */
            signature_algo?: "jwt" | "hmac";
            /**
             * Format: date-time
             * @description The date of the webhook endpoint creation, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
             * @example 2022-04-29T08:59:51Z
             */
            created_at: string;
        };
        WebhookEndpointsPaginated: {
            webhook_endpoints: components["schemas"]["WebhookEndpointObject"][];
            meta: components["schemas"]["PaginationMeta"];
        };
        WebhookEndpointCreateInput: {
            webhook_endpoint?: {
                /**
                 * @description The URL of the webhook endpoint.
                 * @example https://foo.bar
                 */
                webhook_url: string;
                /**
                 * @description The signature used for the webhook. If no value is passed,
                 * @example hmac
                 * @enum {string|null}
                 */
                signature_algo?: "jwt" | "hmac" | null;
            };
        };
        WebhookEndpoint: {
            webhook_endpoint: components["schemas"]["WebhookEndpointObject"];
        };
        WebhookEndpointUpdateInput: {
            webhook_endpoint?: {
                /**
                 * @description The URL of the webhook endpoint.
                 * @example https://foo.bar
                 */
                webhook_url: string;
                /**
                 * @description The signature used for the webhook. If no value is passed,
                 * @example hmac
                 * @enum {string|null}
                 */
                signature_algo?: "jwt" | "hmac" | null;
            };
        };
        TriggeredAlertObject: {
            /**
             * Format: uuid
             * @description Unique identifier of the alert, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_id: string;
            /**
             * Format: uuid
             * @description Unique identifier of the organization, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_organization_id: string;
            /**
             * Format: uuid
             * @description Unique identifier of the alert, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_alert_id: string;
            /**
             * Format: uuid
             * @description Unique identifier of the subscription, created by Lago.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_subscription_id: string;
            /**
             * @description The subscription external unique identifier (provided by your own application).
             * @example sub_1234567890
             */
            external_subscription_id: string;
            /**
             * @description The customer external unique identifier (provided by your own application).
             * @example cust_1234567890
             */
            external_customer_id: string;
            /**
             * @description The code of the billable metric associated with the alert. Only for alerts based on a billable metric.
             * @example storage_usage
             */
            billable_metric_code: string | null;
            /**
             * @description The type of alert triggered.
             * @example billable_metric_current_usage_amount
             * @enum {string}
             */
            alert_type: "current_usage_amount" | "billable_metric_current_usage_amount" | "billable_metric_current_usage_units" | "lifetime_usage_amount";
            /**
             * @description Unique code used to identify the alert triggered.
             * @example storage_threshold_alert
             */
            alert_code: string;
            /**
             * @description The name of the alert triggered.
             * @example Storage Usage Alert
             */
            alert_name: string | null;
            /**
             * @description When the system checked if this alert should be triggered, this value was retrieved and checked if any threshold were crossed between this value and previous value.
             * @example 1200
             */
            current_value: number;
            /**
             * @description During the previous run, this value was retrieved.
             * @example 900
             */
            previous_value: number;
            /**
             * Format: date-time
             * @description The date and time in UTC (ISO 8601) when the system triggered the alert.
             * @example 2025-05-19T10:04:21Z
             */
            triggered_at: string | null;
            /** @description Array of thresholds crossed. All the recurring threshold values are present. */
            crossed_thresholds: components["schemas"]["AlertThresholdObject"][];
        };
        CustomerIntegratrionErrorObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the customer within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the customer's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_customer_id: string;
            /**
             * @description The customer external unique identifier (provided by your own application)
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            external_customer_id: string;
            /**
             * @description The type of accounting provider code
             * @example anrok
             * @enum {string}
             */
            accounting_provider: "anrok" | "hubspot" | "netsuite" | "okta" | "salesforce" | "xero";
            /**
             * @description Code of the accounting provider
             * @example Netsuite Prod
             */
            accounting_provider_code: string;
            provider_error: string | {
                [key: string]: unknown;
            };
        };
        CustomerPaymentProviderErrorObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the customer within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the customer's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_customer_id: string;
            /**
             * @description The customer external unique identifier (provided by your own application)
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            external_customer_id: string;
            /**
             * @description The type of payment provider
             * @example stripe
             * @enum {string}
             */
            payment_provider: "adyen" | "cashfree" | "gocardless" | "stripe";
            /**
             * @description Code of the payment provider
             * @example Stripe Prod
             */
            payment_provider_code: string;
            provider_error: string | {
                [key: string]: unknown;
            };
        };
        CustomerTaxProviderErrorObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the customer within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the customer's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_customer_id: string;
            /**
             * @description The customer external unique identifier (provided by your own application)
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            external_customer_id: string;
            /**
             * @description The type of tax provider
             * @example anrock
             * @enum {string}
             */
            tax_provider: "anrock" | "hubspot" | "netsuite" | "okta" | "salesforce" | "xero";
            /**
             * @description Code of the tax provider
             * @example Stripe Prod
             */
            tax_provider_code: string;
            provider_error: string | {
                [key: string]: unknown;
            };
        };
        CustomerViesCheckObject: components["schemas"]["CustomerBaseObject"] & {
            vies_check?: {
                /**
                 * @description Whether the VIES check was successful
                 * @example true
                 */
                valid?: boolean;
            };
        };
        CreditNotePaymentProviderRefundError: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the credit note within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the credit note record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_credit_note_id: string;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the customer within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the customer's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_customer_id: string;
            /**
             * @description The customer external unique identifier (provided by your own application)
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            external_customer_id: string;
            /**
             * @description Unique identifier of the customer within the payment provider
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            provider_customer_id?: string;
            /**
             * @description The type of payment provider code
             * @example stripe
             * @enum {string}
             */
            payment_provider: "adyen" | "cashfree" | "gocardless" | "stripe";
            /**
             * @description Code of the payment provider
             * @example Stripe Prod
             */
            payment_provider_code?: string;
            provider_error?: string | {
                [key: string]: unknown;
            };
        };
        DunningCampaignFinishedObject: {
            /**
             * @description The customer external unique identifier (provided by your own application).
             * @example cus_0987654321
             */
            external_customer_id: string;
            /**
             * @description Identifier of the dunning campaign.
             * @example dun_code_1234
             */
            dunning_campaign_code: string;
            /**
             * @description The amount of the overdue balance, expressed in cents.
             * @example 120
             */
            overdue_balance_cents: number;
            /**
             * @description The currency of the balance.
             * @example EUR
             */
            overdue_balance_currency: components["schemas"]["Currency"];
        };
        EventErrorsObject: {
            /**
             * @description HTTP status code. It will always be 422
             * @example 422
             */
            status: number;
            /**
             * @description HTTP error description. It will always be "Unprocessable entity"
             * @example Unprocessable entity
             */
            error: string;
            message: string | {
                [key: string]: unknown;
            };
            event: components["schemas"]["EventObject"];
        };
        EventsErrorsObject: {
            /**
             * @description List of event transaction_id with an invalid code
             * @example [
             *       "transaction_1234567890"
             *     ]
             */
            invalid_code: string[];
            /**
             * @description List of event transaction_id with a missing aggregation property
             * @example [
             *       "transaction_1234567890"
             *     ]
             */
            missing_aggregation_property: string[];
            /**
             * @description List of event transaction_id with invalid filter values
             * @example [
             *       "transaction_1234567890"
             *     ]
             */
            invalid_filter_values: string[];
            /** @deprecated */
            missing_group_key: string[];
        };
        FeeTaxProviderErrorObject: {
            /**
             * @description Code of the tax provider
             * @example Stripe Prod
             */
            tax_provider_code: string;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the charge that the fee belongs to
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_charge_id: string | null;
            /**
             * @description Unique identifier assigned to the transaction. This field is specifically displayed when the fee type is `charge`.
             * @example transaction_1234567890
             */
            event_transaction_id: string | null;
            provider_error: string | {
                [key: string]: unknown;
            };
        };
        InvoicePaymentDisputeLostObject: components["schemas"]["InvoiceObjectExtended"] & {
            provider_error?: string | {
                [key: string]: unknown;
            };
        };
        InvoicePaymentFailureObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_invoice_id: string;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the customer within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the customer's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_customer_id: string;
            /**
             * @description The customer external unique identifier (provided by your own application)
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            external_customer_id: string;
            /**
             * @description Unique identifier of the customer within the payment provider
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            provider_customer_id?: string;
            /**
             * @description The type of payment provider code
             * @example stripe
             * @enum {string}
             */
            payment_provider: "adyen" | "cashfree" | "gocardless" | "stripe";
            /**
             * @description Code of the payment provider
             * @example Stripe Prod
             */
            payment_provider_code?: string;
            provider_error?: string | {
                [key: string]: unknown;
            };
        };
        IntegrationProviderErrorObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the integration within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the integration's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_integration_id: string;
            /**
             * @description The type of integration provider
             * @example netsuite
             */
            provider: string;
            /**
             * @description Unique code used to identify an integration connection.
             * @example netsuite-eu-1
             */
            provider_code: string;
            provider_error: string | {
                [key: string]: unknown;
            };
        };
        PaymentProviderErrorObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the payment provider within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the payment provider's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_payment_provider_id: string;
            /**
             * @description The name of payment provider
             * @example Stripe Prod
             */
            payment_provider_name: string;
            /**
             * @description Code of the payment provider
             * @example stripe
             */
            payment_provider_code: string;
            /**
             * @description The source of the error
             * @example stripe
             * @enum {string}
             */
            source: "stripe";
            /**
             * @description The action that was being performed when the error occurred
             * @example payment_provider.register_webhook
             * @enum {string}
             */
            action?: "payment_provider.register_webhook";
            provider_error: string | {
                [key: string]: unknown;
            };
        };
        PaymentRequestPaymentFailureObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the payment request within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the payment request record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_payment_request_id: string;
            /**
             * @description List of unique identifiers assigned to the invoices within the Lago application. These IDs are exclusively created by Lago and serve as unique identifiers for the invoices records within the Lago system.
             * @example [
             *       "1a901a90-1a90-1a90-1a90-1a901a901a90"
             *     ]
             */
            lago_invoice_ids: string[];
            /**
             * Format: uuid
             * @description Unique identifier assigned to the customer within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the customer's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_customer_id: string;
            /**
             * @description The customer external unique identifier (provided by your own application)
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            external_customer_id: string;
            /**
             * @description Unique identifier of the customer within the payment provider
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            provider_customer_id?: string;
            /**
             * @description The type of payment provider code
             * @example stripe
             * @enum {string}
             */
            payment_provider: "adyen" | "cashfree" | "gocardless" | "stripe";
            /**
             * @description Code of the payment provider
             * @example Stripe Prod
             */
            payment_provider_code?: string;
            provider_error?: string | {
                [key: string]: unknown;
            };
        };
        SubscriptionWithCustomerObject: components["schemas"]["SubscriptionObject"] & {
            plan: components["schemas"]["PlanObject"];
            customer: components["schemas"]["CustomerObject"];
        };
        SubscriptionWithThresholdObject: components["schemas"]["SubscriptionObject"] & {
            plan: components["schemas"]["PlanObject"];
            customer: components["schemas"]["CustomerObject"];
            usage_threshold: components["schemas"]["UsageThresholdObject"];
            /** @description List of usage thresholds applicable to this subscription. */
            applicable_usage_thresholds?: components["schemas"]["ApplicableUsageThreshold"][];
        };
        WalletTransactionObjectExtended: components["schemas"]["WalletTransactionObject"] & {
            wallet?: components["schemas"]["WalletObject"];
        };
        WalletTransactionPaymentFailureObject: {
            /**
             * Format: uuid
             * @description Unique identifier assigned to the wallet transaction within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the wallet transaction's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_wallet_transaction_id: string;
            /**
             * Format: uuid
             * @description Unique identifier assigned to the customer within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the customer's record within the Lago system.
             * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
             */
            lago_customer_id: string;
            /**
             * @description The customer external unique identifier (provided by your own application)
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            external_customer_id: string;
            /**
             * @description Unique identifier of the customer within the payment provider
             * @example 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba
             */
            provider_customer_id?: string;
            /**
             * @description The type of payment provider code
             * @example stripe
             * @enum {string}
             */
            payment_provider: "adyen" | "cashfree" | "gocardless" | "stripe";
            /**
             * @description Code of the payment provider
             * @example Stripe Prod
             */
            payment_provider_code?: string;
            provider_error?: string | {
                [key: string]: unknown;
            };
        };
        CustomerPaymentProvidernErrorObject: components["schemas"]["CustomerPaymentProviderErrorObject"];
    };
    responses: {
        /** @description Unauthorized error */
        Unauthorized: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "application/json": components["schemas"]["ApiErrorUnauthorized"];
            };
        };
        /** @description Unprocessable entity error */
        UnprocessableEntity: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "application/json": components["schemas"]["ApiErrorUnprocessableEntity"];
            };
        };
        /** @description Bad Request error */
        BadRequest: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "application/json": components["schemas"]["ApiErrorBadRequest"];
            };
        };
        /** @description Forbidden */
        Forbidden: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "application/json": components["schemas"]["ApiErrorForbidden"];
            };
        };
        /** @description Not Found error */
        NotFound: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "application/json": components["schemas"]["ApiErrorNotFound"];
            };
        };
        /** @description Not Allowed error */
        NotAllowed: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "application/json": components["schemas"]["ApiErrorNotAllowed"];
            };
        };
    };
    parameters: {
        /** @description Page number. */
        page: number;
        /** @description Number of records per page. */
        per_page: number;
        /** @description Unique identifier assigned to the customer in your application. */
        external_customer_id: string;
        /** @description External subscription ID */
        external_subscription_id: string;
        /** @description Show data only for given number of months. */
        months: number;
        /** @description The customer external unique identifier (provided by your own application) */
        external_customer_id_path: string;
        /** @description Filter by payment status. Possible values are `pending`, `failed` or `succeeded`. */
        payment_status: "pending" | "failed" | "succeeded";
        /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
        wallet_code: string;
        /** @description Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system. */
        lago_invoice_id: string;
        /** @description Code of the existing plan. */
        plan_code: string;
        /** @description Code of the existing charge. */
        charge_code: string;
        /** @description Unique identifier of the charge filter. */
        charge_filter_id: string;
        /** @description Code of the existing fixed charge. */
        fixed_charge_code: string;
        /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
        subscription_status: "pending" | "active" | "terminated" | "canceled";
        /** @description External ID of the existing subscription. */
        subscription_external_id_path: string;
        /** @description Signature of the webhook payload */
        webhook_signature: string;
        /** @description Algorithm used to generate the signature */
        webhook_signature_algorithm: "jwt" | "hmac";
        /** @description Unique id of the webhook. It can be used for idempotency */
        webhook_unique_key: string;
    };
    requestBodies: never;
    headers: never;
    pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
    listBillingEntities: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of billing entities */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        billing_entities: components["schemas"]["BillingEntityObject"][];
                    };
                };
            };
            401: components["responses"]["Unauthorized"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    createBillingEntity: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description The billing entity payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["BillingEntityCreateInput"];
            };
        };
        responses: {
            /** @description Billing entity created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BillingEntityObject"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    getBillingEntity: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The ID of the billing entity */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Billing entity details */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        billing_entity: components["schemas"]["BillingEntityObjectExtended"];
                    };
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    updateBillingEntity: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The ID of the billing entity */
                code: string;
            };
            cookie?: never;
        };
        /** @description The billing entity update payload */
        requestBody?: {
            content: {
                "application/json": components["schemas"]["BillingEntityUpdateInput"];
            };
        };
        responses: {
            /** @description Billing entity updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BillingEntityObjectExtended"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findAllActivityLogs: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Filter activity logs from a specific date. */
                from_date?: string;
                /** @description Filter activity logs up to a specific date. */
                to_date?: string;
                /** @description Filter results by activity types */
                "activity_types[]"?: string[];
                /** @description Filter results by activity sources */
                "activity_sources[]"?: ("api" | "front" | "system")[];
                /** @description Filter results by user emails */
                "user_emails[]"?: string[];
                /** @description Unique identifier assigned to the customer in your application. */
                external_customer_id?: components["parameters"]["external_customer_id"];
                /** @description External subscription ID */
                external_subscription_id?: components["parameters"]["external_subscription_id"];
                /** @description Filter results by resources unique identifiers */
                "resource_ids[]"?: string[];
                /** @description Filter results by resource class types */
                "resource_types[]"?: string[];
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of activity logs */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ActivityLogsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    findActivityLog: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The Activity Id of the existing activity log. */
                activity_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Activity Log */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ActivityLog"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllAddOns: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Add-ons */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AddOnsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
        };
    };
    createAddOn: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Add-on payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["AddOnCreateInput"];
            };
        };
        responses: {
            /** @description Add-on created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AddOn"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findAddOn: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique code used to identify the add-on. */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Add-on */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AddOn"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
        };
    };
    updateAddOn: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique code used to identify the add-on. */
                code: string;
            };
            cookie?: never;
        };
        /** @description Add-on payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["AddOnUpdateInput"];
            };
        };
        responses: {
            /** @description Add-on updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AddOn"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    destroyAddOn: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique code used to identify the add-on. */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Add-on deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AddOn"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllApiLogs: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Filter api logs from a specific date. */
                from_date?: string;
                /** @description Filter api logs up to a specific date. */
                to_date?: string;
                /** @description Filter results by HTTP methods */
                "http_methods[]"?: ("post" | "put" | "delete")[];
                /** @description Filter results by HTTP status or by generic request status */
                "http_statuses[]"?: (("succeeded" | "failed") | number)[];
                /** @description Filter results by API version */
                api_version?: string;
                /** @description Filter results by the path of the request */
                request_paths?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of api logs */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ApiLogsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    findApiLog: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The Request Id of the existing api log. */
                request_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Api Log */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ApiLog"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllGrossRevenues: {
        parameters: {
            query?: {
                /** @description Currency of revenue analytics. Format must be ISO 4217. */
                currency?: components["schemas"]["Currency"] & unknown;
                /** @description The customer external unique identifier (provided by your own application). Use it to filter revenue analytics at the customer level. */
                external_customer_id?: string;
                /** @description Show data only for given number of months. */
                months?: components["parameters"]["months"];
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Gross revenue */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["GrossRevenues"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
        };
    };
    findAllInvoiceCollections: {
        parameters: {
            query?: {
                /** @description The currency of revenue analytics. Format must be ISO 4217. */
                currency?: components["schemas"]["Currency"] & unknown;
                /** @description Show data only for given number of months. */
                months?: components["parameters"]["months"];
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Finalized invoice collection */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["InvoiceCollections"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    findAllInvoicedUsages: {
        parameters: {
            query?: {
                /** @description The currency of invoiced usage analytics. Format must be ISO 4217. */
                currency?: components["schemas"]["Currency"] & unknown;
                /** @description Show data only for given number of months. */
                months?: components["parameters"]["months"];
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Invoiced usage */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["InvoicedUsages"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    findAllMrrs: {
        parameters: {
            query?: {
                /**
                 * @description Quantifies the revenue generated from `subscription` fees on a monthly basis. This figure is calculated post-application of applicable taxes and deduction of any applicable discounts. The method of calculation varies based on the subscription billing cycle:
                 *
                 *     - Revenue from `monthly` subscription invoices is included in the MRR for the month in which the invoice is issued.
                 *     - Revenue from `quarterly` subscription invoices is distributed evenly over three months. This distribution applies to fees paid in advance (allocated to the next remaining months depending on calendar or anniversary billing) as well as to fees paid in arrears (allocated to the preceding months depending on calendar or anniversary billing).
                 *     - Revenue from `yearly` subscription invoices is distributed evenly over twelve months. This allocation is applicable for fees paid in advance (spread over the next remaining months depending on calendar or anniversary billing) and for fees paid in arrears (spread over the previous months depending on calendar or anniversary billing).
                 *     - Revenue from `semiannual` subscription invoices is distributed evenly over six months. This allocation is applicable for fees paid in advance (spread over the next remaining months depending on calendar or anniversary billing) and for fees paid in arrears (spread over the previous months depending on calendar or anniversary billing).
                 *     - Revenue from `weekly` subscription invoices, the total revenue from all invoices issued within a month is summed up. This total is then divided by the number of invoices issued during that month, and the result is multiplied by 4.33, representing the average number of weeks in a month.
                 */
                currency?: components["schemas"]["Currency"] & unknown;
                /** @description Show data only for given number of months. */
                months?: components["parameters"]["months"];
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description MRR */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Mrrs"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
        };
    };
    findAllOverdueBalances: {
        parameters: {
            query?: {
                /** @description Currency of revenue analytics. Format must be ISO 4217. */
                currency?: components["schemas"]["Currency"] & unknown;
                /** @description The customer external unique identifier (provided by your own application). Use it to filter revenue analytics at the customer level. */
                external_customer_id?: string;
                /** @description Show data only for given number of months. */
                months?: components["parameters"]["months"];
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Overdue balance */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["OverdueBalances"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
        };
    };
    findAllUsages: {
        parameters: {
            query?: {
                /** @description The time granularity of usage analytics. Possible values are 'daily', 'weekly', 'monthly', 'yearly'. */
                time_granularity?: "daily" | "weekly" | "monthly";
                /** @description The currency of usage analytics. Format must be ISO 4217. */
                currency?: components["schemas"]["Currency"] & unknown;
                /** @description The start date of the period for which the usage analytics is calculated. */
                from_date?: string;
                /** @description The end date of the period for which the usage analytics is calculated. */
                to_date?: string;
                /** @description The type of customer for which the usage analytics is calculated. Possible values are 'individual', 'company'. */
                customer_type?: "individual" | "company";
                /** @description The external identifier of the customer for which the usage analytics is calculated. */
                external_customer_id?: string;
                /** @description The country of the customer for which the usage analytics is calculated. */
                customer_country?: components["schemas"]["Country"] & unknown;
                /** @description The external identifier of the subscription for which the usage analytics is calculated. */
                external_subscription_id?: string;
                /** @description Indicates whether the billable metric associated with the usage is recurring. */
                is_billable_metric_recurring?: boolean;
                /** @description The code of the plan for which the usage analytics is calculated. */
                plan_code?: string;
                /** @description The code of the usage-based billable metrics for which the usage analytics is calculated. */
                billable_metric_code?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Usage */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Usages"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    findAllAppliedCoupons: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description The status of the coupon. Can be either `active` or `terminated`. */
                status?: "active" | "terminated";
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id?: string;
                /** @description The code of the coupon applied to the customer. Use it to filter applied coupons by their code. */
                "coupon_code[]"?: string[];
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Applied Coupons */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AppliedCouponsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    applyCoupon: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Apply coupon payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["AppliedCouponInput"];
            };
        };
        responses: {
            /** @description Coupon applied */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AppliedCoupon"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findAllBillableMetrics: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of billable metrics */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BillableMetricsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    createBillableMetric: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Billable metric payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["BillableMetricCreateInput"];
            };
        };
        responses: {
            /** @description Billable metric created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BillableMetric"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    evaluateBillableMetricExpression: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Billable metric expression evaluation payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["BillableMetricEvaluateExpressionInput"];
            };
        };
        responses: {
            /** @description Billable metric expression evaluation result */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BillableMetricEvaluateExpressionResult"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findBillableMetric: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing billable metric. */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Billable metric */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BillableMetric"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updateBillableMetric: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing billable metric. */
                code: string;
            };
            cookie?: never;
        };
        /** @description Billable metric payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["BillableMetricUpdateInput"];
            };
        };
        responses: {
            /** @description Billable metric updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BillableMetric"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    destroyBillableMetric: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing billable metric. */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Billable metric deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BillableMetric"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllFeatures: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Search in name, code and description. */
                search_term?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of features */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["FeaturesPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    createFeature: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Feature payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["FeatureCreateInput"];
            };
        };
        responses: {
            /** @description Feature created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Feature"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findFeature: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing feature. */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Feature */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Feature"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updateFeature: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing feature. */
                code: string;
            };
            cookie?: never;
        };
        /** @description Feature payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["FeatureUpdateInput"];
            };
        };
        responses: {
            /** @description Feature updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Feature"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    destroyFeature: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing feature. */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Feature deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Feature"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    deleteFeaturePrivilege: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing feature. */
                code: string;
                /** @description Code of the existing privilege. */
                privilege_code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Feature with deleted privilege. */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Feature"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllCoupons: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Coupons */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CouponsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    createCoupon: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Coupon payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["CouponCreateInput"];
            };
        };
        responses: {
            /** @description Coupon created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Coupon"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findCoupon: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique code used to identify the coupon. */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Coupon */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Coupon"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updateCoupon: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique code used to identify the coupon. */
                code: string;
            };
            cookie?: never;
        };
        /** @description Coupon payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["CouponUpdateInput"];
            };
        };
        responses: {
            /** @description Coupon updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Coupon"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    destroyCoupon: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique code used to identify the coupon. */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Coupon deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Coupon"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllCreditNotes: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Unique identifier assigned to the customer in your application. */
                external_customer_id?: components["parameters"]["external_customer_id"];
                /** @description Filter credit notes starting from a specific date. */
                issuing_date_from?: string;
                /** @description Filter credit notes up to a specific date. */
                issuing_date_to?: string;
                /** @description Search credit notes by id, number, customer name, customer external_id or customer email. */
                search_term?: string;
                /** @description Filter credit notes by currency. Possible values ISO 4217 currency codes. */
                currency?: string;
                /** @description Filter credit notes by reasons. Possible values are `product_unsatisfactory`, `order_change`, `order_cancellation`, `fraudulent_charge`, `duplicated_charge` or `other`. */
                reason?: "product_unsatisfactory" | "order_change" | "order_cancellation" | "fraudulent_charge" | "duplicated_charge" | "other";
                /** @description Filter credit notes by credit status. Possible values are `available`, `consumed`  or `voided`. */
                credit_status?: "available" | "consumed" | "voided";
                /** @description Filter credit notes by refund status. Possible values are `pending`, `succeeded`  or `failed`. */
                refund_status?: "pending" | "succeeded" | "failed";
                /** @description Filter credit notes by their related invoice number. */
                invoice_number?: string;
                /** @description Filter credit notes of at least a specific amount. This parameter must be defined in cents to ensure consistent handling for all currency types. */
                amount_from?: number;
                /** @description Filter credit notes up to a specific amount. This parameter must be defined in cents to ensure consistent handling for all currency types. */
                amount_to?: number;
                /** @description Filter credit notes belonging to a self billed invoice. Possible values are `true` or `false`. */
                self_billed?: boolean;
                /** @description Filter credit notes by billing entity codes. */
                "billing_entity_codes[]"?: string[];
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Credit notes */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CreditNotesPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    createCreditNote: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Credit note payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["CreditNoteCreateInput"];
            };
        };
        responses: {
            /** @description Credit note created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CreditNoteExtended"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findCreditNote: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The credit note unique identifier, created by Lago. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Credit note */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CreditNoteExtended"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updateCreditNote: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The credit note unique identifier, created by Lago. */
                lago_id: string;
            };
            cookie?: never;
        };
        /** @description Credit note update payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["CreditNoteUpdateInput"];
            };
        };
        responses: {
            /** @description Credit note updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CreditNoteExtended"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    downloadCreditNote: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The credit note unique identifier, created by Lago. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Credit note PDF */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CreditNote"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    estimateCreditNote: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Credit note estimate payload */
        requestBody?: {
            content: {
                "application/json": components["schemas"]["CreditNoteEstimateInput"];
            };
        };
        responses: {
            /** @description Credit note amounts */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CreditNoteEstimated"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    voidCreditNote: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The credit note unique identifier, created by Lago. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Credit note voided */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CreditNoteExtended"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            405: components["responses"]["NotAllowed"];
        };
    };
    replaceCreditNoteMetadata: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The credit note unique identifier, created by Lago. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["CreditNoteMetadataResponse"];
            };
        };
        responses: {
            /** @description Credit note metadata replaced */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CreditNoteMetadataResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    deleteAllCreditNoteMetadata: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The credit note unique identifier, created by Lago. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Credit note metadata deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CreditNoteMetadataResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    mergeCreditNoteMetadata: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The credit note unique identifier, created by Lago. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["CreditNoteMetadataResponse"];
            };
        };
        responses: {
            /** @description Credit note metadata merged */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CreditNoteMetadataResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    deleteCreditNoteMetadataKey: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The credit note unique identifier, created by Lago. */
                lago_id: string;
                /** @description The metadata key to delete. */
                key: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Metadata key deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CreditNoteMetadataResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllCustomers: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Filter customers by account type. */
                "account_type[]"?: ("customer" | "partner")[];
                /** @description Filter customers by billing entity codes. */
                "billing_entity_codes[]"?: string[];
                /** @description Filter customers by search term. This will filter all customers whose name, firstname, lastname, legal name, external id or email contain the search term. */
                search_term?: string;
                /** @description Filter customers by countries. Possible values are the ISO 3166-1 alpha-2 codes. */
                "countries[]"?: components["schemas"]["Country"][];
                /** @description Filter customers by states. */
                "states[]"?: string[];
                /** @description Filter customers by zipcodes. */
                "zipcodes[]"?: string[];
                /** @description Filter customers by currencies. */
                "currencies[]"?: components["schemas"]["Currency"][];
                /** @description Filter customers by whether they have a tax identification number or not. */
                has_tax_identification_number?: boolean;
                /** @description Filter customers by metadata. Replace `key` with the actual metadata key you want to match, and provide the corresponding value. Providing empty value will search for customers without given metadata key. For example, `metadata[is_synced]=true&metadata[last_synced_at]=`. */
                "metadata[key]"?: string;
                /** @description Filter customers by customer type. */
                customer_type?: "company" | "individual";
                /** @description Filter customers by whether they have a customer type or not. */
                has_customer_type?: boolean;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of customers */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CustomersPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    createCustomer: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Customer payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["CustomerCreateInput"];
            };
        };
        responses: {
            /** @description Customer created or updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Customer"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findCustomer: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Customer */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Customer"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    destroyCustomer: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Customer deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Customer"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllCustomerAppliedCoupons: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description The status of the coupon. Can be either `active` or `terminated`. */
                status?: "active" | "terminated";
                /** @description The code of the coupon applied to the customer. Use it to filter applied coupons by their code. */
                "coupon_code[]"?: string[];
            };
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Applied Coupons */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AppliedCouponsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    deleteAppliedCoupon: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description Unique identifier of the applied coupon, created by Lago. */
                applied_coupon_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AppliedCoupon"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllCustomerCreditNotes: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Filter credit notes starting from a specific date. */
                issuing_date_from?: string;
                /** @description Filter credit notes up to a specific date. */
                issuing_date_to?: string;
                /** @description Search credit notes by id, number, customer name, customer external_id or customer email. */
                search_term?: string;
                /** @description Filter credit notes by reasons. Possible values are `product_unsatisfactory`, `order_change`, `order_cancellation`, `fraudulent_charge`, `duplicated_charge` or `other`. */
                reason?: "product_unsatisfactory" | "order_change" | "order_cancellation" | "fraudulent_charge" | "duplicated_charge" | "other";
                /** @description Filter credit notes by credit status. Possible values are `available`, `consumed`  or `voided`. */
                credit_status?: "available" | "consumed" | "voided";
                /** @description Filter credit notes by refund status. Possible values are `pending`, `succeeded`  or `failed`. */
                refund_status?: "pending" | "succeeded" | "failed";
                /** @description Filter credit notes by their related invoice number. */
                invoice_number?: string;
                /** @description Filter credit notes of at least a specific amount. This parameter must be defined in cents to ensure consistent handling for all currency types. */
                amount_from?: number;
                /** @description Filter credit notes up to a specific amount. This parameter must be defined in cents to ensure consistent handling for all currency types. */
                amount_to?: number;
                /** @description Filter credit notes belonging to a self billed invoice. Possible values are `true` or `false`. */
                self_billed?: boolean;
            };
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Credit notes */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CreditNotesPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllCustomerInvoices: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Filter invoices of at least a specific amount. This parameter must be defined in cents to ensure consistent handling for all currency types. */
                amount_from?: number;
                /** @description Filter invoices up to a specific amount. This parameter must be defined in cents to ensure consistent handling for all currency types. */
                amount_to?: number;
                /** @description Filter invoices starting from a specific date. */
                issuing_date_from?: string;
                /** @description Filter invoices up to a specific date. */
                issuing_date_to?: string;
                /** @description Filter invoices by status. Possible values are `draft` or `finalized`. */
                status?: "draft" | "finalized";
                /** @description Filter invoices by payment status. Possible values are `pending`, `failed` or `succeeded`. */
                payment_status?: "pending" | "failed" | "succeeded";
                /** @description Filter invoices by payment_overdue. Possible values are `true` or `false`. */
                payment_overdue?: boolean;
                /** @description Search invoices by id, number, customer name, customer external_id or customer email. */
                search_term?: string;
                /** @description Filter invoices with a payment dispute lost. Possible values are `true` or `false`. */
                payment_dispute_lost?: boolean;
                /** @description Filter invoices by invoice type. Possible values are `subscription`, `add_on`, `credit`, `one_off`, `advance_charges` or `progressive_billing`. */
                invoice_type?: "subscription" | "add_on" | "credit" | "one_off" | "advance_charges" | "progressive_billing";
                /** @description Filter invoices by self billed. Possible values are `true` or `false`. */
                self_billed?: boolean;
                /** @description Filter invoices by metadata. Replace `key` with the actual metadata key you want to match, and provide the corresponding value. Providing empty value will search for invoice without given metadata key. For example, `metadata[color]=blue`. */
                "metadata[key]"?: string;
            };
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Invoices */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["InvoicesPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findAllCustomerPayments: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system. */
                invoice_id?: string;
            };
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Payments */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PaymentsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllCustomerPaymentRequests: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Filter by payment status. Possible values are `pending`, `failed` or `succeeded`. */
                payment_status?: components["parameters"]["payment_status"];
            };
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description PaymentRequests */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PaymentRequestsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    getCustomerPortalUrl: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description External ID of the existing customer */
                external_customer_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Portal URL */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        customer: {
                            /**
                             * @description An embeddable link for displaying a customer portal
                             * @example https://app.lago.com/customer-portal/1234567890
                             */
                            portal_url: string;
                        };
                    };
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllCustomerSubscriptions: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description The unique code representing the plan to be attached to the customer. This code must correspond to the code property of one of the active plans. */
                plan_code?: string;
                /** @description If the field is not defined, Lago will return only `active` subscriptions. However, if you wish to fetch subscriptions by different status you can define them in a status[] query param. Available filter values: `pending`, `canceled`, `terminated`, `active`. */
                "status[]"?: ("pending" | "canceled" | "terminated" | "active")[];
            };
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of subscriptions */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SubscriptionsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllCustomerWallets: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
            };
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Wallets */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
        };
    };
    createCustomerWallet: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
            };
            cookie?: never;
        };
        /** @description Wallet payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["WalletCreateInput"];
            };
        };
        responses: {
            /** @description Wallet created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Wallet"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findCustomerWallet: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Wallet */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Wallet"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
        };
    };
    updateCustomerWallet: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                code: string;
            };
            cookie?: never;
        };
        /** @description Wallet update payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["WalletUpdateInput"];
            };
        };
        responses: {
            /** @description Wallet updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Wallet"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    destroyCustomerWallet: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Wallet terminated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Wallet"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    replaceCustomerWalletMetadata: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                wallet_code: components["parameters"]["wallet_code"];
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["WalletMetadataResponse"];
            };
        };
        responses: {
            /** @description Wallet metadata replaced */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletMetadataResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    deleteAllCustomerWalletMetadata: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                wallet_code: components["parameters"]["wallet_code"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Wallet metadata deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletMetadataResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    mergeCustomerWalletMetadata: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                wallet_code: components["parameters"]["wallet_code"];
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["WalletMetadataResponse"];
            };
        };
        responses: {
            /** @description Wallet metadata merged */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletMetadataResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    deleteCustomerWalletMetadataKey: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                wallet_code: components["parameters"]["wallet_code"];
                /** @description The metadata key to delete. */
                key: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Metadata key deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletMetadataResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    getCustomerWalletAlerts: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                wallet_code: components["parameters"]["wallet_code"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Wallet alerts */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletAlerts"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    createCustomerWalletAlert: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                wallet_code: components["parameters"]["wallet_code"];
            };
            cookie?: never;
        };
        /** @description Create a new alert for a wallet */
        requestBody: {
            content: {
                "application/json": components["schemas"]["WalletAlertCreateInput"] | components["schemas"]["WalletAlertBatchCreateInput"];
            };
        };
        responses: {
            /** @description Wallet alert(s) created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletAlert"] | components["schemas"]["WalletAlerts"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    deleteAllCustomerWalletAlerts: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                wallet_code: components["parameters"]["wallet_code"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description All wallet alerts deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    getCustomerWalletAlert: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                wallet_code: components["parameters"]["wallet_code"];
                /** @description Unique code of the alert */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Wallet alert */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletAlert"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updateCustomerWalletAlert: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                wallet_code: components["parameters"]["wallet_code"];
                /** @description Unique code of the alert */
                code: string;
            };
            cookie?: never;
        };
        /** @description Update an existing alert for a wallet */
        requestBody: {
            content: {
                "application/json": components["schemas"]["WalletAlertUpdateInput"];
            };
        };
        responses: {
            /** @description Wallet alert updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletAlert"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    deleteCustomerWalletAlert: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
                /** @description A unique wallet identifier within a customer. It is either set by the user at creation or auto-generated by Lago if not provided. */
                wallet_code: components["parameters"]["wallet_code"];
                /** @description Unique code of the alert */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Wallet alert deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletAlert"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findCustomerCurrentUsage: {
        parameters: {
            query: {
                /** @description The unique identifier of the subscription within your application. */
                external_subscription_id: string;
                /** @description Optional flag to determine if taxes should be applied. Defaults to `true` if not provided or if null. */
                apply_taxes?: boolean;
                /** @description Filter usage to a specific charge by its Lago ID (UUID). Replaces deprecated `filter_by_charge_id`. */
                charge_id?: string;
                /** @description Filter usage to a specific charge by its code. Replaces deprecated `filter_by_charge_code`. */
                charge_code?: string;
                /** @description Filter usage to a specific billable metric by its code. */
                billable_metric_code?: string;
                /** @description Filter usage by pricing group. Pass key/value pairs as query parameters, e.g. `group[cloud]=aws`. Replaces deprecated `filter_by_group`. */
                group?: {
                    [key: string]: string;
                };
                /**
                 * @deprecated
                 * @description Filter usage to a specific charge by its Lago ID (UUID).
                 */
                filter_by_charge_id?: string;
                /**
                 * @deprecated
                 * @description Filter usage to a specific charge by its code.
                 */
                filter_by_charge_code?: string;
                /**
                 * @deprecated
                 * @description Filter usage by pricing group. Pass key/value pairs as query parameters, e.g. `filter_by_group[cloud]=aws`.
                 */
                filter_by_group?: {
                    [key: string]: string;
                };
                /** @description When `true`, returns usage since subscription start instead of the current billing period. Requires one of `charge_id`, `charge_code`, `group` (or their deprecated `filter_by_*` equivalents) to be set. */
                full_usage?: boolean;
            };
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application). */
                external_customer_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Customer usage */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CustomerUsage"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findCustomerProjectedUsage: {
        parameters: {
            query: {
                /** @description The unique identifier of the subscription within your application. */
                external_subscription_id: string;
                /** @description Optional flag to determine if taxes should be applied. Defaults to `true` if not provided or if null. */
                apply_taxes?: boolean;
            };
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application). */
                external_customer_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Customer usage */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CustomerProjectedUsage"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllCustomerPastUsage: {
        parameters: {
            query: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description The unique identifier of the subscription within your application. */
                external_subscription_id: string;
                /** @description Billable metric code filter to apply to the charge usage */
                billable_metric_code?: string;
                /** @description Number of past billing period to returns in the result */
                periods_count?: number;
            };
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application). */
                external_customer_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Customer past usage */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CustomerPastUsage"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    generateCustomerCheckoutURL: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application). */
                external_customer_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Customer Checkout URL */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        customer: components["schemas"]["CustomerCheckoutUrl"];
                    };
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findAllCustomersPaymentMethods: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
            };
            header?: never;
            path: {
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of customer's payment methods */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PaymentMethodsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    paymentMethodSetAsDefault: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The payment method unique identifier, created by Lago. */
                lago_id: string;
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PaymentMethod"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    destroyPaymentMethod: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The payment method unique identifier, created by Lago. */
                lago_id: string;
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id: components["parameters"]["external_customer_id_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Payment method deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PaymentMethod"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllEvents: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description External subscription ID */
                external_subscription_id?: components["parameters"]["external_subscription_id"];
                /** @description Filter events by its code. */
                code?: string;
                /** @description Requires `external_subscription_id` to be set. Filter events by timestamp after the subscription started at datetime. */
                timestamp_from_started_at?: boolean;
                /** @description Filter events by timestamp starting from a specific date. */
                timestamp_from?: string;
                /** @description Filter events by timestamp up to a specific date. */
                timestamp_to?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Events */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["EventsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    createEvent: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Event payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["EventInput"];
            };
        };
        responses: {
            /** @description Event */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["EventCreated"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    createBatchEvents: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Batch events payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["EventBatchInput"];
            };
        };
        responses: {
            /** @description Event received */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["EventsCreated"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    eventEstimateFees: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Event estimate payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["EventEstimateFeesInput"];
            };
        };
        responses: {
            /** @description Fees estimate */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Fees"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    eventEstimateInstantFees: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Event estimate instant payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["EventEstimateInstantFeesInput"];
            };
        };
        responses: {
            /** @description Fees estimate */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["FeesEstimate"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    eventBatchEstimateInstantFees: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Batch event estimate instant payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["EventBatchEstimateInstantFeesInput"];
            };
        };
        responses: {
            /** @description Fees estimate */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["FeesEstimate"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findEvent: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description This field represents the unique identifier sent for this specific event (must be URL encoded). */
                transaction_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Event */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Event"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllFees: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Unique identifier assigned to the customer in your application. */
                external_customer_id?: components["parameters"]["external_customer_id"];
                /** @description External subscription ID */
                external_subscription_id?: components["parameters"]["external_subscription_id"];
                /** @description Filter results by event transaction ID */
                event_transaction_id?: string;
                /** @description Filter results by fee"s currency. */
                currency?: components["schemas"]["Currency"] & unknown;
                /** @description The fee type. Possible values are `add-on`, `charge`, `credit`, `subscription` or "commitment". */
                fee_type?: "charge" | "add_on" | "subscription" | "credit" | "commitment";
                /** @description Filter results by the `code` of the billable metric attached to the fee. Only applies to `charge` types. */
                billable_metric_code?: string;
                /** @description Indicates the payment status of the fee. It represents the current status of the payment associated with the fee. The possible values for this field are `pending`, `succeeded`, `failed` and refunded`. */
                payment_status?: "pending" | "succeeded" | "failed" | "refunded";
                /** @description Filter results created after creation date and time in UTC. */
                created_at_from?: string;
                /** @description Filter results created before creation date and time in UTC. */
                created_at_to?: string;
                /** @description Filter results with payment success after creation date and time in UTC. */
                succeeded_at_from?: string;
                /** @description Filter results with payment success after creation date and time in UTC. */
                succeeded_at_to?: string;
                /** @description Filter results with payment failure after creation date and time in UTC. */
                failed_at_from?: string;
                /** @description Filter results with payment failure after creation date and time in UTC. */
                failed_at_to?: string;
                /** @description Filter results with payment refund after creation date and time in UTC. */
                refunded_at_from?: string;
                /** @description Filter results with payment refund after creation date and time in UTC. */
                refunded_at_to?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["FeesPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findFee: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the fee within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the fee's record within the Lago system. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Fee */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Fee"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updateFee: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the fee within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the fee's record within the Lago system. */
                lago_id: string;
            };
            cookie?: never;
        };
        /** @description Fee payload */
        requestBody?: {
            content: {
                "application/json": components["schemas"]["FeeUpdateInput"];
            };
        };
        responses: {
            /** @description Fee updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Fee"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            405: components["responses"]["NotAllowed"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    deleteFee: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the fee within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the fee's record within the Lago system. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Fee deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Fee"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            405: components["responses"]["NotAllowed"];
        };
    };
    findAllInvoices: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Unique identifier assigned to the customer in your application. */
                external_customer_id?: components["parameters"]["external_customer_id"];
                /** @description Filter invoices of at least a specific amount. This parameter must be defined in cents to ensure consistent handling for all currency types. */
                amount_from?: number;
                /** @description Filter invoices up to a specific amount. This parameter must be defined in cents to ensure consistent handling for all currency types. */
                amount_to?: number;
                /** @description Filter invoices starting from a specific date. */
                issuing_date_from?: string;
                /** @description Filter invoices up to a specific date. */
                issuing_date_to?: string;
                /** @description Filter invoices by statuses. Possible values are `draft`, `failed`, `finalized`, `pending` and `voided`. */
                "statuses[]"?: ("draft" | "finalized" | "failed" | "pending" | "voided")[];
                /** @description Filter invoices by payment statuses. Possible values are `pending`, `failed` or `succeeded`. */
                "payment_statuses[]"?: ("pending" | "failed" | "succeeded")[];
                /** @description Filter invoices by payment_overdue. Possible values are `true` or `false`. */
                payment_overdue?: boolean;
                /** @description Search invoices by id, number, customer name, customer external_id or customer email. */
                search_term?: string;
                /** @description Filter invoices by currency. Possible values ISO 4217 currency codes. */
                currency?: string;
                /** @description Filter invoices with a payment dispute lost. Possible values are `true` or `false`. */
                payment_dispute_lost?: boolean;
                /** @description Filter invoices by invoice type. Possible values are `subscription`, `add_on`, `credit`, `one_off`, `advance_charges` or `progressive_billing`. */
                invoice_type?: "subscription" | "add_on" | "credit" | "one_off" | "advance_charges" | "progressive_billing";
                /** @description Filter invoices by self billed. Possible values are `true` or `false`. */
                self_billed?: boolean;
                /** @description Filter invoices by billing entity codes. Possible values are the billing entity codes you have created. */
                "billing_entity_codes[]"?: string[];
                /** @description Filter invoices by metadata. Replace `key` with the actual metadata key you want to match, and provide the corresponding value. Providing empty value will search for invoice without given metadata key. For example, `metadata[color]=blue`. */
                "metadata[key]"?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Invoices */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["InvoicesPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    createInvoice: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Invoice payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["InvoiceOneOffCreateInput"];
            };
        };
        responses: {
            /** @description Invoice created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Invoice"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findInvoice: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system. */
                lago_id: components["parameters"]["lago_invoice_id"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Invoice */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Invoice"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updateInvoice: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system. */
                lago_id: components["parameters"]["lago_invoice_id"];
            };
            cookie?: never;
        };
        /** @description Update an existing invoice */
        requestBody: {
            content: {
                "application/json": components["schemas"]["InvoiceUpdateInput"];
            };
        };
        responses: {
            /** @description Invoice updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Invoice"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    downloadInvoice: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system. */
                lago_id: components["parameters"]["lago_invoice_id"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Invoice PDF */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Invoice"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    finalizeInvoice: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system. */
                lago_id: components["parameters"]["lago_invoice_id"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Invoice finalized */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Invoice"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    loseDisputeInvoice: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system. */
                lago_id: components["parameters"]["lago_invoice_id"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Invoice payment dispute lost */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Invoice"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            405: components["responses"]["NotAllowed"];
        };
    };
    refreshInvoice: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system. */
                lago_id: components["parameters"]["lago_invoice_id"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Invoice refreshed */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Invoice"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    retryInvoice: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system. */
                lago_id: components["parameters"]["lago_invoice_id"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Invoice generation has been retried */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Invoice"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    invoicePaymentUrl: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system. */
                lago_id: components["parameters"]["lago_invoice_id"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Payment URL has been generated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["InvoicePaymentUrl"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    invoicePreview: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Invoice preview payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["InvoicePreviewInput"];
            };
        };
        responses: {
            /** @description Invoice preview created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Invoice"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    retryPayment: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system. */
                lago_id: components["parameters"]["lago_invoice_id"];
            };
            cookie?: never;
        };
        /** @description Payment method to use for the retry (optional) */
        requestBody?: {
            content: {
                "application/json": {
                    payment_method?: components["schemas"]["PaymentMethodReference"];
                };
            };
        };
        responses: {
            /** @description Invoice payment retried */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            405: components["responses"]["NotAllowed"];
        };
    };
    voidInvoice: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system. */
                lago_id: components["parameters"]["lago_invoice_id"];
            };
            cookie?: never;
        };
        /** @description Void invoice payload */
        requestBody?: {
            content: {
                "application/json": components["schemas"]["InvoiceVoidInput"];
            };
        };
        responses: {
            /** @description Invoice voided */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Invoice"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updateOrganization: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Update an existing organization */
        requestBody: {
            content: {
                "application/json": components["schemas"]["OrganizationUpdateInput"];
            };
        };
        responses: {
            /** @description Successful response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Organization"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findAllPaymentReceipts: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Filter payment receipts by invoice id. */
                invoice_id?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description PaymentReceipts */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PaymentReceiptsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    findPaymentReceipt: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Payment receipt ID */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Payment receipt */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PaymentReceipt"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllPaymentRequests: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Unique identifier assigned to the customer in your application. */
                external_customer_id?: components["parameters"]["external_customer_id"];
                /** @description Filter by payment status. Possible values are `pending`, `failed` or `succeeded`. */
                payment_status?: components["parameters"]["payment_status"];
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description PaymentRequests */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PaymentRequestsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    createPaymentRequest: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description PaymentRequest payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["PaymentRequestCreateInput"];
            };
        };
        responses: {
            /** @description PaymentRequest created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PaymentRequest"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findPaymentRequest: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier of the payment request. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Payment request details */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PaymentRequestObject"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllPayments: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Unique identifier assigned to the customer in your application. */
                external_customer_id?: components["parameters"]["external_customer_id"];
                /** @description Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the invoice's record within the Lago system. */
                invoice_id?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Payments */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PaymentsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    createPayment: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Payment payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["PaymentCreateInput"];
            };
        };
        responses: {
            /** @description Payment created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Payment"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findPayment: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier of the payment. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Payment details */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PaymentObject"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllPlans: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Plans */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PlansPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    createPlan: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Plan payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["PlanCreateInput"];
            };
        };
        responses: {
            /** @description Plan created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Plan"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findPlan: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The code of the plan. It serves as a unique identifier associated with a particular plan. The code is typically used for internal or system-level identification purposes, like assigning a subscription, for instance. */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Plan */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Plan"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updatePlan: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The code of the plan. It serves as a unique identifier associated with a particular plan. The code is typically used for internal or system-level identification purposes, like assigning a subscription, for instance. */
                code: string;
            };
            cookie?: never;
        };
        /** @description Plan payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["PlanUpdateInput"];
            };
        };
        responses: {
            /** @description Plan updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Plan"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    destroyPlan: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The code of the plan. It serves as a unique identifier associated with a particular plan. The code is typically used for internal or system-level identification purposes, like assigning a subscription, for instance. */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Plan deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Plan"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllEntitlements: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of entitlements */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PlanEntitlements"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    createEntitlement: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: string;
            };
            cookie?: never;
        };
        /** @description Entitlement payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["EntitlementUpdateInput"];
            };
        };
        responses: {
            /** @description Entitlement created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PlanEntitlements"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    updateEntitlement: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: string;
            };
            cookie?: never;
        };
        /** @description Entitlement payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["EntitlementUpdateInput"];
            };
        };
        responses: {
            /** @description Entitlement updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PlanEntitlements"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findEntitlement: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: string;
                /** @description Code of the existing feature. */
                feature_code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Entitlement */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PlanEntitlement"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    destroyEntitlement: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: string;
                /** @description Code of the existing feature. */
                feature_code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Entitlement deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PlanEntitlement"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    removeEntitlementPrivilege: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: string;
                /** @description Code of the existing feature. */
                feature_code: string;
                /** @description Code of the privilege to remove from the entitlement. */
                privilege_code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Entitlement with privilege removed */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PlanEntitlement"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    replacePlanMetadata: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The code of the plan. */
                code: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["PlanMetadataResponse"];
            };
        };
        responses: {
            /** @description Plan metadata replaced */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PlanMetadataResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    deleteAllPlanMetadata: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The code of the plan. */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Plan metadata deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PlanMetadataResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    mergePlanMetadata: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The code of the plan. */
                code: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["PlanMetadataResponse"];
            };
        };
        responses: {
            /** @description Plan metadata merged */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PlanMetadataResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    deletePlanMetadataKey: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The code of the plan. */
                code: string;
                /** @description The metadata key to delete. */
                key: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Metadata key deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PlanMetadataResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllPlanCharges: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
            };
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of charges */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ChargesPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    createPlanCharge: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
            };
            cookie?: never;
        };
        /** @description Charge payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["ChargeCreateInput"];
            };
        };
        responses: {
            /** @description Charge created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Charge"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findPlanCharge: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Charge */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Charge"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updatePlanCharge: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
            };
            cookie?: never;
        };
        /** @description Charge payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["ChargeUpdateInput"];
            };
        };
        responses: {
            /** @description Charge updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Charge"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    destroyPlanCharge: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
            };
            cookie?: never;
        };
        /** @description Charge delete payload */
        requestBody?: {
            content: {
                "application/json": components["schemas"]["ChargeDeleteInput"];
            };
        };
        responses: {
            /** @description Charge deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Charge"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllPlanChargeFilters: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
            };
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of charge filters */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ChargeFiltersPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    createPlanChargeFilter: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
            };
            cookie?: never;
        };
        /** @description Charge filter payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["ChargeFilterCreateInput"];
            };
        };
        responses: {
            /** @description Charge filter created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ChargeFilterResponse"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findPlanChargeFilter: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
                /** @description Unique identifier of the charge filter. */
                filter_id: components["parameters"]["charge_filter_id"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Charge filter */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ChargeFilterResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updatePlanChargeFilter: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
                /** @description Unique identifier of the charge filter. */
                filter_id: components["parameters"]["charge_filter_id"];
            };
            cookie?: never;
        };
        /** @description Charge filter payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["ChargeFilterUpdateInput"];
            };
        };
        responses: {
            /** @description Charge filter updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ChargeFilterResponse"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    destroyPlanChargeFilter: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
                /** @description Unique identifier of the charge filter. */
                filter_id: components["parameters"]["charge_filter_id"];
            };
            cookie?: never;
        };
        /** @description Charge filter delete payload */
        requestBody?: {
            content: {
                "application/json": components["schemas"]["ChargeFilterDeleteInput"];
            };
        };
        responses: {
            /** @description Charge filter deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ChargeFilterResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllPlanFixedCharges: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
            };
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of fixed charges */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["FixedChargesPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    createPlanFixedCharge: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
            };
            cookie?: never;
        };
        /** @description Fixed charge payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["FixedChargeCreateInput"];
            };
        };
        responses: {
            /** @description Fixed charge created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["FixedCharge"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findPlanFixedCharge: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
                /** @description Code of the existing fixed charge. */
                fixed_charge_code: components["parameters"]["fixed_charge_code"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Fixed charge */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["FixedCharge"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updatePlanFixedCharge: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
                /** @description Code of the existing fixed charge. */
                fixed_charge_code: components["parameters"]["fixed_charge_code"];
            };
            cookie?: never;
        };
        /** @description Fixed charge payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["FixedChargeUpdateInput"];
            };
        };
        responses: {
            /** @description Fixed charge updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["FixedCharge"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    destroyPlanFixedCharge: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Code of the existing plan. */
                code: components["parameters"]["plan_code"];
                /** @description Code of the existing fixed charge. */
                fixed_charge_code: components["parameters"]["fixed_charge_code"];
            };
            cookie?: never;
        };
        /** @description Fixed charge delete payload */
        requestBody?: {
            content: {
                "application/json": components["schemas"]["FixedChargeDeleteInput"];
            };
        };
        responses: {
            /** @description Fixed charge deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["FixedCharge"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllSubscriptions: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description The customer external unique identifier (provided by your own application) */
                external_customer_id?: string;
                /** @description The unique code representing the plan to be attached to the customer. This code must correspond to the code property of one of the active plans. */
                plan_code?: string;
                /** @description If the field is not defined, Lago will return only `active` subscriptions. However, if you wish to fetch subscriptions by different status you can define them in a status[] query param. Available filter values: `pending`, `canceled`, `terminated`, `active`. */
                "status[]"?: ("active" | "canceled" | "pending" | "terminated")[];
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of subscriptions */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SubscriptionsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    createSubscription: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Subscription payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["SubscriptionCreateInput"];
            };
        };
        responses: {
            /** @description Subscription created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SubscriptionExtended"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findSubscription: {
        parameters: {
            query?: {
                /**
                 * @description By default, this endpoint only return `active` subscriptions. If you want to retrieve a subscription with a different `status`, you can specify it here.
                 *
                 *     _Note: As there may exists multiple `canceled` or `terminated` subscribtions for the same `external_id`, it is recommended to use the "List all subscriptions" endpoint to retrieve those subscriptions._
                 */
                status?: "active" | "terminated" | "pending" | "canceled";
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Subscription */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SubscriptionExtended"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updateSubscription: {
        parameters: {
            query?: {
                /** @description By default, this endpoint only return `active` subscriptions. If you want to update a subscription with a different `status`, you can specify it here. */
                status?: "active" | "pending";
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
            };
            cookie?: never;
        };
        /** @description Update an existing subscription */
        requestBody: {
            content: {
                "application/json": components["schemas"]["SubscriptionUpdateInput"];
            };
        };
        responses: {
            /** @description Subscription updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Subscription"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    destroySubscription: {
        parameters: {
            query?: {
                /** @description If the field is not defined, Lago will terminate only `active` subscriptions. However, if you wish to cancel a `pending` subscription, please ensure that you include `status=pending` in your request. */
                status?: string;
                /**
                 * @description When a pay-in-advance subscription is terminated before the end of its billing period, we generate a credit note for the unused subscription time by default.
                 *     This field allows you to control the behavior of the credit note generation:
                 *
                 *     - `credit`: A credit note is generated for the unused subscription time. The unused amount is credited back to the customer.
                 *     - `refund`: A credit note is generated for the unused subscription time. If the invoice is paid or partially paid, the unused paid amount is refunded; any unpaid unused amount is credited back to the customer.
                 *     - `skip`: No credit note is generated for the unused subscription time.
                 *
                 *     _Note: This field is only applicable to pay-in-advance plans and is ignored for pay-in-arrears plans._
                 */
                on_termination_credit_note?: "credit" | "refund" | "skip";
                /**
                 * @description When a subscription is terminated before the end of its billing period, we generate an invoice for the unbilled usage.
                 *     This field allows you to control the behavior of the invoice generation:
                 *
                 *     - `generate`: An invoice is generated for the unbilled usage.
                 *     - `skip`: No invoice is generated for the unbilled usage.
                 */
                on_termination_invoice?: "generate" | "skip";
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Subscription terminated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Subscription"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    getSubscriptionLifetimeUsage: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Subscription lifetime usage */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["LifetimeUsage"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updateSubscriptionLifetimeUsage: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
            };
            cookie?: never;
        };
        /** @description Update the lifetime usage of a subscription */
        requestBody: {
            content: {
                "application/json": components["schemas"]["LifetimeUsageInput"];
            };
        };
        responses: {
            /** @description Subscription lifetime usage updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["LifetimeUsage"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    getSubscriptionAlerts: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Subscription alerts */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Alerts"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    createSubscriptionAlert: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
            };
            cookie?: never;
        };
        /** @description Create one or more alerts for a subscription */
        requestBody: {
            content: {
                "application/json": components["schemas"]["AlertCreateInput"] | components["schemas"]["AlertBatchCreateInput"];
            };
        };
        responses: {
            /** @description Subscription alert(s) created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Alert"] | components["schemas"]["Alerts"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    deleteAllSubscriptionAlerts: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description All subscription alerts deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    getSubscriptionAlert: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
                /** @description Unique code of the alert */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Subscription alert */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Alert"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updateSubscriptionAlert: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
                /** @description Unique code of the alert */
                code: string;
            };
            cookie?: never;
        };
        /** @description Update an existing alert for a subscription */
        requestBody: {
            content: {
                "application/json": components["schemas"]["AlertUpdateInput"];
            };
        };
        responses: {
            /** @description Subscription alert updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Alert"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    deleteSubscriptionAlert: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
                /** @description Unique code of the alert */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Subscription alert deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Alert"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllSubscriptionEntitlements: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of subscription entitlements */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SubscriptionEntitlements"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updateSubscriptionEntitlements: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
            };
            cookie?: never;
        };
        /** @description Subscription entitlements payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["EntitlementUpdateInput"];
            };
        };
        responses: {
            /** @description Subscription entitlements updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SubscriptionEntitlements"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    destroySubscriptionEntitlement: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
                /** @description Code of the existing feature */
                feature_code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Subscription entitlement removed */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SubscriptionEntitlement"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    destroySubscriptionEntitlementPrivilege: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription */
                external_id: string;
                /** @description Code of the existing feature. */
                feature_code: string;
                /** @description Code of the privilege to remove from the subscription entitlement override. */
                privilege_code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Subscription entitlement with privilege override removed */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SubscriptionEntitlement"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllSubscriptionFixedCharges: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of fixed charges */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["FixedChargesPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllSubscriptionCharges: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of charges */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ChargesPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findSubscriptionCharge: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Charge */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Charge"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    overrideSubscriptionCharge: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
            };
            cookie?: never;
        };
        /** @description Charge override payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["SubscriptionChargeOverride"];
            };
        };
        responses: {
            /** @description Charge override created or updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Charge"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findAllSubscriptionChargeFilters: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of charge filters */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ChargeFiltersPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    createSubscriptionChargeFilter: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
            };
            cookie?: never;
        };
        /** @description Charge filter payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["ChargeFilterCreateInput"];
            };
        };
        responses: {
            /** @description Charge filter created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ChargeFilterResponse"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findSubscriptionChargeFilter: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
                /** @description Unique identifier of the charge filter. */
                filter_id: components["parameters"]["charge_filter_id"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Charge filter */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ChargeFilterResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updateSubscriptionChargeFilter: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
                /** @description Unique identifier of the charge filter. */
                filter_id: components["parameters"]["charge_filter_id"];
            };
            cookie?: never;
        };
        /** @description Charge filter payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["ChargeFilterUpdateInput"];
            };
        };
        responses: {
            /** @description Charge filter updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ChargeFilterResponse"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    destroySubscriptionChargeFilter: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
                /** @description Code of the existing charge. */
                charge_code: components["parameters"]["charge_code"];
                /** @description Unique identifier of the charge filter. */
                filter_id: components["parameters"]["charge_filter_id"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Charge filter deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ChargeFilterResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findSubscriptionFixedCharge: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
                /** @description Code of the existing fixed charge. */
                fixed_charge_code: components["parameters"]["fixed_charge_code"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Fixed Charge */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["FixedCharge"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    overrideSubscriptionFixedCharge: {
        parameters: {
            query?: {
                /** @description Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`. */
                subscription_status?: components["parameters"]["subscription_status"];
            };
            header?: never;
            path: {
                /** @description External ID of the existing subscription. */
                external_id: components["parameters"]["subscription_external_id_path"];
                /** @description Code of the existing fixed charge. */
                fixed_charge_code: components["parameters"]["fixed_charge_code"];
            };
            cookie?: never;
        };
        /** @description Fixed charge override payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["SubscriptionFixedChargeOverride"];
            };
        };
        responses: {
            /** @description Fixed charge override created or updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["FixedCharge"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findAllTaxes: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Taxes */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    /**
                     * @example {
                     *       "taxes": [
                     *         {
                     *           "lago_id": "41190609-391a-4368-9549-d4348a85a8cd",
                     *           "name": "TVA",
                     *           "code": "french_standard_vat",
                     *           "description": "French standard VAT",
                     *           "rate": 20,
                     *           "applied_to_organization": true,
                     *           "created_at": "2023-07-06T14:35:58Z"
                     *         },
                     *         {
                     *           "lago_id": "2e034a10-6652-4daf-a600-b085184f93ad",
                     *           "name": "TVA",
                     *           "code": "french_reduced_vat",
                     *           "description": "French reduce VAT",
                     *           "rate": 5,
                     *           "applied_to_organization": false,
                     *           "created_at": "2023-07-06T14:45:23Z"
                     *         }
                     *       ],
                     *       "meta": {
                     *         "current_page": 1,
                     *         "next_page": null,
                     *         "prev_page": null,
                     *         "total_pages": 1,
                     *         "total_count": 2
                     *       }
                     *     }
                     */
                    "application/json": components["schemas"]["TaxesPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    createTax: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Tax creation payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["TaxCreateInput"];
            };
        };
        responses: {
            /** @description Tax created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Tax"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findTax: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The code of the tax. It serves as a unique identifier associated with a particular tax. The code is typically used for internal or system-level identification purposes. */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Tax */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Tax"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updateTax: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The code of the tax. It serves as a unique identifier associated with a particular tax. The code is typically used for internal or system-level identification purposes. */
                code: string;
            };
            cookie?: never;
        };
        /** @description Tax update payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["TaxUpdateInput"];
            };
        };
        responses: {
            /** @description Tax updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Tax"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    destroyTax: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description The code of the tax. It serves as a unique identifier associated with a particular tax. The code is typically used for internal or system-level identification purposes. */
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Tax deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Tax"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    findAllWallets: {
        parameters: {
            query: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description The customer external unique identifier (provided by your own application). */
                external_customer_id: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Wallets */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
        };
    };
    createWallet: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Wallet payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["WalletCreateInput"];
            };
        };
        responses: {
            /** @description Wallet created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Wallet"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findWallet: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the wallet within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the wallet's record within the Lago system. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Wallet */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Wallet"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
        };
    };
    updateWallet: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the wallet within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the wallet's record within the Lago system. */
                lago_id: string;
            };
            cookie?: never;
        };
        /** @description Wallet update payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["WalletUpdateInput"];
            };
        };
        responses: {
            /** @description Wallet updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Wallet"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    destroyWallet: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the wallet within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the wallet's record within the Lago system. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Wallet terminated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Wallet"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    replaceWalletMetadata: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the wallet within the Lago application. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["WalletMetadataResponse"];
            };
        };
        responses: {
            /** @description Wallet metadata replaced */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletMetadataResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    deleteAllWalletMetadata: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the wallet within the Lago application. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Wallet metadata deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletMetadataResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    mergeWalletMetadata: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the wallet within the Lago application. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["WalletMetadataResponse"];
            };
        };
        responses: {
            /** @description Wallet metadata merged */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletMetadataResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    deleteWalletMetadataKey: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the wallet within the Lago application. */
                lago_id: string;
                /** @description The metadata key to delete. */
                key: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Metadata key deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletMetadataResponse"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    createWalletTransaction: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Wallet transaction payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["WalletTransactionCreateInput"];
            };
        };
        responses: {
            /** @description Wallet transaction created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletTransactions"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findWalletTransaction: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the wallet transaction within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the wallet's record within the Lago system. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Wallet transaction */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletTransactionObject"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
        };
    };
    walletTransactionPaymentUrl: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description ID of the wallet transaction. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Payment URL has been generated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletTransactionPaymentUrl"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findAllWalletTransactionConsumptions: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
            };
            header?: never;
            path: {
                /** @description Unique identifier assigned to the wallet transaction within the Lago application. Must be an inbound wallet transaction. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Wallet transaction consumptions */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletTransactionConsumptionsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findAllWalletTransactionFundings: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
            };
            header?: never;
            path: {
                /** @description Unique identifier assigned to the wallet transaction within the Lago application. Must be an outbound wallet transaction. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Wallet transaction fundings */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletTransactionFundingsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findAllWalletTransactions: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
                /** @description The status of the wallet transaction. Possible values are `pending` or `settled`. */
                status?: string;
                /** @description The transaction status of the wallet transaction. Possible values are `purchased` (with pending or settled status), `granted` (without invoice_id), `voided` or `invoiced`. */
                transaction_status?: string;
                /** @description The transaction type of the wallet transaction. Possible values are `inbound` (increasing the wallet balance) or `outbound` (decreasing the wallet balance). */
                transaction_type?: string;
            };
            header?: never;
            path: {
                /** @description Unique identifier assigned to the wallet within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the wallet's record within the Lago system. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Wallet transactions */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WalletTransactionsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
            403: components["responses"]["Forbidden"];
            404: components["responses"]["NotFound"];
        };
    };
    fetchPublicKey: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Public key */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    findAllWebhookEndpoints: {
        parameters: {
            query?: {
                /** @description Page number. */
                page?: components["parameters"]["page"];
                /** @description Number of records per page. */
                per_page?: components["parameters"]["per_page"];
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description WebhookEndpoints */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WebhookEndpointsPaginated"];
                };
            };
            401: components["responses"]["Unauthorized"];
        };
    };
    createWebhookEndpoint: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Webhook Endpoint payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["WebhookEndpointCreateInput"];
            };
        };
        responses: {
            /** @description Webhook Endpoint created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WebhookEndpoint"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    findWebhookEndpoint: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the webhook endpoint within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the webhook endpoint's record within the Lago system. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description WebhookEndpoint */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WebhookEndpoint"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };
    updateWebhookEndpoint: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the webhook endpoint within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the webhook endpoint's record within the Lago system. */
                lago_id: string;
            };
            cookie?: never;
        };
        /** @description Webhook Endpoint update payload */
        requestBody: {
            content: {
                "application/json": components["schemas"]["WebhookEndpointUpdateInput"];
            };
        };
        responses: {
            /** @description Webhook Endpoint updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WebhookEndpoint"];
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            422: components["responses"]["UnprocessableEntity"];
        };
    };
    destroyWebhookEndpoint: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier assigned to the webhook endpoint within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the webhook endpoint's record within the Lago system. */
                lago_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Webhook Endpoint deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WebhookEndpoint"];
                };
            };
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
            405: components["responses"]["NotAllowed"];
        };
    };
    alertTriggered: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the triggered alert */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "alert.triggered";
                    /** @enum {string} */
                    object_type: "triggered_alert";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    triggered_alert: components["schemas"]["TriggeredAlertObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    customerCreated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the new customer */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "customer.created";
                    /** @enum {string} */
                    object_type: "customer";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    customer: components["schemas"]["CustomerObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    customerUpdated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the customer */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "customer.updated";
                    /** @enum {string} */
                    object_type: "customer";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id?: string;
                    customer: components["schemas"]["CustomerObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    customerAccountingProviderCreated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the customer */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "customer.accounting_provider_created";
                    /** @enum {string} */
                    object_type: "customer";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    customer: components["schemas"]["CustomerObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    customerAccountingProviderError: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the customer and of the provider error */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "customer.accounting_provider_error";
                    /** @enum {string} */
                    object_type: "accounting_provider_customer_error";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    accounting_provider_customer_error: components["schemas"]["CustomerIntegratrionErrorObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    customerCrmProviderCreated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the customer */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "customer.crm_provider_created";
                    /** @enum {string} */
                    object_type: "customer";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    customer: components["schemas"]["CustomerObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    customerCrmProviderError: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the customer and of the CRM provider error */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "customer.crm_provider_error";
                    /** @enum {string} */
                    object_type: "crm_provider_customer_error";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    crm_provider_customer_error: components["schemas"]["CustomerIntegratrionErrorObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    customerPaymentProviderCreated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the customer */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "customer.payment_provider_created";
                    /** @enum {string} */
                    object_type: "customer";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    customer: components["schemas"]["CustomerObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    customerPaymentProviderError: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the customer and of the payment provider error */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "customer.payment_provider_error";
                    /** @enum {string} */
                    object_type: "payment_provider_customer_error";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    payment_provider_customer_error: components["schemas"]["CustomerPaymentProviderErrorObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    customerCheckoutUrlGenerated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the customer with the generated checkout URL */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "customer.checkout_url_generated";
                    /** @enum {string} */
                    object_type: "payment_provider_customer_checkout_url";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    payment_provider_customer_checkout_url: components["schemas"]["CustomerCheckoutUrl"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    customerTaxProviderError: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the customer and of the tax provider error */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "customer.tax_provider_error";
                    /** @enum {string} */
                    object_type: "tax_provider_customer_error";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    tax_provider_customer_error: components["schemas"]["CustomerTaxProviderErrorObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    customerViesCheck: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the customer with the VIES VAT check status */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "customer.vies_check";
                    /** @enum {string} */
                    object_type: "customer";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    customer: components["schemas"]["CustomerViesCheckObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    creditNoteCreated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the new credit note */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "credit_note.created";
                    /** @enum {string} */
                    object_type: "credit_note";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    credit_note: components["schemas"]["CreditNoteExtendedObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    creditNoteGenerated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the credit note */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "credit_note.generated";
                    /** @enum {string} */
                    object_type: "credit_note";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    credit_note: components["schemas"]["CreditNoteExtendedObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    creditNoteProviderRefundFailure: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the credit note and of the provider error */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "credit_note.refund_failure";
                    /** @enum {string} */
                    object_type: "credit_note_payment_provider_refund_error";
                    credit_note_payment_provider_refund_error: components["schemas"]["CreditNotePaymentProviderRefundError"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    dunningCampaignFinished: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the finished dunning campaign and the overdue balance */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "dunning_campaign.finished";
                    /** @enum {string} */
                    object_type: "dunning_campaign";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    dunning_campaign: components["schemas"]["DunningCampaignFinishedObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    eventError: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the event and of the error */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "event.error";
                    /** @enum {string} */
                    object_type: "event_error";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    event_error: components["schemas"]["EventErrorsObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    eventsErrors: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the events errors */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "events.errors";
                    /** @enum {string} */
                    object_type: "events_errors";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    events_errors: components["schemas"]["EventsErrorsObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    featureCreated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the new feature */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "feature.created";
                    /** @enum {string} */
                    object_type: "feature";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    feature: components["schemas"]["FeatureObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    featureUpdated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the feature */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "feature.updated";
                    /** @enum {string} */
                    object_type: "feature";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    feature: components["schemas"]["FeatureObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    featureDeleted: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the feature */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "feature.deleted";
                    /** @enum {string} */
                    object_type: "feature";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    feature: components["schemas"]["FeatureObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    feeCreated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the new fee */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "fee.created";
                    /** @enum {string} */
                    object_type: "fee";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    fee: components["schemas"]["FeeObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    feeTaxProviderError: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the fee and of the tax provider error */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "fee.tax_provider_error";
                    /** @enum {string} */
                    object_type: "tax_provider_fee_error";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    tax_provider_fee_error: components["schemas"]["FeeTaxProviderErrorObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    invoiceCreated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the new invoice */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "invoice.created";
                    /** @enum {string} */
                    object_type: "invoice";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    invoice: components["schemas"]["InvoiceObjectExtended"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    invoiceOneOffCreated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the new invoice */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "invoice.one_off_created";
                    /** @enum {string} */
                    object_type: "invoice";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    invoice: components["schemas"]["InvoiceObjectExtended"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    invoiceAddOnAdded: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the new invoice */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "invoice.add_on_added";
                    /** @enum {string} */
                    object_type: "invoice";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    invoice: components["schemas"]["InvoiceObjectExtended"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    invoicePaidCreditAdded: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the new invoice */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "invoice.paid_credit_added";
                    /** @enum {string} */
                    object_type: "invoice";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    invoice: components["schemas"]["InvoiceObjectExtended"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    invoiceGenerated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the invoice */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "invoice.generated";
                    /** @enum {string} */
                    object_type: "invoice";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    invoice: components["schemas"]["InvoiceObjectExtended"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    invoiceDrafted: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the new invoice */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "invoice.drafted";
                    /** @enum {string} */
                    object_type: "invoice";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    invoice: components["schemas"]["InvoiceObjectExtended"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    invoiceVoided: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the invoice */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "invoice.voided";
                    /** @enum {string} */
                    object_type: "invoice";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    invoice: components["schemas"]["InvoiceObjectExtended"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    invoicePaymentDisputeLost: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the invoice and of the payment dispute */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "invoice.payment_dispute_lost";
                    /** @enum {string} */
                    object_type: "payment_dispute_lost";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    payment_dispute_lost: components["schemas"]["InvoicePaymentDisputeLostObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    invoicePaymentStatusUpdated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the invoice */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "invoice.payment_status_updated";
                    /** @enum {string} */
                    object_type: "invoice";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    invoice: components["schemas"]["InvoiceObjectExtended"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    invoicePaymentOverdue: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the invoice */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "invoice.payment_overdue";
                    /** @enum {string} */
                    object_type: "invoice";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    invoice: components["schemas"]["InvoiceObjectExtended"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    invoicePaymentFailure: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the invoice and of the payment provider error */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "invoice.payment_failure";
                    /** @enum {string} */
                    object_type: "payment_provider_invoice_payment_error";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    payment_provider_invoice_payment_error: components["schemas"]["InvoicePaymentFailureObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    invoiceResynced: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the invoice */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "invoice.resynced";
                    /** @enum {string} */
                    object_type: "invoice";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    invoice: components["schemas"]["InvoiceObjectExtended"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    integrationProviderError: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the integration and of the integration error */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "integration.provider_error";
                    /** @enum {string} */
                    object_type: "provider_error";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    provider_error: components["schemas"]["IntegrationProviderErrorObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    paymentRequiresAction: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the payment and of the required action */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "payment.requires_action";
                    /** @enum {string} */
                    object_type: "payment";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    payment: components["schemas"]["PaymentObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    paymentSucceeded: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the successfully processed payment */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "payment.succeeded";
                    /** @enum {string} */
                    object_type: "payment";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    payment: components["schemas"]["PaymentObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    paymentProviderError: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the payment provider and of the error */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "payment_provider.error";
                    /** @enum {string} */
                    object_type: "payment_provider_error";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    payment_provider_error: components["schemas"]["PaymentProviderErrorObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    paymentRequestCreated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the new payment request */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "payment_request.created";
                    /** @enum {string} */
                    object_type: "payment_request";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    payment_request: components["schemas"]["PaymentRequestObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    paymentRequestPaymentFailure: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the payment request and of the provider error */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "payment_request.payment_failure";
                    /** @enum {string} */
                    object_type: "payment_provider_payment_request_payment_error";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    payment_provider_payment_request_payment_error: components["schemas"]["PaymentRequestPaymentFailureObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    paymentRequestPaymentStatusUpdated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the payment request */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "payment_request.payment_status_updated";
                    /** @enum {string} */
                    object_type: "payment_request";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    payment_request: components["schemas"]["PaymentRequestObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    planCreated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the new plan */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "plan.created";
                    /** @enum {string} */
                    object_type: "plan";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    plan: components["schemas"]["PlanObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    planUpdated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the plan */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "plan.updated";
                    /** @enum {string} */
                    object_type: "plan";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    plan: components["schemas"]["PlanObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    planDeleted: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the plan */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "plan.deleted";
                    /** @enum {string} */
                    object_type: "plan";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    plan: components["schemas"]["PlanObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    subscriptionTerminated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the subscription */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "subscription.terminated";
                    /** @enum {string} */
                    object_type: "subscription";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    subscription: components["schemas"]["SubscriptionWithCustomerObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    subscriptionStarted: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the subscription */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "subscription.started";
                    /** @enum {string} */
                    object_type: "subscription";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    subscription: components["schemas"]["SubscriptionWithCustomerObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    subscriptionUpdated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the subscription */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "subscription.updated";
                    /** @enum {string} */
                    object_type: "subscription";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    subscription: components["schemas"]["SubscriptionWithCustomerObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    subscriptionTerminationAlert: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the subscription */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "subscription.termination_alert";
                    /** @enum {string} */
                    object_type: "subscription";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    subscription: components["schemas"]["SubscriptionWithCustomerObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    subscriptionTrialEnded: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the subscription */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "subscription.trial_ended";
                    /** @enum {string} */
                    object_type: "subscription";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    subscription: components["schemas"]["SubscriptionWithCustomerObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    subscriptionUsageThresholdReached: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the subscription and of the reached threshold */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "subscription.usage_threshold_reached";
                    /** @enum {string} */
                    object_type: "subscription";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    subscription: components["schemas"]["SubscriptionWithThresholdObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    walletDepletedOngoingBalance: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the wallet */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "wallet.depleted_ongoing_balance";
                    /** @enum {string} */
                    object_type: "wallet";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    wallet: components["schemas"]["WalletObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    walletTransactionCreated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the wallet transaction */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "wallet_transaction.created";
                    /** @enum {string} */
                    object_type: "wallet_transaction";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    wallet_transaction: components["schemas"]["WalletTransactionObjectExtended"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    walletTransactionUpdated: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the wallet transaction */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "wallet_transaction.updated";
                    /** @enum {string} */
                    object_type: "wallet_transaction";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    wallet_transaction: components["schemas"]["WalletTransactionObjectExtended"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    walletTransactionPaymentFailure: {
        parameters: {
            query?: never;
            header: {
                /** @description Signature of the webhook payload */
                "X-Lago-Signature": components["parameters"]["webhook_signature"];
                /** @description Algorithm used to generate the signature */
                "X-Lago-Signature-Algorithm": components["parameters"]["webhook_signature_algorithm"];
                /** @description Unique id of the webhook. It can be used for idempotency */
                "X-Lago-Unique-Key": components["parameters"]["webhook_unique_key"];
            };
            path?: never;
            cookie?: never;
        };
        /** @description Details of the wallet transaction and of the provider error */
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    webhook_type: "wallet_transaction.payment_failure";
                    /** @enum {string} */
                    object_type: "payment_provider_wallet_transaction_payment_error";
                    /**
                     * Format: uuid
                     * @description Unique identifier of the organization, created by Lago.
                     * @example 1a901a90-1a90-1a90-1a90-1a901a901a90
                     */
                    organization_id: string;
                    payment_provider_wallet_transaction_payment_error: components["schemas"]["WalletTransactionPaymentFailureObject"];
                };
            };
        };
        responses: {
            /** @description Return a 200 status to indicate that the data was received successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
}
