lago-javascript-client 1.53.0 → 1.55.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.
@@ -1,5 +1,5 @@
1
1
  /** @example "USD" */
2
- export type 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";
2
+ export type 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" | "SYP" | "SZL" | "THB" | "TJS" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "UYU" | "UZS" | "VND" | "VUV" | "WST" | "XAF" | "XCD" | "XOF" | "XPF" | "YER" | "ZAR" | "ZMW";
3
3
  /** @example "US" */
4
4
  export type CountryOrNull = "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";
5
5
  /** @example "America/Los_Angeles" */
@@ -629,8 +629,8 @@ export interface ActivityLogObject {
629
629
  */
630
630
  user_email?: string | null;
631
631
  /**
632
- * This field stores the actitivy action that was performed to the activity_object.
633
- * @example "billing_metric.created"
632
+ * This field stores the activity action that was performed on the activity_object.
633
+ * @example "billable_metric.created"
634
634
  */
635
635
  activity_type: string;
636
636
  /**
@@ -670,12 +670,6 @@ export interface ActivityLogObject {
670
670
  * @example "BillableMetric"
671
671
  */
672
672
  resource_type: string;
673
- /**
674
- * Unique identifier for the organization associated with the activity log.
675
- * @format uuid
676
- * @example "1a901a90-1a90-1a90-1a90-1a901a901a90"
677
- */
678
- organization_id: string;
679
673
  /**
680
674
  * 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
681
675
  * @format date-time
@@ -844,10 +838,10 @@ export interface ApiLogObject {
844
838
  */
845
839
  logged_at: string;
846
840
  /**
847
- * @format object
848
- * @example "{ "billable_metric": { "name": "Storage", "code": "storage" } }"
841
+ * The parameters of the request, keyed by their top-level name. Nested values are returned JSON-encoded.
842
+ * @example {"billable_metric":"{\"name\":\"Storage\",\"code\":\"storage\"}"}
849
843
  */
850
- request_body: string;
844
+ request_body: Record<string, any>;
851
845
  /**
852
846
  * This field represents the API origin of the requested URL
853
847
  * @example "https://app.lago.dev/"
@@ -871,10 +865,10 @@ export interface ApiLogObject {
871
865
  */
872
866
  request_id: string;
873
867
  /**
874
- * @format object
875
- * @example "{ "lago_id": "b9155544-e261-4e92-b54e-f65d7609294c", ... }"
868
+ * The body Lago returned for the request, keyed by its top-level name. Nested values are returned JSON-encoded. Null when the response had no body.
869
+ * @example {"billable_metric":"{\"lago_id\":\"b9155544-e261-4e92-b54e-f65d7609294c\"}"}
876
870
  */
877
- request_response?: string;
871
+ request_response?: object | null;
878
872
  }
879
873
  export interface ApiLogsPaginated {
880
874
  api_logs: ApiLogObject[];
@@ -1072,7 +1066,7 @@ export interface Usages {
1072
1066
  usages: UsageObject[];
1073
1067
  }
1074
1068
  /** @example "USD" */
1075
- export type CurrencyOrNull = "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";
1069
+ export type CurrencyOrNull = "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" | "SYP" | "SZL" | "THB" | "TJS" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "UYU" | "UZS" | "VND" | "VUV" | "WST" | "XAF" | "XCD" | "XOF" | "XPF" | "YER" | "ZAR" | "ZMW";
1076
1070
  export interface AppliedCouponObject {
1077
1071
  /**
1078
1072
  * Unique identifier of the applied coupon, created by Lago.
@@ -1096,6 +1090,11 @@ export interface AppliedCouponObject {
1096
1090
  * @example "Startup Deal"
1097
1091
  */
1098
1092
  coupon_name: string;
1093
+ /**
1094
+ * The description of the parent coupon.
1095
+ * @example "I am a coupon description"
1096
+ */
1097
+ coupon_description?: string | null;
1099
1098
  /**
1100
1099
  * The status of the parent coupon. Can be either `active` or `terminated`.
1101
1100
  * @example "active"
@@ -1350,10 +1349,10 @@ export interface BillableMetricObject {
1350
1349
  */
1351
1350
  created_at: string;
1352
1351
  /**
1353
- * 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.
1352
+ * Expression used to calculate the event units. The expression is evaluated for each event and the result is then used to calculate the total aggregated units.
1354
1353
  * @example "round((ended_at - started_at) * units)"
1355
1354
  */
1356
- expression?: string;
1355
+ expression?: string | null;
1357
1356
  /**
1358
1357
  * Property of the billable metric used for aggregating usage data. This field is not required for `count_agg`.
1359
1358
  * @example "gb"
@@ -1411,8 +1410,8 @@ export interface BillableMetricBaseInput {
1411
1410
  */
1412
1411
  recurring?: boolean;
1413
1412
  /**
1414
- * 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.
1415
- * Accepted function are `ceil`, `concat` and `round` as well as `+`, `-`, `\` and `*` operations.
1413
+ * Expression used to calculate the event units. The expression is evaluated for each event and the result is then used to calculate the total aggregated units.
1414
+ * Accepted functions are `ceil`, `concat` and `round` as well as `+`, `-`, `\` and `*` operations.
1416
1415
  * Round is accepting an optional second parameter to specify the number of decimal.
1417
1416
  * @example "round((ended_at - started_at) * units)"
1418
1417
  */
@@ -1452,8 +1451,8 @@ export interface BillableMetric {
1452
1451
  }
1453
1452
  export interface BillableMetricEvaluateExpressionInput {
1454
1453
  /**
1455
- * 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.
1456
- * Accepted function are `ceil`, `concat` and `round` as well as `+`, `-`, `\` and `*` operations.
1454
+ * Expression used to calculate the event units. The expression is evaluated for each event and the result is then used to calculate the total aggregated units.
1455
+ * Accepted functions are `ceil`, `concat` and `round` as well as `+`, `-`, `\` and `*` operations.
1457
1456
  * Round is accepting an optional second parameter to specify the number of decimal.
1458
1457
  * @example "round((ended_at - started_at) * units)"
1459
1458
  */
@@ -3805,7 +3804,7 @@ export interface PaymentObject {
3805
3804
  /** List of invoice IDs associated with the payment. */
3806
3805
  invoice_ids: string[];
3807
3806
  /** List of invoice numbers associated with the payment. */
3808
- invoice_numbers?: string[];
3807
+ invoice_numbers: string[];
3809
3808
  /**
3810
3809
  * The unique identifier of the paid resource, created by Lago.
3811
3810
  * @format uuid
@@ -3843,15 +3842,15 @@ export interface PaymentObject {
3843
3842
  */
3844
3843
  type: "manual" | "provider";
3845
3844
  /**
3846
- * Reference for the payment.
3845
+ * Reference for the payment. Set on manual payments only; it is always `null` for payments collected through a payment provider.
3847
3846
  * @example "ref1"
3848
3847
  */
3849
- reference: string;
3848
+ reference: string | null;
3850
3849
  /**
3851
- * Code of the payment provider
3850
+ * Code of the payment provider. It is `null` for manual payments, which are not attached to a payment provider.
3852
3851
  * @example "stripe_prod"
3853
3852
  */
3854
- payment_provider_code: string;
3853
+ payment_provider_code: string | null;
3855
3854
  /**
3856
3855
  * The type of payment provider
3857
3856
  * @example "stripe"
@@ -3865,16 +3864,10 @@ export interface PaymentObject {
3865
3864
  */
3866
3865
  provider_payment_id: string | null;
3867
3866
  /**
3868
- * Unique identifier of the customer within the payment provider
3867
+ * Unique identifier of the customer within the payment provider. It is `null` for manual payments.
3869
3868
  * @example "cus_5eb0285bcf941bc6ba"
3870
3869
  */
3871
- provider_customer_id: string;
3872
- /**
3873
- * The unique identifier of the payment method used for this payment.
3874
- * @format uuid
3875
- * @example "1a901a90-1a90-1a90-1a90-1a901a901a90"
3876
- */
3877
- payment_method_id?: string | null;
3870
+ provider_customer_id: string | null;
3878
3871
  /**
3879
3872
  * 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.
3880
3873
  * @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"}}
@@ -3899,11 +3892,11 @@ export interface PaymentRequestObject {
3899
3892
  */
3900
3893
  lago_id: string;
3901
3894
  /**
3902
- * The customer's email address used for sending dunning notifications
3895
+ * The email address used for sending dunning notifications. It defaults to the customer's own email address, and is `null` when the customer has none.
3903
3896
  * @format email
3904
3897
  * @example "dinesh@piedpiper.test"
3905
3898
  */
3906
- email: string;
3899
+ email: string | null;
3907
3900
  /**
3908
3901
  * The sum of the total amounts of all the invoices included in the payment request, expressed in cents.
3909
3902
  * @example 100
@@ -4378,7 +4371,7 @@ export interface WalletObject {
4378
4371
  */
4379
4372
  code?: string | null;
4380
4373
  /**
4381
- * 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.
4374
+ * 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. Wallets with the same priority are applied by expiration date, soonest first, with wallets without an expiration date last, then by creation date, oldest first.
4382
4375
  * @min 1
4383
4376
  * @max 50
4384
4377
  * @example 50
@@ -4522,7 +4515,7 @@ export interface InvoiceCustomSectionInput {
4522
4515
  invoice_custom_section_codes?: string[];
4523
4516
  }
4524
4517
  export interface WalletCreateInput {
4525
- wallet?: {
4518
+ wallet: {
4526
4519
  /**
4527
4520
  * The name of the wallet.
4528
4521
  * @example "Prepaid"
@@ -4534,7 +4527,7 @@ export interface WalletCreateInput {
4534
4527
  */
4535
4528
  code?: string | null;
4536
4529
  /**
4537
- * 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.
4530
+ * 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. Wallets with the same priority are applied by expiration date, soonest first, with wallets without an expiration date last, then by creation date, oldest first.
4538
4531
  * @min 1
4539
4532
  * @max 50
4540
4533
  * @example 50
@@ -4594,6 +4587,13 @@ export interface WalletCreateInput {
4594
4587
  * @example "Tokens for models 'high-fidelity-boost'"
4595
4588
  */
4596
4589
  transaction_name?: string | null;
4590
+ /**
4591
+ * The priority of the wallet transactions triggered when creating the wallet. It drives the order in which credits are consumed. Allowed values: 1-50, where 1 is highest priority and 50 is lowest. Defaults to 50.
4592
+ * @min 1
4593
+ * @max 50
4594
+ * @example 50
4595
+ */
4596
+ transaction_priority?: number;
4597
4597
  /**
4598
4598
  * The purchase order number associated with the wallet. It will be added to invoices generated for wallet top-ups, unless a more specific purchase order number is set on the wallet transaction or recurring transaction rule that triggered the top-up.
4599
4599
  * @example "PO-123"
@@ -4653,7 +4653,7 @@ export interface WalletUpdateInput {
4653
4653
  */
4654
4654
  code?: string | null;
4655
4655
  /**
4656
- * 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.
4656
+ * 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. Wallets with the same priority are applied by expiration date, soonest first, with wallets without an expiration date last, then by creation date, oldest first.
4657
4657
  * @min 1
4658
4658
  * @max 50
4659
4659
  * @example 50
@@ -4670,6 +4670,16 @@ export interface WalletUpdateInput {
4670
4670
  * @example false
4671
4671
  */
4672
4672
  invoice_requires_successful_payment?: boolean;
4673
+ /**
4674
+ * Minimum amount of cents that can be top-up with a single paid transaction.
4675
+ * @example 100
4676
+ */
4677
+ paid_top_up_min_amount_cents?: number | null;
4678
+ /**
4679
+ * Maximum amount of cents that can be top-up with a single paid transaction.
4680
+ * @example 1000
4681
+ */
4682
+ paid_top_up_max_amount_cents?: number | null;
4673
4683
  /**
4674
4684
  * The code of the billing entity associated with the wallet.
4675
4685
  * @example "default"
@@ -5470,14 +5480,14 @@ export interface PaymentMethodObject {
5470
5480
  * Code of the payment provider associated with this payment method.
5471
5481
  * @example "stripe_prod"
5472
5482
  */
5473
- payment_provider_code?: string | null;
5483
+ payment_provider_code: string | null;
5474
5484
  /**
5475
5485
  * Human-readable name of the payment provider.
5476
5486
  * @example "Stripe"
5477
5487
  */
5478
- payment_provider_name?: string | null;
5488
+ payment_provider_name: string | null;
5479
5489
  /**
5480
- * The type of the payment provider.
5490
+ * The type of the payment provider. It is `null` when the payment method is no longer attached to a payment provider.
5481
5491
  * @example "stripe"
5482
5492
  */
5483
5493
  payment_provider_type: "adyen" | "cashfree" | "gocardless" | "stripe" | "flutterwave" | "moneyhash";
@@ -5523,13 +5533,13 @@ export interface EventObject {
5523
5533
  */
5524
5534
  code: string;
5525
5535
  /**
5526
- * 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.
5536
+ * The date and time at which the event occurred, in ISO 8601 format with millisecond precision and expressed in Coordinated Universal Time (UTC). When no timestamp is sent on the event, it is set to the time of event reception.
5527
5537
  * @format date-time
5528
5538
  * @example "2022-04-29T08:59:51.123Z"
5529
5539
  */
5530
5540
  timestamp: string;
5531
5541
  /**
5532
- * The precise total amount that was sent in the event payload. This filed is used by the `dynamic` pricing model.
5542
+ * The precise total amount that was sent in the event payload. This field is used by the `dynamic` pricing model.
5533
5543
  * @example "1234.56"
5534
5544
  */
5535
5545
  precise_total_amount_cents?: string | null;
@@ -5549,7 +5559,7 @@ export interface EventObject {
5549
5559
  */
5550
5560
  lago_subscription_id: string | null;
5551
5561
  /**
5552
- * 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.
5562
+ * The unique identifier of the subscription within your application, as sent on the event. It is the value Lago uses to attach the event to a subscription.
5553
5563
  * @example "sub_1234567890"
5554
5564
  */
5555
5565
  external_subscription_id: string;
@@ -5588,7 +5598,7 @@ export interface EventInputObject {
5588
5598
  /**
5589
5599
  * This field captures the Unix timestamp in seconds indicating the occurrence of the event in Coordinated Universal Time (UTC).
5590
5600
  * If this timestamp is not provided, the API will automatically set it to the time of event reception.
5591
- * You can also provide miliseconds precision by appending decimals to the timestamp.
5601
+ * You can also provide milliseconds precision by appending decimals to the timestamp.
5592
5602
  * @example "1651240791.123"
5593
5603
  */
5594
5604
  timestamp?: number | string;
@@ -5650,6 +5660,11 @@ export interface EventEstimateFeesInput {
5650
5660
  * @example "sub_1234567890"
5651
5661
  */
5652
5662
  external_subscription_id: string;
5663
+ /**
5664
+ * The precise total amount in cents with precision used by the `dynamic` pricing model to compute the estimated usage amount. Defaults to `0` when omitted.
5665
+ * @example "1234.56"
5666
+ */
5667
+ precise_total_amount_cents?: string | null;
5653
5668
  /** 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. Any property of the targeted billable metric can be sent here, in addition to the documented fields below. */
5654
5669
  properties?: {
5655
5670
  /**
@@ -7185,6 +7200,16 @@ export interface PaymentReceiptObject {
7185
7200
  * @example "LAG-1234-001-002"
7186
7201
  */
7187
7202
  number: string;
7203
+ /**
7204
+ * The PDF file of the payment receipt. It is `null` while no PDF has been generated.
7205
+ * @example "https://getlago.com/payment_receipt/file"
7206
+ */
7207
+ file_url?: string | null;
7208
+ /**
7209
+ * The e-invoicing XML file of the payment receipt. It is `null` while no XML file has been generated.
7210
+ * @example "https://getlago.com/payment_receipt/xml"
7211
+ */
7212
+ xml_url?: string | null;
7188
7213
  payment: PaymentObject;
7189
7214
  }
7190
7215
  export interface PaymentReceiptsPaginated {
@@ -7202,11 +7227,11 @@ export interface PaymentRequestCreateInput {
7202
7227
  */
7203
7228
  external_customer_id: string;
7204
7229
  /**
7205
- * The customer's email address used for sending dunning notifications
7230
+ * The email address used for sending dunning notifications. When omitted, the customer's own email address is used.
7206
7231
  * @format email
7207
7232
  * @example "dinesh@piedpiper.test"
7208
7233
  */
7209
- email: string;
7234
+ email?: string;
7210
7235
  /** A list of Lago IDs for the customer's overdue invoices to start the dunning process */
7211
7236
  lago_invoice_ids: string[];
7212
7237
  /** Optional payment method to use for processing the payment request. */
@@ -7230,6 +7255,7 @@ export interface PaymentCreateInput {
7230
7255
  amount_cents: number;
7231
7256
  /**
7232
7257
  * Reference for the payment
7258
+ * @maxLength 40
7233
7259
  * @example "ref1"
7234
7260
  */
7235
7261
  reference: string;
@@ -7265,7 +7291,7 @@ export interface MinimumCommitmentObject {
7265
7291
  * 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.
7266
7292
  * @example "Minimum Commitment (C1)"
7267
7293
  */
7268
- invoice_display_name?: string;
7294
+ invoice_display_name?: string | null;
7269
7295
  /**
7270
7296
  * 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`.
7271
7297
  * @example "monthly"
@@ -7667,7 +7693,7 @@ export interface FixedChargeObject {
7667
7693
  * 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.
7668
7694
  * @example "Setup fee"
7669
7695
  */
7670
- invoice_display_name: string;
7696
+ invoice_display_name: string | null;
7671
7697
  /**
7672
7698
  * Unique code used to identify the add-on.
7673
7699
  * @example "setup_fee"
@@ -7721,6 +7747,23 @@ export interface FixedChargeObject {
7721
7747
  /** List of taxes applied to the fixed charge. */
7722
7748
  taxes?: TaxObject[];
7723
7749
  }
7750
+ export interface ApplicableUsageThreshold {
7751
+ /**
7752
+ * The display name of the usage threshold.
7753
+ * @example "Threshold 1"
7754
+ */
7755
+ threshold_display_name: string | null;
7756
+ /**
7757
+ * The amount to reach to trigger a `progressive_billing` invoice.
7758
+ * @example 10000
7759
+ */
7760
+ amount_cents: number;
7761
+ /**
7762
+ * 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.
7763
+ * @example true
7764
+ */
7765
+ recurring: boolean;
7766
+ }
7724
7767
  export type PlanEntitlementPrivilegeObject = FeaturePrivilegeObject & {
7725
7768
  /**
7726
7769
  * Value assigned to this privilege in the entitlement. Type depends on the privilege's value_type.
@@ -7769,7 +7812,7 @@ export interface PlanObject {
7769
7812
  * 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.
7770
7813
  * @example "Startup plan"
7771
7814
  */
7772
- invoice_display_name?: string;
7815
+ invoice_display_name?: string | null;
7773
7816
  /**
7774
7817
  * 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.
7775
7818
  * @format date-time
@@ -7788,9 +7831,9 @@ export interface PlanObject {
7788
7831
  interval: "weekly" | "monthly" | "quarterly" | "semiannual" | "yearly";
7789
7832
  /**
7790
7833
  * The description on the plan.
7791
- * @example ""
7834
+ * @example "Plan for early stage startups."
7792
7835
  */
7793
- description?: string;
7836
+ description?: string | null;
7794
7837
  /**
7795
7838
  * 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.
7796
7839
  * @example 10000
@@ -7805,7 +7848,7 @@ export interface PlanObject {
7805
7848
  * The duration in days during which the base cost of the plan is offered for free.
7806
7849
  * @example 5
7807
7850
  */
7808
- trial_period?: number;
7851
+ trial_period?: number | null;
7809
7852
  /**
7810
7853
  * 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.
7811
7854
  * @example true
@@ -7821,6 +7864,17 @@ export interface PlanObject {
7821
7864
  * @example null
7822
7865
  */
7823
7866
  bill_fixed_charges_monthly?: boolean | null;
7867
+ /**
7868
+ * Unique identifier of the parent plan, created by Lago. It is set on plans that override a parent plan for a single subscription, and `null` on standard plans.
7869
+ * @format uuid
7870
+ * @example null
7871
+ */
7872
+ parent_id?: string | null;
7873
+ /**
7874
+ * This field is set to `true` when the plan is scheduled for deletion but still attached to subscriptions that have to be billed first.
7875
+ * @example false
7876
+ */
7877
+ pending_deletion?: boolean;
7824
7878
  minimum_commitment?: MinimumCommitmentObject;
7825
7879
  /**
7826
7880
  * Additional usage-based charges for this plan.
@@ -7836,6 +7890,8 @@ export interface PlanObject {
7836
7890
  taxes?: TaxObject[];
7837
7891
  /** List of usage thresholds applied to the plan. */
7838
7892
  usage_thresholds?: UsageThresholdObject[];
7893
+ /** List of usage thresholds that actually apply to the plan. For an overriding plan these are inherited from its parent plan; for a standard plan they match `usage_thresholds`. */
7894
+ applicable_usage_thresholds?: ApplicableUsageThreshold[];
7839
7895
  /** List of all feature entitlements and their privileges available for this plan. */
7840
7896
  entitlements?: PlanEntitlement[];
7841
7897
  /**
@@ -8051,7 +8107,7 @@ export interface PlanCreateInput {
8051
8107
  }[];
8052
8108
  /**
8053
8109
  * Additional fixed charges for this plan.
8054
- * @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}]
8110
+ * @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,"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}]
8055
8111
  */
8056
8112
  fixed_charges?: {
8057
8113
  /**
@@ -8103,6 +8159,12 @@ export interface PlanCreateInput {
8103
8159
  properties?: FixedChargeProperties;
8104
8160
  /** List of taxes applied to the fixed charge. */
8105
8161
  tax_codes?: TaxCodes;
8162
+ /**
8163
+ * 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.
8164
+ * @default false
8165
+ * @example false
8166
+ */
8167
+ apply_units_immediately?: boolean;
8106
8168
  }[];
8107
8169
  /** List of usage thresholds to apply to the plan. */
8108
8170
  usage_thresholds?: UsageThresholdInput[];
@@ -9130,23 +9192,6 @@ export interface SubscriptionCreateInput {
9130
9192
  activation_rules?: SubscriptionActivationRuleInput[];
9131
9193
  };
9132
9194
  }
9133
- export interface ApplicableUsageThreshold {
9134
- /**
9135
- * The display name of the usage threshold.
9136
- * @example "Threshold 1"
9137
- */
9138
- threshold_display_name: string | null;
9139
- /**
9140
- * The amount to reach to trigger a `progressive_billing` invoice.
9141
- * @example 10000
9142
- */
9143
- amount_cents: number;
9144
- /**
9145
- * 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.
9146
- * @example true
9147
- */
9148
- recurring: boolean;
9149
- }
9150
9195
  export type SubscriptionObjectExtended = SubscriptionObject & {
9151
9196
  plan?: PlanObject;
9152
9197
  /** List of usage thresholds applicable to this subscription. */
@@ -9421,15 +9466,15 @@ export interface AlertUpdateInput {
9421
9466
  }
9422
9467
  export type SubscriptionEntitlementPrivilegeObject = FeaturePrivilegeObject & {
9423
9468
  /**
9424
- * Applicable value this this subscription (override_value if set, plan_value otherwise). Type depends on the privilege's value_type.
9469
+ * Applicable value for this subscription (override_value if set, plan_value otherwise). Type depends on the privilege's value_type.
9425
9470
  * @example 10
9426
9471
  */
9427
9472
  value: number | boolean | string;
9428
9473
  /**
9429
- * Value assigned to this privilege in the plan. Type depends on the privilege's value_type.
9474
+ * Value assigned to this privilege in the plan. Type depends on the privilege's value_type. Null when the privilege only exists as a subscription override.
9430
9475
  * @example 10
9431
9476
  */
9432
- plan_value: number | boolean | string;
9477
+ plan_value: number | boolean | string | null;
9433
9478
  /**
9434
9479
  * Value assigned to this subscription specifically. Type depends on the privilege's value_type. Null if no override is set.
9435
9480
  * @example 10
@@ -9463,9 +9508,6 @@ export interface SubscriptionEntitlementObject {
9463
9508
  export interface SubscriptionEntitlements {
9464
9509
  entitlements: SubscriptionEntitlementObject[];
9465
9510
  }
9466
- export interface SubscriptionEntitlement {
9467
- entitlement: SubscriptionEntitlementObject;
9468
- }
9469
9511
  export interface SubscriptionChargeOverride {
9470
9512
  /** Properties of a charge that can be overridden at the subscription level. */
9471
9513
  charge: ChargeOverridableInput;
@@ -9549,6 +9591,19 @@ export interface WalletTransactionCreateInput {
9549
9591
  * @example "5.0"
9550
9592
  */
9551
9593
  voided_credits?: string | null;
9594
+ /**
9595
+ * Unique identifier of the inbound wallet transaction to void. Only available on traceable wallets, and the target transaction must still have a remaining amount.
9596
+ * @format uuid
9597
+ * @example "1a901a90-1a90-1a90-1a90-1a901a901a90"
9598
+ */
9599
+ voided_transaction_id?: string | null;
9600
+ /**
9601
+ * The priority of the wallet transaction. It drives the order in which credits are consumed. Allowed values: 1-50, where 1 is highest priority and 50 is lowest. Defaults to 50.
9602
+ * @min 1
9603
+ * @max 50
9604
+ * @example 50
9605
+ */
9606
+ priority?: number;
9552
9607
  /**
9553
9608
  * 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.
9554
9609
  * @example false
@@ -9588,6 +9643,11 @@ export interface WalletTransactionObject {
9588
9643
  * @example "1a901a90-1a90-1a90-1a90-1a901a901a90"
9589
9644
  */
9590
9645
  lago_wallet_id: string;
9646
+ /**
9647
+ * The code of the billing entity associated with the wallet transaction. Falls back to the wallet's billing entity when the transaction does not carry one.
9648
+ * @example "default"
9649
+ */
9650
+ billing_entity_code?: string;
9591
9651
  /**
9592
9652
  * 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.
9593
9653
  * @format uuid
@@ -9814,7 +9874,7 @@ export interface WebhookPublicKey {
9814
9874
  }
9815
9875
  export interface WebhookEndpointObject {
9816
9876
  /**
9817
- * 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.
9877
+ * 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.
9818
9878
  * @format uuid
9819
9879
  * @example "1a901a90-1a90-1a90-1a90-1a901a901a90"
9820
9880
  */
@@ -9864,7 +9924,8 @@ export interface WebhookEndpointCreateInput {
9864
9924
  */
9865
9925
  webhook_url: string;
9866
9926
  /**
9867
- * The signature used for the webhook. If no value is passed,
9927
+ * The algorithm used to sign the webhook payload. Defaults to `jwt` when no value is passed.
9928
+ * @default "jwt"
9868
9929
  * @example "hmac"
9869
9930
  */
9870
9931
  signature_algo?: "jwt" | "hmac";
@@ -9889,9 +9950,9 @@ export interface WebhookEndpointUpdateInput {
9889
9950
  * The URL of the webhook endpoint.
9890
9951
  * @example "https://foo.bar"
9891
9952
  */
9892
- webhook_url: string;
9953
+ webhook_url?: string;
9893
9954
  /**
9894
- * The signature used for the webhook. If no value is passed,
9955
+ * The algorithm used to sign the webhook payload. When the field is omitted, the current value is kept.
9895
9956
  * @example "hmac"
9896
9957
  */
9897
9958
  signature_algo?: "jwt" | "hmac";
@@ -10367,6 +10428,9 @@ export interface WalletTransactionPaymentFailureObject {
10367
10428
  payment_provider_code?: string;
10368
10429
  provider_error?: string | Record<string, any>;
10369
10430
  }
10431
+ export interface SubscriptionEntitlement {
10432
+ entitlement: SubscriptionEntitlementObject;
10433
+ }
10370
10434
  export type QueryParamsType = Record<string | number, any>;
10371
10435
  export type ResponseFormat = keyof Omit<Body, "body" | "bodyUsed">;
10372
10436
  export interface FullRequestParams extends Omit<RequestInit, "body"> {
@@ -10427,7 +10491,7 @@ export declare class HttpClient<SecurityDataType = unknown> {
10427
10491
  }
10428
10492
  /**
10429
10493
  * @title Lago API documentation
10430
- * @version 1.53.0
10494
+ * @version 1.55.0
10431
10495
  * @license AGPLv3 (https://github.com/getlago/lago-openapi/blob/main/LICENSE)
10432
10496
  * @baseUrl https://api.getlago.com/api/v1
10433
10497
  * @externalDocs https://github.com/getlago
@@ -10522,7 +10586,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
10522
10586
  to_date?: string;
10523
10587
  /**
10524
10588
  * Filter results by activity types
10525
- * @example ["billing_metric.created","billing_metric.updated"]
10589
+ * @example ["billable_metric.created","billable_metric.updated"]
10526
10590
  */
10527
10591
  "activity_types[]"?: string[];
10528
10592
  /**
@@ -10679,10 +10743,15 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
10679
10743
  */
10680
10744
  api_version?: string;
10681
10745
  /**
10682
- * Filter results by the path of the request
10683
- * @example "/billable_metrics/"
10746
+ * Filter results by the path of the request. A value containing `*` is matched as a wildcard, otherwise the path must match exactly.
10747
+ * @example ["/api/v1/billable_metrics","*billable_metrics*"]
10748
+ */
10749
+ "request_paths[]"?: string[];
10750
+ /**
10751
+ * Filter results by the client that issued the request, as reported by its user agent.
10752
+ * @example ["Lago Ruby v1.26.0"]
10684
10753
  */
10685
- request_paths?: string;
10754
+ "clients[]"?: string[];
10686
10755
  }, params?: RequestParams) => Promise<HttpResponse<ApiLogsPaginated, ApiErrorUnauthorized>>;
10687
10756
  /**
10688
10757
  * @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.
@@ -10713,6 +10782,11 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
10713
10782
  * @example "5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba"
10714
10783
  */
10715
10784
  external_customer_id?: string;
10785
+ /**
10786
+ * Restrict the analytics to a single billing entity, identified by its code. An unknown code is ignored and the analytics cover the whole organization.
10787
+ * @example "acme_corp"
10788
+ */
10789
+ billing_entity_code?: string;
10716
10790
  /**
10717
10791
  * Show data only for given number of months.
10718
10792
  * @example 12
@@ -10731,6 +10805,11 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
10731
10805
  findAllInvoiceCollections: (query?: {
10732
10806
  /** The currency of revenue analytics. Format must be ISO 4217. */
10733
10807
  currency?: Currency;
10808
+ /**
10809
+ * Restrict the analytics to a single billing entity, identified by its code. An unknown code is ignored and the analytics cover the whole organization.
10810
+ * @example "acme_corp"
10811
+ */
10812
+ billing_entity_code?: string;
10734
10813
  /**
10735
10814
  * Show data only for given number of months.
10736
10815
  * @example 12
@@ -10749,6 +10828,11 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
10749
10828
  findAllInvoicedUsages: (query?: {
10750
10829
  /** The currency of invoiced usage analytics. Format must be ISO 4217. */
10751
10830
  currency?: Currency;
10831
+ /**
10832
+ * Restrict the analytics to a single billing entity, identified by its code. An unknown code is ignored and the analytics cover the whole organization.
10833
+ * @example "acme_corp"
10834
+ */
10835
+ billing_entity_code?: string;
10752
10836
  /**
10753
10837
  * Show data only for given number of months.
10754
10838
  * @example 12
@@ -10756,7 +10840,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
10756
10840
  months?: number;
10757
10841
  }, params?: RequestParams) => Promise<HttpResponse<InvoicedUsages, ApiErrorUnauthorized>>;
10758
10842
  /**
10759
- * @description This endpoint is used to list MRR.
10843
+ * @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.
10760
10844
  *
10761
10845
  * @tags analytics
10762
10846
  * @name FindAllMrrs
@@ -10765,16 +10849,13 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
10765
10849
  * @secure
10766
10850
  */
10767
10851
  findAllMrrs: (query?: {
10852
+ /** The currency of MRR analytics. Format must be ISO 4217. */
10853
+ currency?: Currency;
10768
10854
  /**
10769
- * 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:
10770
- *
10771
- * - Revenue from `monthly` subscription invoices is included in the MRR for the month in which the invoice is issued.
10772
- * - 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).
10773
- * - 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).
10774
- * - 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).
10775
- * - 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.
10855
+ * Restrict the analytics to a single billing entity, identified by its code. An unknown code is ignored and the analytics cover the whole organization.
10856
+ * @example "acme_corp"
10776
10857
  */
10777
- currency?: Currency;
10858
+ billing_entity_code?: string;
10778
10859
  /**
10779
10860
  * Show data only for given number of months.
10780
10861
  * @example 12
@@ -10798,6 +10879,11 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
10798
10879
  * @example "5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba"
10799
10880
  */
10800
10881
  external_customer_id?: string;
10882
+ /**
10883
+ * Restrict the analytics to a single billing entity, identified by its code. An unknown code is ignored and the analytics cover the whole organization.
10884
+ * @example "acme_corp"
10885
+ */
10886
+ billing_entity_code?: string;
10801
10887
  /**
10802
10888
  * Show data only for given number of months.
10803
10889
  * @example 12
@@ -10815,7 +10901,8 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
10815
10901
  */
10816
10902
  findAllUsages: (query?: {
10817
10903
  /**
10818
- * The time granularity of usage analytics. Possible values are 'daily', 'weekly', 'monthly', 'yearly'.
10904
+ * The time granularity of usage analytics. Possible values are 'daily', 'weekly' and 'monthly'. Defaults to 'daily'.
10905
+ * @default "daily"
10819
10906
  * @example "monthly"
10820
10907
  */
10821
10908
  time_granularity?: "daily" | "weekly" | "monthly";
@@ -11053,11 +11140,11 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
11053
11140
  */
11054
11141
  findFeature: (code: string, params?: RequestParams) => Promise<HttpResponse<Feature, ApiErrorUnauthorized | ApiErrorNotFound>>;
11055
11142
  /**
11056
- * @description Delete privilege from feature. Deleting a privilege removes it from all plans and subscriptions.
11143
+ * @description This endpoint deletes a privilege from a feature. Deleting a privilege removes it from all plans and subscriptions.
11057
11144
  *
11058
11145
  * @tags features
11059
11146
  * @name DeleteFeaturePrivilege
11060
- * @summary Delete a privilege. Deleting a privilege removes it from all plans and subscriptions.
11147
+ * @summary Delete a privilege
11061
11148
  * @request DELETE:/features/{code}/privileges/{privilege_code}
11062
11149
  * @secure
11063
11150
  */
@@ -11665,6 +11752,11 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
11665
11752
  * @example 20
11666
11753
  */
11667
11754
  per_page?: number;
11755
+ /**
11756
+ * Filter the results by currency, expressed as an ISO 4217 code.
11757
+ * @example "EUR"
11758
+ */
11759
+ currency?: string;
11668
11760
  /**
11669
11761
  * Filter by payment status. Possible values are `pending`, `failed` or `succeeded`.
11670
11762
  * @example "pending"
@@ -11765,6 +11857,11 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
11765
11857
  * @example 20
11766
11858
  */
11767
11859
  per_page?: number;
11860
+ /**
11861
+ * Filter the results by currency, expressed as an ISO 4217 code.
11862
+ * @example "EUR"
11863
+ */
11864
+ currency?: string;
11768
11865
  /**
11769
11866
  * Filter wallets by billing entity codes.
11770
11867
  * @example ["billing_entity_code_1","billing_entity_code_2"]
@@ -11850,7 +11947,18 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
11850
11947
  * @request GET:/customers/{external_customer_id}/wallets/{wallet_code}/alerts
11851
11948
  * @secure
11852
11949
  */
11853
- getCustomerWalletAlerts: (externalCustomerId: string, walletCode: string, params?: RequestParams) => Promise<HttpResponse<WalletAlerts, ApiErrorUnauthorized | ApiErrorNotFound>>;
11950
+ getCustomerWalletAlerts: (externalCustomerId: string, walletCode: string, query?: {
11951
+ /**
11952
+ * Page number.
11953
+ * @example 1
11954
+ */
11955
+ page?: number;
11956
+ /**
11957
+ * Number of records per page.
11958
+ * @example 20
11959
+ */
11960
+ per_page?: number;
11961
+ }, params?: RequestParams) => Promise<HttpResponse<WalletAlerts, ApiErrorUnauthorized | ApiErrorNotFound>>;
11854
11962
  /**
11855
11963
  * @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.
11856
11964
  *
@@ -12066,7 +12174,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
12066
12174
  per_page?: number;
12067
12175
  }, params?: RequestParams) => Promise<HttpResponse<PaymentMethodsPaginated, ApiErrorUnauthorized | ApiErrorNotFound>>;
12068
12176
  /**
12069
- * @description Use the payment method as default when not selected a payment method
12177
+ * @description This endpoint sets a payment method as the customer's default one. It is the payment method Lago uses when a payment is triggered without an explicit one. Any other default payment method of the customer is unset.
12070
12178
  *
12071
12179
  * @tags payment_methods
12072
12180
  * @name PaymentMethodSetAsDefault
@@ -12128,7 +12236,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
12128
12236
  */
12129
12237
  code?: string;
12130
12238
  /**
12131
- * Requires `external_subscription_id` to be set. Filter events by timestamp after the subscription started at datetime.
12239
+ * Requires `external_subscription_id` to be set, and cannot be combined with `timestamp_from`. Filter events by timestamp after the subscription started at datetime.
12132
12240
  * @example true
12133
12241
  */
12134
12242
  timestamp_from_started_at?: boolean;
@@ -13023,7 +13131,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
13023
13131
  */
13024
13132
  findAllEntitlements: (code: string, params?: RequestParams) => Promise<HttpResponse<PlanEntitlements, ApiErrorUnauthorized | ApiErrorNotFound>>;
13025
13133
  /**
13026
- * @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.
13134
+ * @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.
13027
13135
  *
13028
13136
  * @tags entitlements
13029
13137
  * @name UpdateEntitlement
@@ -13593,6 +13701,16 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
13593
13701
  * @example "active"
13594
13702
  */
13595
13703
  subscription_status?: "pending" | "active" | "terminated" | "canceled";
13704
+ /**
13705
+ * Page number.
13706
+ * @example 1
13707
+ */
13708
+ page?: number;
13709
+ /**
13710
+ * Number of records per page.
13711
+ * @example 20
13712
+ */
13713
+ per_page?: number;
13596
13714
  }, params?: RequestParams) => Promise<HttpResponse<Alerts, ApiErrorUnauthorized | ApiErrorNotFound>>;
13597
13715
  /**
13598
13716
  * @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.
@@ -13697,7 +13815,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
13697
13815
  subscription_status?: "pending" | "active" | "terminated" | "canceled";
13698
13816
  }, params?: RequestParams) => Promise<HttpResponse<SubscriptionEntitlements, ApiErrorUnauthorized | ApiErrorNotFound>>;
13699
13817
  /**
13700
- * @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.
13818
+ * @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.
13701
13819
  *
13702
13820
  * @tags entitlements
13703
13821
  * @name UpdateSubscriptionEntitlements
@@ -13714,7 +13832,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
13714
13832
  subscription_status?: "pending" | "active" | "terminated" | "canceled";
13715
13833
  }, params?: RequestParams) => Promise<HttpResponse<SubscriptionEntitlements, ApiErrorUnauthorized | ApiErrorUnprocessableEntity | ApiErrorBadRequest | ApiErrorNotFound>>;
13716
13834
  /**
13717
- * @description This endpoint removes a specific feature entitlement from a subscription. The entitlement remains available from the plan.
13835
+ * @description This endpoint removes a specific feature entitlement from a subscription. The entitlement remains available from the plan. It returns the full list of entitlements remaining on the subscription.
13718
13836
  *
13719
13837
  * @tags entitlements
13720
13838
  * @name DestroySubscriptionEntitlement
@@ -13729,9 +13847,9 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
13729
13847
  * @example "active"
13730
13848
  */
13731
13849
  subscription_status?: "pending" | "active" | "terminated" | "canceled";
13732
- }, params?: RequestParams) => Promise<HttpResponse<SubscriptionEntitlement, ApiErrorUnauthorized | ApiErrorNotFound>>;
13850
+ }, params?: RequestParams) => Promise<HttpResponse<SubscriptionEntitlements, ApiErrorUnauthorized | ApiErrorNotFound>>;
13733
13851
  /**
13734
- * @description This endpoint removes a specific privilege from a subscription entitlement. The privilege entitlement remains available from the plan.
13852
+ * @description This endpoint removes a specific privilege from a subscription entitlement. The privilege entitlement remains available from the plan. It returns the full list of entitlements remaining on the subscription.
13735
13853
  *
13736
13854
  * @tags entitlements
13737
13855
  * @name DestroySubscriptionEntitlementPrivilege
@@ -13746,7 +13864,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
13746
13864
  * @example "active"
13747
13865
  */
13748
13866
  subscription_status?: "pending" | "active" | "terminated" | "canceled";
13749
- }, params?: RequestParams) => Promise<HttpResponse<SubscriptionEntitlement, ApiErrorUnauthorized | ApiErrorBadRequest | ApiErrorNotFound>>;
13867
+ }, params?: RequestParams) => Promise<HttpResponse<SubscriptionEntitlements, ApiErrorUnauthorized | ApiErrorBadRequest | ApiErrorNotFound>>;
13750
13868
  /**
13751
13869
  * @description This endpoint retrieves all effective fixed charges for a specific subscription. The `units` of each fixed charge reflect any per-subscription unit override applied to the subscription; when no override exists, the plan-level units are returned.
13752
13870
  *
@@ -14180,6 +14298,11 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
14180
14298
  * @example "inbound"
14181
14299
  */
14182
14300
  transaction_type?: string;
14301
+ /**
14302
+ * Filter wallet transactions by metadata. Replace `key` with the actual metadata key you want to match, and provide the corresponding value. For example, `metadata[color]=blue`.
14303
+ * @example "someValue"
14304
+ */
14305
+ "metadata[key]"?: string;
14183
14306
  }, params?: RequestParams) => Promise<HttpResponse<WalletTransactionsPaginated, ApiErrorUnauthorized | ApiErrorForbidden | ApiErrorNotFound>>;
14184
14307
  };
14185
14308
  walletTransactions: {