lago-javascript-client 1.33.4 → 1.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2093,6 +2093,11 @@ export interface FeeObject {
2093
2093
  * @example "312.5"
2094
2094
  */
2095
2095
  precise_unit_amount: string;
2096
+ /**
2097
+ * The total number of units that have been aggregated for this specific fee.
2098
+ * @example "0.32"
2099
+ */
2100
+ total_aggregated_units: string;
2096
2101
  /**
2097
2102
  * The cost of this specific fee, including any applicable taxes.
2098
2103
  * @example 120
@@ -2240,7 +2245,7 @@ export interface FeeObject {
2240
2245
  */
2241
2246
  lago_item_id: string;
2242
2247
  /**
2243
- * The type of the fee item. Possible values are `AddOn`, `BillableMetric`, `WalletTransaction`, `Subscription` or `Commitment`.
2248
+ * The type of the fee item. Possible values are `AddOn`, `BillableMetric`, `WalletTransaction`, `Subscription`.
2244
2249
  * @example "Subscription"
2245
2250
  */
2246
2251
  item_type: "AddOn" | "BillableMetric" | "Subscription" | "WalletTransaction";
@@ -3876,6 +3881,11 @@ export interface WalletRecurringTransactionRule {
3876
3881
  * @example "Tokens for models 'high-fidelity-boost'"
3877
3882
  */
3878
3883
  transaction_name: string | null;
3884
+ /**
3885
+ * When true, allows rule to topped up wallet with transactions that exceed the paid top-up limits. Defaults to false.
3886
+ * @example false
3887
+ */
3888
+ ignore_paid_top_up_limits: boolean;
3879
3889
  }
3880
3890
  export interface WalletObject {
3881
3891
  /**
@@ -4005,6 +4015,16 @@ export interface WalletObject {
4005
4015
  * @example "2.0"
4006
4016
  */
4007
4017
  credits_ongoing_usage_balance: string;
4018
+ /**
4019
+ * Minimum amount of cents that can be top-up with a single paid transaction.
4020
+ * @example 100
4021
+ */
4022
+ paid_top_up_min_amount_cents?: number | null;
4023
+ /**
4024
+ * Maximum amount of cents that can be top-up with a single paid transaction.
4025
+ * @example 1000
4026
+ */
4027
+ paid_top_up_max_amount_cents?: number | null;
4008
4028
  }
4009
4029
  export interface WalletsPaginated {
4010
4030
  wallets: WalletObject[];
@@ -4036,6 +4056,12 @@ export type CustomerChargeFiltersUsageObject = {
4036
4056
  * @example "0.9"
4037
4057
  */
4038
4058
  units?: string;
4059
+ /**
4060
+ * The total number of units consumed by the customer for a specific charge item, aggregated across all usage events.
4061
+ * @pattern ^[0-9]+.?[0-9]*$
4062
+ * @example "1.0"
4063
+ */
4064
+ total_aggregated_units?: string;
4039
4065
  /**
4040
4066
  * The amount in cents, tax excluded, consumed for a specific charge filter related to a charge item.
4041
4067
  * @example 1000
@@ -4077,6 +4103,12 @@ export type CustomerChargeGroupedUsageObject = {
4077
4103
  * @example "0.9"
4078
4104
  */
4079
4105
  units?: string;
4106
+ /**
4107
+ * The total number of units consumed by the customer for a specific charge item, aggregated across all usage events.
4108
+ * @pattern ^[0-9]+.?[0-9]*$
4109
+ * @example "1.0"
4110
+ */
4111
+ total_aggregated_units?: string;
4080
4112
  /** Details about the pricing unit used for charge usage. */
4081
4113
  pricing_unit_details?: UsagePricingUnitDetailsObject;
4082
4114
  /** Key value list of event properties aggregated by the charge model */
@@ -4091,6 +4123,12 @@ export interface CustomerChargeUsageObject {
4091
4123
  * @example "1.0"
4092
4124
  */
4093
4125
  units: string;
4126
+ /**
4127
+ * The total number of units consumed by the customer for a specific charge item, aggregated across all usage events.
4128
+ * @pattern ^[0-9]+.?[0-9]*$
4129
+ * @example "1.0"
4130
+ */
4131
+ total_aggregated_units: string;
4094
4132
  /**
4095
4133
  * 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.
4096
4134
  * @example 10
@@ -6156,28 +6194,28 @@ export interface PlanOverridesObject {
6156
6194
  usage_thresholds?: UsageThresholdInput[];
6157
6195
  }
6158
6196
  export interface SubscriptionCreateInput {
6159
- subscription: {
6197
+ /**
6198
+ * 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.
6199
+ *
6200
+ * Important notes:
6201
+ * - The final amount due for the subscription is not known at the time of creation; it is determined only after the invoice is finalized.
6202
+ * - The payment intent generated for pre-authorization cannot be reused, as the final invoice amount may exceed the authorized amount.
6203
+ * - The payment intent is canceled immediately after creation, but this cancellation occurs asynchronously.
6204
+ * - 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.
6205
+ */
6206
+ authorization?: {
6160
6207
  /**
6161
- * 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.
6162
- *
6163
- * Important notes:
6164
- * - The final amount due for the subscription is not known at the time of creation; it is determined only after the invoice is finalized.
6165
- * - The payment intent generated for pre-authorization cannot be reused, as the final invoice amount may exceed the authorized amount.
6166
- * - The payment intent is canceled immediately after creation, but this cancellation occurs asynchronously.
6167
- * - 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.
6208
+ * The amount of the authorization in cents.
6209
+ * @example 1000
6168
6210
  */
6169
- authorization?: {
6170
- /**
6171
- * The amount of the authorization in cents.
6172
- * @example 1000
6173
- */
6174
- amount_cents: number;
6175
- /**
6176
- * The currency of the authorization.
6177
- * @example "USD"
6178
- */
6179
- amount_currency: string;
6180
- };
6211
+ amount_cents: number;
6212
+ /**
6213
+ * The currency of the authorization.
6214
+ * @example "USD"
6215
+ */
6216
+ amount_currency: string;
6217
+ };
6218
+ subscription: {
6181
6219
  /**
6182
6220
  * The code of the billing entity to be used for the subscription. If not provided, the default billing entity will be used.
6183
6221
  * @example "default"
@@ -6625,6 +6663,21 @@ export interface WalletCreateInput {
6625
6663
  */
6626
6664
  billable_metric_codes?: any[] | null;
6627
6665
  };
6666
+ /**
6667
+ * Minimum amount of cents that can be top-up with a single paid transaction.
6668
+ * @example 100
6669
+ */
6670
+ paid_top_up_min_amount_cents?: number | null;
6671
+ /**
6672
+ * Maximum amount of cents that can be top-up with a single paid transaction.
6673
+ * @example 1000
6674
+ */
6675
+ paid_top_up_max_amount_cents?: number | null;
6676
+ /**
6677
+ * If set to true, the wallet will ignore paid top-up limits on creation.
6678
+ * @example false
6679
+ */
6680
+ ignore_paid_top_up_limits_on_creation?: boolean | null;
6628
6681
  /** List of recurring transaction rules. Currently, we only allow one recurring rule per wallet. */
6629
6682
  recurring_transaction_rules?: any[] | null;
6630
6683
  };
@@ -6783,6 +6836,11 @@ export interface WalletTransactionCreateInput {
6783
6836
  * @example false
6784
6837
  */
6785
6838
  invoice_requires_successful_payment?: boolean;
6839
+ /**
6840
+ * When true, allows topping up the wallet with transactions that exceed the paid top-up limits. Defaults to false.
6841
+ * @example false
6842
+ */
6843
+ ignore_paid_top_up_limits?: boolean;
6786
6844
  /**
6787
6845
  * This optional field allows you to store a list of key-value pairs that hold additional information or custom attributes related to the data.
6788
6846
  * @example [{"key":"example key","value":"example value"},{"key":"another key","value":"another value"}]
@@ -7468,7 +7526,7 @@ export declare class HttpClient<SecurityDataType = unknown> {
7468
7526
  }
7469
7527
  /**
7470
7528
  * @title Lago API documentation
7471
- * @version 1.33.3
7529
+ * @version 1.36.0
7472
7530
  * @license AGPLv3
7473
7531
  * @baseUrl https://api.getlago.com/api/v1
7474
7532
  * @externalDocs https://github.com/getlago
@@ -8344,6 +8402,51 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
8344
8402
  * @example ["billing_entity_code_1","billing_entity_code_2"]
8345
8403
  */
8346
8404
  "billing_entity_codes[]"?: string[];
8405
+ /**
8406
+ * Filter customers by search term. This will filter all customers whose name, firstname, lastname, legal name, external id or email contain the search term.
8407
+ * @example "John Doe"
8408
+ */
8409
+ search_term?: string;
8410
+ /**
8411
+ * Filter customers by countries. Possible values are the ISO 3166-1 alpha-2 codes.
8412
+ * @example ["US","FR"]
8413
+ */
8414
+ "countries[]"?: Country[];
8415
+ /**
8416
+ * Filter customers by states.
8417
+ * @example ["CA","Paris"]
8418
+ */
8419
+ "states[]"?: string[];
8420
+ /**
8421
+ * Filter customers by zipcodes.
8422
+ * @example ["10115","75001"]
8423
+ */
8424
+ "zipcodes[]"?: string[];
8425
+ /**
8426
+ * Filter customers by currencies.
8427
+ * @example ["USD","EUR"]
8428
+ */
8429
+ "currencies[]"?: Currency[];
8430
+ /**
8431
+ * Filter customers by whether they have a tax identification number or not.
8432
+ * @example true
8433
+ */
8434
+ has_tax_identification_number?: boolean;
8435
+ /**
8436
+ * 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]=`.
8437
+ * @example "value"
8438
+ */
8439
+ "metadata[key]"?: string;
8440
+ /**
8441
+ * Filter customers by customer type.
8442
+ * @example "company"
8443
+ */
8444
+ customer_type?: "company" | "individual";
8445
+ /**
8446
+ * Filter customers by whether they have a customer type or not.
8447
+ * @example true
8448
+ */
8449
+ has_customer_type?: boolean;
8347
8450
  }, params?: RequestParams) => Promise<HttpResponse<CustomersPaginated, ApiErrorUnauthorized>>;
8348
8451
  /**
8349
8452
  * @description This endpoint retrieves an existing customer.
@@ -8799,6 +8902,11 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
8799
8902
  * @example "event-123"
8800
8903
  */
8801
8904
  code?: string;
8905
+ /**
8906
+ * Requires `external_subscription_id` to be set. Filter events by timestamp after the subscription started at datetime.
8907
+ * @example true
8908
+ */
8909
+ timestamp_from_started_at?: boolean;
8802
8910
  /**
8803
8911
  * Filter events by timestamp starting from a specific date.
8804
8912
  * @format date-time
@@ -148,7 +148,7 @@ export class HttpClient {
148
148
  }
149
149
  /**
150
150
  * @title Lago API documentation
151
- * @version 1.33.3
151
+ * @version 1.36.0
152
152
  * @license AGPLv3
153
153
  * @baseUrl https://api.getlago.com/api/v1
154
154
  * @externalDocs https://github.com/getlago
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "main": "./script/mod.js",
4
4
  "name": "lago-javascript-client",
5
5
  "sideEffects": false,
6
- "version": "v1.33.4",
6
+ "version": "v1.36.0",
7
7
  "description": "Lago JavaScript API Client",
8
8
  "repository": {
9
9
  "type": "git",
@@ -2093,6 +2093,11 @@ export interface FeeObject {
2093
2093
  * @example "312.5"
2094
2094
  */
2095
2095
  precise_unit_amount: string;
2096
+ /**
2097
+ * The total number of units that have been aggregated for this specific fee.
2098
+ * @example "0.32"
2099
+ */
2100
+ total_aggregated_units: string;
2096
2101
  /**
2097
2102
  * The cost of this specific fee, including any applicable taxes.
2098
2103
  * @example 120
@@ -2240,7 +2245,7 @@ export interface FeeObject {
2240
2245
  */
2241
2246
  lago_item_id: string;
2242
2247
  /**
2243
- * The type of the fee item. Possible values are `AddOn`, `BillableMetric`, `WalletTransaction`, `Subscription` or `Commitment`.
2248
+ * The type of the fee item. Possible values are `AddOn`, `BillableMetric`, `WalletTransaction`, `Subscription`.
2244
2249
  * @example "Subscription"
2245
2250
  */
2246
2251
  item_type: "AddOn" | "BillableMetric" | "Subscription" | "WalletTransaction";
@@ -3876,6 +3881,11 @@ export interface WalletRecurringTransactionRule {
3876
3881
  * @example "Tokens for models 'high-fidelity-boost'"
3877
3882
  */
3878
3883
  transaction_name: string | null;
3884
+ /**
3885
+ * When true, allows rule to topped up wallet with transactions that exceed the paid top-up limits. Defaults to false.
3886
+ * @example false
3887
+ */
3888
+ ignore_paid_top_up_limits: boolean;
3879
3889
  }
3880
3890
  export interface WalletObject {
3881
3891
  /**
@@ -4005,6 +4015,16 @@ export interface WalletObject {
4005
4015
  * @example "2.0"
4006
4016
  */
4007
4017
  credits_ongoing_usage_balance: string;
4018
+ /**
4019
+ * Minimum amount of cents that can be top-up with a single paid transaction.
4020
+ * @example 100
4021
+ */
4022
+ paid_top_up_min_amount_cents?: number | null;
4023
+ /**
4024
+ * Maximum amount of cents that can be top-up with a single paid transaction.
4025
+ * @example 1000
4026
+ */
4027
+ paid_top_up_max_amount_cents?: number | null;
4008
4028
  }
4009
4029
  export interface WalletsPaginated {
4010
4030
  wallets: WalletObject[];
@@ -4036,6 +4056,12 @@ export type CustomerChargeFiltersUsageObject = {
4036
4056
  * @example "0.9"
4037
4057
  */
4038
4058
  units?: string;
4059
+ /**
4060
+ * The total number of units consumed by the customer for a specific charge item, aggregated across all usage events.
4061
+ * @pattern ^[0-9]+.?[0-9]*$
4062
+ * @example "1.0"
4063
+ */
4064
+ total_aggregated_units?: string;
4039
4065
  /**
4040
4066
  * The amount in cents, tax excluded, consumed for a specific charge filter related to a charge item.
4041
4067
  * @example 1000
@@ -4077,6 +4103,12 @@ export type CustomerChargeGroupedUsageObject = {
4077
4103
  * @example "0.9"
4078
4104
  */
4079
4105
  units?: string;
4106
+ /**
4107
+ * The total number of units consumed by the customer for a specific charge item, aggregated across all usage events.
4108
+ * @pattern ^[0-9]+.?[0-9]*$
4109
+ * @example "1.0"
4110
+ */
4111
+ total_aggregated_units?: string;
4080
4112
  /** Details about the pricing unit used for charge usage. */
4081
4113
  pricing_unit_details?: UsagePricingUnitDetailsObject;
4082
4114
  /** Key value list of event properties aggregated by the charge model */
@@ -4091,6 +4123,12 @@ export interface CustomerChargeUsageObject {
4091
4123
  * @example "1.0"
4092
4124
  */
4093
4125
  units: string;
4126
+ /**
4127
+ * The total number of units consumed by the customer for a specific charge item, aggregated across all usage events.
4128
+ * @pattern ^[0-9]+.?[0-9]*$
4129
+ * @example "1.0"
4130
+ */
4131
+ total_aggregated_units: string;
4094
4132
  /**
4095
4133
  * 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.
4096
4134
  * @example 10
@@ -6156,28 +6194,28 @@ export interface PlanOverridesObject {
6156
6194
  usage_thresholds?: UsageThresholdInput[];
6157
6195
  }
6158
6196
  export interface SubscriptionCreateInput {
6159
- subscription: {
6197
+ /**
6198
+ * 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.
6199
+ *
6200
+ * Important notes:
6201
+ * - The final amount due for the subscription is not known at the time of creation; it is determined only after the invoice is finalized.
6202
+ * - The payment intent generated for pre-authorization cannot be reused, as the final invoice amount may exceed the authorized amount.
6203
+ * - The payment intent is canceled immediately after creation, but this cancellation occurs asynchronously.
6204
+ * - 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.
6205
+ */
6206
+ authorization?: {
6160
6207
  /**
6161
- * 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.
6162
- *
6163
- * Important notes:
6164
- * - The final amount due for the subscription is not known at the time of creation; it is determined only after the invoice is finalized.
6165
- * - The payment intent generated for pre-authorization cannot be reused, as the final invoice amount may exceed the authorized amount.
6166
- * - The payment intent is canceled immediately after creation, but this cancellation occurs asynchronously.
6167
- * - 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.
6208
+ * The amount of the authorization in cents.
6209
+ * @example 1000
6168
6210
  */
6169
- authorization?: {
6170
- /**
6171
- * The amount of the authorization in cents.
6172
- * @example 1000
6173
- */
6174
- amount_cents: number;
6175
- /**
6176
- * The currency of the authorization.
6177
- * @example "USD"
6178
- */
6179
- amount_currency: string;
6180
- };
6211
+ amount_cents: number;
6212
+ /**
6213
+ * The currency of the authorization.
6214
+ * @example "USD"
6215
+ */
6216
+ amount_currency: string;
6217
+ };
6218
+ subscription: {
6181
6219
  /**
6182
6220
  * The code of the billing entity to be used for the subscription. If not provided, the default billing entity will be used.
6183
6221
  * @example "default"
@@ -6625,6 +6663,21 @@ export interface WalletCreateInput {
6625
6663
  */
6626
6664
  billable_metric_codes?: any[] | null;
6627
6665
  };
6666
+ /**
6667
+ * Minimum amount of cents that can be top-up with a single paid transaction.
6668
+ * @example 100
6669
+ */
6670
+ paid_top_up_min_amount_cents?: number | null;
6671
+ /**
6672
+ * Maximum amount of cents that can be top-up with a single paid transaction.
6673
+ * @example 1000
6674
+ */
6675
+ paid_top_up_max_amount_cents?: number | null;
6676
+ /**
6677
+ * If set to true, the wallet will ignore paid top-up limits on creation.
6678
+ * @example false
6679
+ */
6680
+ ignore_paid_top_up_limits_on_creation?: boolean | null;
6628
6681
  /** List of recurring transaction rules. Currently, we only allow one recurring rule per wallet. */
6629
6682
  recurring_transaction_rules?: any[] | null;
6630
6683
  };
@@ -6783,6 +6836,11 @@ export interface WalletTransactionCreateInput {
6783
6836
  * @example false
6784
6837
  */
6785
6838
  invoice_requires_successful_payment?: boolean;
6839
+ /**
6840
+ * When true, allows topping up the wallet with transactions that exceed the paid top-up limits. Defaults to false.
6841
+ * @example false
6842
+ */
6843
+ ignore_paid_top_up_limits?: boolean;
6786
6844
  /**
6787
6845
  * This optional field allows you to store a list of key-value pairs that hold additional information or custom attributes related to the data.
6788
6846
  * @example [{"key":"example key","value":"example value"},{"key":"another key","value":"another value"}]
@@ -7468,7 +7526,7 @@ export declare class HttpClient<SecurityDataType = unknown> {
7468
7526
  }
7469
7527
  /**
7470
7528
  * @title Lago API documentation
7471
- * @version 1.33.3
7529
+ * @version 1.36.0
7472
7530
  * @license AGPLv3
7473
7531
  * @baseUrl https://api.getlago.com/api/v1
7474
7532
  * @externalDocs https://github.com/getlago
@@ -8344,6 +8402,51 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
8344
8402
  * @example ["billing_entity_code_1","billing_entity_code_2"]
8345
8403
  */
8346
8404
  "billing_entity_codes[]"?: string[];
8405
+ /**
8406
+ * Filter customers by search term. This will filter all customers whose name, firstname, lastname, legal name, external id or email contain the search term.
8407
+ * @example "John Doe"
8408
+ */
8409
+ search_term?: string;
8410
+ /**
8411
+ * Filter customers by countries. Possible values are the ISO 3166-1 alpha-2 codes.
8412
+ * @example ["US","FR"]
8413
+ */
8414
+ "countries[]"?: Country[];
8415
+ /**
8416
+ * Filter customers by states.
8417
+ * @example ["CA","Paris"]
8418
+ */
8419
+ "states[]"?: string[];
8420
+ /**
8421
+ * Filter customers by zipcodes.
8422
+ * @example ["10115","75001"]
8423
+ */
8424
+ "zipcodes[]"?: string[];
8425
+ /**
8426
+ * Filter customers by currencies.
8427
+ * @example ["USD","EUR"]
8428
+ */
8429
+ "currencies[]"?: Currency[];
8430
+ /**
8431
+ * Filter customers by whether they have a tax identification number or not.
8432
+ * @example true
8433
+ */
8434
+ has_tax_identification_number?: boolean;
8435
+ /**
8436
+ * 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]=`.
8437
+ * @example "value"
8438
+ */
8439
+ "metadata[key]"?: string;
8440
+ /**
8441
+ * Filter customers by customer type.
8442
+ * @example "company"
8443
+ */
8444
+ customer_type?: "company" | "individual";
8445
+ /**
8446
+ * Filter customers by whether they have a customer type or not.
8447
+ * @example true
8448
+ */
8449
+ has_customer_type?: boolean;
8347
8450
  }, params?: RequestParams) => Promise<HttpResponse<CustomersPaginated, ApiErrorUnauthorized>>;
8348
8451
  /**
8349
8452
  * @description This endpoint retrieves an existing customer.
@@ -8799,6 +8902,11 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
8799
8902
  * @example "event-123"
8800
8903
  */
8801
8904
  code?: string;
8905
+ /**
8906
+ * Requires `external_subscription_id` to be set. Filter events by timestamp after the subscription started at datetime.
8907
+ * @example true
8908
+ */
8909
+ timestamp_from_started_at?: boolean;
8802
8910
  /**
8803
8911
  * Filter events by timestamp starting from a specific date.
8804
8912
  * @format date-time
@@ -152,7 +152,7 @@ class HttpClient {
152
152
  exports.HttpClient = HttpClient;
153
153
  /**
154
154
  * @title Lago API documentation
155
- * @version 1.33.3
155
+ * @version 1.36.0
156
156
  * @license AGPLv3
157
157
  * @baseUrl https://api.getlago.com/api/v1
158
158
  * @externalDocs https://github.com/getlago