From f2be0ef1b8d92958abe9fca9f8cd46459dd37886 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Mon, 28 Sep 2026 10:07:30 +0000 Subject: [PATCH 1/2] [fern-generated] Update SDK Generated by Fern CLI Version: unknown Generators: - fernapi/fern-java-sdk: 4.19.3 --- .fern/metadata.json | 6 +- build.gradle | 4 +- reference.md | 14 +- .../com/schematic/api/core/ClientOptions.java | 4 +- .../requests/CreateInvoiceRequestBody.java | 32 ++++ ...llingLinkedPlanEntitlementRequestBody.java | 8 +- .../CreatePlanEntitlementRequestBody.java | 8 +- .../UpdatePlanEntitlementRequestBody.java | 8 +- ...ChangeSubscriptionInternalRequestBody.java | 45 ++++++ .../types/ChangeSubscriptionRequestBody.java | 45 ++++++ ...UsageExportMetadataVisibleColumnsItem.java | 11 ++ .../CreateEntitlementInBundleRequestBody.java | 8 +- .../types/CreditEventLedgerResponseData.java | 32 ++++ .../api/types/InvoiceRequestBody.java | 32 ++++ .../api/types/InvoiceResponseData.java | 45 ++++++ .../api/types/ManagePlanRequest.java | 45 ++++++ .../types/PlanEntitlementResponseData.java | 8 +- ...reviewSubscriptionFinanceResponseData.java | 41 ++++- .../types/RulesengineComparableOperator.java | 146 ++++++++++++++++++ .../api/types/RulesengineCondition.java | 12 +- .../types/UpcomingInvoiceResponseData.java | 45 ++++++ .../UsageBasedEntitlementRequestBody.java | 4 +- .../UsageBasedEntitlementResponseData.java | 8 +- 23 files changed, 567 insertions(+), 44 deletions(-) create mode 100644 src/main/java/com/schematic/api/types/RulesengineComparableOperator.java diff --git a/.fern/metadata.json b/.fern/metadata.json index 736e023a..eb9ad847 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -15,10 +15,10 @@ "testImplementation com.github.codemonstur:embedded-redis:1.4.3" ] }, - "originGitCommit": "1d6a1c9cf0e1d72ea8ede6e7e8f84d35ffbd8be3", + "originGitCommit": "4ca95f7ba356ea2c3b42db5e3e78c064477b3a8d", "originGitCommitIsDirty": false, "invokedBy": "ci", - "requestedVersion": "1.6.1", + "requestedVersion": "1.6.2", "ciProvider": "github", - "sdkVersion": "1.6.1" + "sdkVersion": "1.6.2" } \ No newline at end of file diff --git a/build.gradle b/build.gradle index 62227aa0..4331aa87 100644 --- a/build.gradle +++ b/build.gradle @@ -63,7 +63,7 @@ java { group = 'com.schematichq' -version = '1.6.1' +version = '1.6.2' jar { dependsOn(":generatePomFileForMavenPublication") @@ -94,7 +94,7 @@ publishing { maven(MavenPublication) { groupId = 'com.schematichq' artifactId = 'schematic-java' - version = '1.6.1' + version = '1.6.2' from components.java pom { name = 'Schematic' diff --git a/reference.md b/reference.md index df8121df..3ba1a8b1 100644 --- a/reference.md +++ b/reference.md @@ -2043,6 +2043,14 @@ client.billing().upsertInvoice(
+**total:** `Optional` + +
+
+ +
+
+ **url:** `Optional`
@@ -12997,7 +13005,7 @@ client.entitlements().createPlanEntitlement(
-**usageQuantity:** `Optional` — The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. +**usageQuantity:** `Optional` — The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.
@@ -13347,7 +13355,7 @@ client.entitlements().updatePlanEntitlement(
-**usageQuantity:** `Optional` — The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. +**usageQuantity:** `Optional` — The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.
@@ -13732,7 +13740,7 @@ client.entitlements().upsertPlanEntitlementForBillingProduct(
-**usageQuantity:** `Optional` — The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. +**usageQuantity:** `Optional` — The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.
diff --git a/src/main/java/com/schematic/api/core/ClientOptions.java b/src/main/java/com/schematic/api/core/ClientOptions.java index ad158806..9dc3535a 100644 --- a/src/main/java/com/schematic/api/core/ClientOptions.java +++ b/src/main/java/com/schematic/api/core/ClientOptions.java @@ -47,10 +47,10 @@ private ClientOptions( this.headers.putAll(headers); this.headers.putAll(new HashMap() { { - put("User-Agent", "com.schematichq.schematic-java/1.6.1"); + put("User-Agent", "com.schematichq.schematic-java/1.6.2"); put("X-Fern-Language", "JAVA"); put("X-Fern-SDK-Name", "com.schematichq:schematic-java"); - put("X-Fern-SDK-Version", "1.6.1"); + put("X-Fern-SDK-Version", "1.6.2"); } }); this.headerSuppliers = headerSuppliers; diff --git a/src/main/java/com/schematic/api/resources/billing/requests/CreateInvoiceRequestBody.java b/src/main/java/com/schematic/api/resources/billing/requests/CreateInvoiceRequestBody.java index 620be18f..90cfae90 100644 --- a/src/main/java/com/schematic/api/resources/billing/requests/CreateInvoiceRequestBody.java +++ b/src/main/java/com/schematic/api/resources/billing/requests/CreateInvoiceRequestBody.java @@ -51,6 +51,8 @@ public final class CreateInvoiceRequestBody { private final long subtotal; + private final Optional total; + private final Optional url; private final Map additionalProperties; @@ -70,6 +72,7 @@ private CreateInvoiceRequestBody( Optional status, Optional subscriptionExternalId, long subtotal, + Optional total, Optional url, Map additionalProperties) { this.amountDue = amountDue; @@ -86,6 +89,7 @@ private CreateInvoiceRequestBody( this.status = status; this.subscriptionExternalId = subscriptionExternalId; this.subtotal = subtotal; + this.total = total; this.url = url; this.additionalProperties = additionalProperties; } @@ -160,6 +164,11 @@ public long getSubtotal() { return subtotal; } + @JsonProperty("total") + public Optional getTotal() { + return total; + } + @JsonProperty("url") public Optional getUrl() { return url; @@ -191,6 +200,7 @@ private boolean equalTo(CreateInvoiceRequestBody other) { && status.equals(other.status) && subscriptionExternalId.equals(other.subscriptionExternalId) && subtotal == other.subtotal + && total.equals(other.total) && url.equals(other.url); } @@ -211,6 +221,7 @@ public int hashCode() { this.status, this.subscriptionExternalId, this.subtotal, + this.total, this.url); } @@ -288,6 +299,10 @@ public interface _FinalStage { _FinalStage subscriptionExternalId(String subscriptionExternalId); + _FinalStage total(Optional total); + + _FinalStage total(Long total); + _FinalStage url(Optional url); _FinalStage url(String url); @@ -319,6 +334,8 @@ public static final class Builder private Optional url = Optional.empty(); + private Optional total = Optional.empty(); + private Optional subscriptionExternalId = Optional.empty(); private Optional status = Optional.empty(); @@ -354,6 +371,7 @@ public Builder from(CreateInvoiceRequestBody other) { status(other.getStatus()); subscriptionExternalId(other.getSubscriptionExternalId()); subtotal(other.getSubtotal()); + total(other.getTotal()); url(other.getUrl()); return this; } @@ -420,6 +438,19 @@ public _FinalStage url(Optional url) { return this; } + @java.lang.Override + public _FinalStage total(Long total) { + this.total = Optional.ofNullable(total); + return this; + } + + @java.lang.Override + @JsonSetter(value = "total", nulls = Nulls.SKIP) + public _FinalStage total(Optional total) { + this.total = total; + return this; + } + @java.lang.Override public _FinalStage subscriptionExternalId(String subscriptionExternalId) { this.subscriptionExternalId = Optional.ofNullable(subscriptionExternalId); @@ -528,6 +559,7 @@ public CreateInvoiceRequestBody build() { status, subscriptionExternalId, subtotal, + total, url, additionalProperties); } diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/CreateBillingLinkedPlanEntitlementRequestBody.java b/src/main/java/com/schematic/api/resources/entitlements/requests/CreateBillingLinkedPlanEntitlementRequestBody.java index 04e0a273..173ab308 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/CreateBillingLinkedPlanEntitlementRequestBody.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/CreateBillingLinkedPlanEntitlementRequestBody.java @@ -337,7 +337,7 @@ public Optional getTierMode() { } /** - * @return The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. + * @return The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. */ @JsonProperty("usage_quantity") public Optional getUsageQuantity() { @@ -630,7 +630,7 @@ public interface _FinalStage { _FinalStage tierMode(BillingTiersMode tierMode); /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

*/ _FinalStage usageQuantity(Optional usageQuantity); @@ -958,7 +958,7 @@ public _FinalStage valueBool(Optional valueBool) { } /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override @@ -968,7 +968,7 @@ public _FinalStage usageQuantity(Long usageQuantity) { } /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

*/ @java.lang.Override @JsonSetter(value = "usage_quantity", nulls = Nulls.SKIP) diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/CreatePlanEntitlementRequestBody.java b/src/main/java/com/schematic/api/resources/entitlements/requests/CreatePlanEntitlementRequestBody.java index 43ff3330..af282943 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/CreatePlanEntitlementRequestBody.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/CreatePlanEntitlementRequestBody.java @@ -318,7 +318,7 @@ public Optional getTierMode() { } /** - * @return The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. + * @return The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. */ @JsonProperty("usage_quantity") public Optional getUsageQuantity() { @@ -598,7 +598,7 @@ public interface _FinalStage { _FinalStage tierMode(BillingTiersMode tierMode); /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

*/ _FinalStage usageQuantity(Optional usageQuantity); @@ -900,7 +900,7 @@ public _FinalStage valueBool(Optional valueBool) { } /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override @@ -910,7 +910,7 @@ public _FinalStage usageQuantity(Long usageQuantity) { } /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

*/ @java.lang.Override @JsonSetter(value = "usage_quantity", nulls = Nulls.SKIP) diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/UpdatePlanEntitlementRequestBody.java b/src/main/java/com/schematic/api/resources/entitlements/requests/UpdatePlanEntitlementRequestBody.java index 35aecf48..eeb23c80 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/UpdatePlanEntitlementRequestBody.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/UpdatePlanEntitlementRequestBody.java @@ -291,7 +291,7 @@ public Optional getTierMode() { } /** - * @return The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. + * @return The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. */ @JsonProperty("usage_quantity") public Optional getUsageQuantity() { @@ -553,7 +553,7 @@ public interface _FinalStage { _FinalStage tierMode(BillingTiersMode tierMode); /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

*/ _FinalStage usageQuantity(Optional usageQuantity); @@ -832,7 +832,7 @@ public _FinalStage valueBool(Optional valueBool) { } /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override @@ -842,7 +842,7 @@ public _FinalStage usageQuantity(Long usageQuantity) { } /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

*/ @java.lang.Override @JsonSetter(value = "usage_quantity", nulls = Nulls.SKIP) diff --git a/src/main/java/com/schematic/api/types/ChangeSubscriptionInternalRequestBody.java b/src/main/java/com/schematic/api/types/ChangeSubscriptionInternalRequestBody.java index b8eec751..42f35844 100644 --- a/src/main/java/com/schematic/api/types/ChangeSubscriptionInternalRequestBody.java +++ b/src/main/java/com/schematic/api/types/ChangeSubscriptionInternalRequestBody.java @@ -35,6 +35,8 @@ public final class ChangeSubscriptionInternalRequestBody { private final List creditBundles; + private final Optional currency; + private final List customFieldValues; private final String newPlanId; @@ -60,6 +62,7 @@ private ChangeSubscriptionInternalRequestBody( String companyId, Optional couponExternalId, List creditBundles, + Optional currency, List customFieldValues, String newPlanId, String newPriceId, @@ -75,6 +78,7 @@ private ChangeSubscriptionInternalRequestBody( this.companyId = companyId; this.couponExternalId = couponExternalId; this.creditBundles = creditBundles; + this.currency = currency; this.customFieldValues = customFieldValues; this.newPlanId = newPlanId; this.newPriceId = newPriceId; @@ -116,6 +120,14 @@ public List getCreditBundles() { return creditBundles; } + /** + * @return ISO 4217 currency this cart is being built in. Prices are still selected by id; this records the intent, and a cart that prices in another currency is reported as a problem. + */ + @JsonProperty("currency") + public Optional getCurrency() { + return currency; + } + @JsonProperty("custom_field_values") public List getCustomFieldValues() { return customFieldValues; @@ -175,6 +187,7 @@ private boolean equalTo(ChangeSubscriptionInternalRequestBody other) { && companyId.equals(other.companyId) && couponExternalId.equals(other.couponExternalId) && creditBundles.equals(other.creditBundles) + && currency.equals(other.currency) && customFieldValues.equals(other.customFieldValues) && newPlanId.equals(other.newPlanId) && newPriceId.equals(other.newPriceId) @@ -194,6 +207,7 @@ public int hashCode() { this.companyId, this.couponExternalId, this.creditBundles, + this.currency, this.customFieldValues, this.newPlanId, this.newPriceId, @@ -264,6 +278,13 @@ public interface _FinalStage { _FinalStage addAllCreditBundles(List creditBundles); + /** + *

ISO 4217 currency this cart is being built in. Prices are still selected by id; this records the intent, and a cart that prices in another currency is reported as a problem.

+ */ + _FinalStage currency(Optional currency); + + _FinalStage currency(String currency); + _FinalStage customFieldValues(List customFieldValues); _FinalStage addCustomFieldValues(CheckoutFieldValue customFieldValues); @@ -310,6 +331,8 @@ public static final class Builder private List customFieldValues = new ArrayList<>(); + private Optional currency = Optional.empty(); + private List creditBundles = new ArrayList<>(); private Optional couponExternalId = Optional.empty(); @@ -333,6 +356,7 @@ public Builder from(ChangeSubscriptionInternalRequestBody other) { companyId(other.getCompanyId()); couponExternalId(other.getCouponExternalId()); creditBundles(other.getCreditBundles()); + currency(other.getCurrency()); customFieldValues(other.getCustomFieldValues()); newPlanId(other.getNewPlanId()); newPriceId(other.getNewPriceId()); @@ -459,6 +483,26 @@ public _FinalStage customFieldValues(List customFieldValues) return this; } + /** + *

ISO 4217 currency this cart is being built in. Prices are still selected by id; this records the intent, and a cart that prices in another currency is reported as a problem.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage currency(String currency) { + this.currency = Optional.ofNullable(currency); + return this; + } + + /** + *

ISO 4217 currency this cart is being built in. Prices are still selected by id; this records the intent, and a cart that prices in another currency is reported as a problem.

+ */ + @java.lang.Override + @JsonSetter(value = "currency", nulls = Nulls.SKIP) + public _FinalStage currency(Optional currency) { + this.currency = currency; + return this; + } + @java.lang.Override public _FinalStage addAllCreditBundles(List creditBundles) { if (creditBundles != null) { @@ -566,6 +610,7 @@ public ChangeSubscriptionInternalRequestBody build() { companyId, couponExternalId, creditBundles, + currency, customFieldValues, newPlanId, newPriceId, diff --git a/src/main/java/com/schematic/api/types/ChangeSubscriptionRequestBody.java b/src/main/java/com/schematic/api/types/ChangeSubscriptionRequestBody.java index 3c43cd68..a3f771ab 100644 --- a/src/main/java/com/schematic/api/types/ChangeSubscriptionRequestBody.java +++ b/src/main/java/com/schematic/api/types/ChangeSubscriptionRequestBody.java @@ -33,6 +33,8 @@ public final class ChangeSubscriptionRequestBody { private final List creditBundles; + private final Optional currency; + private final List customFieldValues; private final String newPlanId; @@ -57,6 +59,7 @@ private ChangeSubscriptionRequestBody( Optional billingEntityId, Optional couponExternalId, List creditBundles, + Optional currency, List customFieldValues, String newPlanId, String newPriceId, @@ -71,6 +74,7 @@ private ChangeSubscriptionRequestBody( this.billingEntityId = billingEntityId; this.couponExternalId = couponExternalId; this.creditBundles = creditBundles; + this.currency = currency; this.customFieldValues = customFieldValues; this.newPlanId = newPlanId; this.newPriceId = newPriceId; @@ -107,6 +111,14 @@ public List getCreditBundles() { return creditBundles; } + /** + * @return ISO 4217 currency this cart is being built in. Prices are still selected by id; this records the intent, and a cart that prices in another currency is reported as a problem. + */ + @JsonProperty("currency") + public Optional getCurrency() { + return currency; + } + @JsonProperty("custom_field_values") public List getCustomFieldValues() { return customFieldValues; @@ -164,6 +176,7 @@ private boolean equalTo(ChangeSubscriptionRequestBody other) { && billingEntityId.equals(other.billingEntityId) && couponExternalId.equals(other.couponExternalId) && creditBundles.equals(other.creditBundles) + && currency.equals(other.currency) && customFieldValues.equals(other.customFieldValues) && newPlanId.equals(other.newPlanId) && newPriceId.equals(other.newPriceId) @@ -182,6 +195,7 @@ public int hashCode() { this.billingEntityId, this.couponExternalId, this.creditBundles, + this.currency, this.customFieldValues, this.newPlanId, this.newPriceId, @@ -248,6 +262,13 @@ public interface _FinalStage { _FinalStage addAllCreditBundles(List creditBundles); + /** + *

ISO 4217 currency this cart is being built in. Prices are still selected by id; this records the intent, and a cart that prices in another currency is reported as a problem.

+ */ + _FinalStage currency(Optional currency); + + _FinalStage currency(String currency); + _FinalStage customFieldValues(List customFieldValues); _FinalStage addCustomFieldValues(CheckoutFieldValue customFieldValues); @@ -291,6 +312,8 @@ public static final class Builder implements NewPlanIdStage, NewPriceIdStage, Sk private List customFieldValues = new ArrayList<>(); + private Optional currency = Optional.empty(); + private List creditBundles = new ArrayList<>(); private Optional couponExternalId = Optional.empty(); @@ -313,6 +336,7 @@ public Builder from(ChangeSubscriptionRequestBody other) { billingEntityId(other.getBillingEntityId()); couponExternalId(other.getCouponExternalId()); creditBundles(other.getCreditBundles()); + currency(other.getCurrency()); customFieldValues(other.getCustomFieldValues()); newPlanId(other.getNewPlanId()); newPriceId(other.getNewPriceId()); @@ -432,6 +456,26 @@ public _FinalStage customFieldValues(List customFieldValues) return this; } + /** + *

ISO 4217 currency this cart is being built in. Prices are still selected by id; this records the intent, and a cart that prices in another currency is reported as a problem.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage currency(String currency) { + this.currency = Optional.ofNullable(currency); + return this; + } + + /** + *

ISO 4217 currency this cart is being built in. Prices are still selected by id; this records the intent, and a cart that prices in another currency is reported as a problem.

+ */ + @java.lang.Override + @JsonSetter(value = "currency", nulls = Nulls.SKIP) + public _FinalStage currency(Optional currency) { + this.currency = currency; + return this; + } + @java.lang.Override public _FinalStage addAllCreditBundles(List creditBundles) { if (creditBundles != null) { @@ -538,6 +582,7 @@ public ChangeSubscriptionRequestBody build() { billingEntityId, couponExternalId, creditBundles, + currency, customFieldValues, newPlanId, newPriceId, diff --git a/src/main/java/com/schematic/api/types/CompanyFeatureUsageExportMetadataVisibleColumnsItem.java b/src/main/java/com/schematic/api/types/CompanyFeatureUsageExportMetadataVisibleColumnsItem.java index 5de7356f..b743e916 100644 --- a/src/main/java/com/schematic/api/types/CompanyFeatureUsageExportMetadataVisibleColumnsItem.java +++ b/src/main/java/com/schematic/api/types/CompanyFeatureUsageExportMetadataVisibleColumnsItem.java @@ -13,6 +13,9 @@ public final class CompanyFeatureUsageExportMetadataVisibleColumnsItem { public static final CompanyFeatureUsageExportMetadataVisibleColumnsItem SUBSCRIPTION = new CompanyFeatureUsageExportMetadataVisibleColumnsItem(Value.SUBSCRIPTION, "subscription"); + public static final CompanyFeatureUsageExportMetadataVisibleColumnsItem CREATED_AT = + new CompanyFeatureUsageExportMetadataVisibleColumnsItem(Value.CREATED_AT, "created_at"); + public static final CompanyFeatureUsageExportMetadataVisibleColumnsItem USERS = new CompanyFeatureUsageExportMetadataVisibleColumnsItem(Value.USERS, "users"); @@ -56,6 +59,8 @@ public T visit(Visitor visitor) { return visitor.visitPlan(); case SUBSCRIPTION: return visitor.visitSubscription(); + case CREATED_AT: + return visitor.visitCreatedAt(); case USERS: return visitor.visitUsers(); case LAST_SEEN_AT: @@ -73,6 +78,8 @@ public static CompanyFeatureUsageExportMetadataVisibleColumnsItem valueOf(String return PLAN; case "subscription": return SUBSCRIPTION; + case "created_at": + return CREATED_AT; case "users": return USERS; case "last_seen_at": @@ -91,6 +98,8 @@ public enum Value { LAST_SEEN_AT, + CREATED_AT, + UNKNOWN } @@ -103,6 +112,8 @@ public interface Visitor { T visitLastSeenAt(); + T visitCreatedAt(); + T visitUnknown(String unknownType); } } diff --git a/src/main/java/com/schematic/api/types/CreateEntitlementInBundleRequestBody.java b/src/main/java/com/schematic/api/types/CreateEntitlementInBundleRequestBody.java index 8f01f889..47adbb93 100644 --- a/src/main/java/com/schematic/api/types/CreateEntitlementInBundleRequestBody.java +++ b/src/main/java/com/schematic/api/types/CreateEntitlementInBundleRequestBody.java @@ -308,7 +308,7 @@ public Optional getTierMode() { } /** - * @return The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. + * @return The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. */ @JsonProperty("usage_quantity") public Optional getUsageQuantity() { @@ -589,7 +589,7 @@ public interface _FinalStage { _FinalStage tierMode(BillingTiersMode tierMode); /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

*/ _FinalStage usageQuantity(Optional usageQuantity); @@ -891,7 +891,7 @@ public _FinalStage valueBool(Optional valueBool) { } /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override @@ -901,7 +901,7 @@ public _FinalStage usageQuantity(Long usageQuantity) { } /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

*/ @java.lang.Override @JsonSetter(value = "usage_quantity", nulls = Nulls.SKIP) diff --git a/src/main/java/com/schematic/api/types/CreditEventLedgerResponseData.java b/src/main/java/com/schematic/api/types/CreditEventLedgerResponseData.java index 8ae243cd..0754fa27 100644 --- a/src/main/java/com/schematic/api/types/CreditEventLedgerResponseData.java +++ b/src/main/java/com/schematic/api/types/CreditEventLedgerResponseData.java @@ -86,6 +86,8 @@ public final class CreditEventLedgerResponseData { private final Optional usageReason; + private final Optional userId; + private final Optional zeroedOutReason; private final Map additionalProperties; @@ -123,6 +125,7 @@ private CreditEventLedgerResponseData( Optional transferReason, Optional usageEventId, Optional usageReason, + Optional userId, Optional zeroedOutReason, Map additionalProperties) { this.amount = amount; @@ -157,6 +160,7 @@ private CreditEventLedgerResponseData( this.transferReason = transferReason; this.usageEventId = usageEventId; this.usageReason = usageReason; + this.userId = userId; this.zeroedOutReason = zeroedOutReason; this.additionalProperties = additionalProperties; } @@ -321,6 +325,11 @@ public Optional getUsageReason() { return usageReason; } + @JsonProperty("user_id") + public Optional getUserId() { + return userId; + } + @JsonProperty("zeroed_out_reason") public Optional getZeroedOutReason() { return zeroedOutReason; @@ -370,6 +379,7 @@ private boolean equalTo(CreditEventLedgerResponseData other) { && transferReason.equals(other.transferReason) && usageEventId.equals(other.usageEventId) && usageReason.equals(other.usageReason) + && userId.equals(other.userId) && zeroedOutReason.equals(other.zeroedOutReason); } @@ -408,6 +418,7 @@ public int hashCode() { this.transferReason, this.usageEventId, this.usageReason, + this.userId, this.zeroedOutReason); } @@ -557,6 +568,10 @@ public interface _FinalStage { _FinalStage usageReason(CreditUsageReason usageReason); + _FinalStage userId(Optional userId); + + _FinalStage userId(String userId); + _FinalStage zeroedOutReason(Optional zeroedOutReason); _FinalStage zeroedOutReason(BillingCreditGrantZeroedOutReason zeroedOutReason); @@ -594,6 +609,8 @@ public static final class Builder private Optional zeroedOutReason = Optional.empty(); + private Optional userId = Optional.empty(); + private Optional usageReason = Optional.empty(); private Optional usageEventId = Optional.empty(); @@ -679,6 +696,7 @@ public Builder from(CreditEventLedgerResponseData other) { transferReason(other.getTransferReason()); usageEventId(other.getUsageEventId()); usageReason(other.getUsageReason()); + userId(other.getUserId()); zeroedOutReason(other.getZeroedOutReason()); return this; } @@ -759,6 +777,19 @@ public _FinalStage zeroedOutReason(Optional z return this; } + @java.lang.Override + public _FinalStage userId(String userId) { + this.userId = Optional.ofNullable(userId); + return this; + } + + @java.lang.Override + @JsonSetter(value = "user_id", nulls = Nulls.SKIP) + public _FinalStage userId(Optional userId) { + this.userId = userId; + return this; + } + @java.lang.Override public _FinalStage usageReason(CreditUsageReason usageReason) { this.usageReason = Optional.ofNullable(usageReason); @@ -1093,6 +1124,7 @@ public CreditEventLedgerResponseData build() { transferReason, usageEventId, usageReason, + userId, zeroedOutReason, additionalProperties); } diff --git a/src/main/java/com/schematic/api/types/InvoiceRequestBody.java b/src/main/java/com/schematic/api/types/InvoiceRequestBody.java index 50eff93d..3afa363a 100644 --- a/src/main/java/com/schematic/api/types/InvoiceRequestBody.java +++ b/src/main/java/com/schematic/api/types/InvoiceRequestBody.java @@ -48,6 +48,8 @@ public final class InvoiceRequestBody { private final long subtotal; + private final Optional total; + private final Optional url; private final Map additionalProperties; @@ -66,6 +68,7 @@ private InvoiceRequestBody( Optional status, Optional subscriptionExternalId, long subtotal, + Optional total, Optional url, Map additionalProperties) { this.amountDue = amountDue; @@ -81,6 +84,7 @@ private InvoiceRequestBody( this.status = status; this.subscriptionExternalId = subscriptionExternalId; this.subtotal = subtotal; + this.total = total; this.url = url; this.additionalProperties = additionalProperties; } @@ -150,6 +154,11 @@ public long getSubtotal() { return subtotal; } + @JsonProperty("total") + public Optional getTotal() { + return total; + } + @JsonProperty("url") public Optional getUrl() { return url; @@ -180,6 +189,7 @@ private boolean equalTo(InvoiceRequestBody other) { && status.equals(other.status) && subscriptionExternalId.equals(other.subscriptionExternalId) && subtotal == other.subtotal + && total.equals(other.total) && url.equals(other.url); } @@ -199,6 +209,7 @@ public int hashCode() { this.status, this.subscriptionExternalId, this.subtotal, + this.total, this.url); } @@ -272,6 +283,10 @@ public interface _FinalStage { _FinalStage subscriptionExternalId(String subscriptionExternalId); + _FinalStage total(Optional total); + + _FinalStage total(Long total); + _FinalStage url(Optional url); _FinalStage url(String url); @@ -303,6 +318,8 @@ public static final class Builder private Optional url = Optional.empty(); + private Optional total = Optional.empty(); + private Optional subscriptionExternalId = Optional.empty(); private Optional status = Optional.empty(); @@ -335,6 +352,7 @@ public Builder from(InvoiceRequestBody other) { status(other.getStatus()); subscriptionExternalId(other.getSubscriptionExternalId()); subtotal(other.getSubtotal()); + total(other.getTotal()); url(other.getUrl()); return this; } @@ -401,6 +419,19 @@ public _FinalStage url(Optional url) { return this; } + @java.lang.Override + public _FinalStage total(Long total) { + this.total = Optional.ofNullable(total); + return this; + } + + @java.lang.Override + @JsonSetter(value = "total", nulls = Nulls.SKIP) + public _FinalStage total(Optional total) { + this.total = total; + return this; + } + @java.lang.Override public _FinalStage subscriptionExternalId(String subscriptionExternalId) { this.subscriptionExternalId = Optional.ofNullable(subscriptionExternalId); @@ -495,6 +526,7 @@ public InvoiceRequestBody build() { status, subscriptionExternalId, subtotal, + total, url, additionalProperties); } diff --git a/src/main/java/com/schematic/api/types/InvoiceResponseData.java b/src/main/java/com/schematic/api/types/InvoiceResponseData.java index b5975087..57610d00 100644 --- a/src/main/java/com/schematic/api/types/InvoiceResponseData.java +++ b/src/main/java/com/schematic/api/types/InvoiceResponseData.java @@ -60,6 +60,8 @@ public final class InvoiceResponseData { private final long subtotal; + private final Optional total; + private final OffsetDateTime updatedAt; private final Optional url; @@ -86,6 +88,7 @@ private InvoiceResponseData( Optional status, Optional subscriptionExternalId, long subtotal, + Optional total, OffsetDateTime updatedAt, Optional url, Map additionalProperties) { @@ -108,6 +111,7 @@ private InvoiceResponseData( this.status = status; this.subscriptionExternalId = subscriptionExternalId; this.subtotal = subtotal; + this.total = total; this.updatedAt = updatedAt; this.url = url; this.additionalProperties = additionalProperties; @@ -208,6 +212,14 @@ public long getSubtotal() { return subtotal; } + /** + * @return Amount after discounts and tax, before applying the customer balance. Null when the provider has not reported it: rows synced before the column existed, or pushed without one. + */ + @JsonProperty("total") + public Optional getTotal() { + return total; + } + @JsonProperty("updated_at") public OffsetDateTime getUpdatedAt() { return updatedAt; @@ -249,6 +261,7 @@ private boolean equalTo(InvoiceResponseData other) { && status.equals(other.status) && subscriptionExternalId.equals(other.subscriptionExternalId) && subtotal == other.subtotal + && total.equals(other.total) && updatedAt.equals(other.updatedAt) && url.equals(other.url); } @@ -275,6 +288,7 @@ public int hashCode() { this.status, this.subscriptionExternalId, this.subtotal, + this.total, this.updatedAt, this.url); } @@ -377,6 +391,13 @@ public interface _FinalStage { _FinalStage subscriptionExternalId(String subscriptionExternalId); + /** + *

Amount after discounts and tax, before applying the customer balance. Null when the provider has not reported it: rows synced before the column existed, or pushed without one.

+ */ + _FinalStage total(Optional total); + + _FinalStage total(Long total); + _FinalStage url(Optional url); _FinalStage url(String url); @@ -429,6 +450,8 @@ public static final class Builder private Optional url = Optional.empty(); + private Optional total = Optional.empty(); + private Optional subscriptionExternalId = Optional.empty(); private Optional status = Optional.empty(); @@ -467,6 +490,7 @@ public Builder from(InvoiceResponseData other) { status(other.getStatus()); subscriptionExternalId(other.getSubscriptionExternalId()); subtotal(other.getSubtotal()); + total(other.getTotal()); updatedAt(other.getUpdatedAt()); url(other.getUrl()); return this; @@ -583,6 +607,26 @@ public _FinalStage url(Optional url) { return this; } + /** + *

Amount after discounts and tax, before applying the customer balance. Null when the provider has not reported it: rows synced before the column existed, or pushed without one.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage total(Long total) { + this.total = Optional.ofNullable(total); + return this; + } + + /** + *

Amount after discounts and tax, before applying the customer balance. Null when the provider has not reported it: rows synced before the column existed, or pushed without one.

+ */ + @java.lang.Override + @JsonSetter(value = "total", nulls = Nulls.SKIP) + public _FinalStage total(Optional total) { + this.total = total; + return this; + } + @java.lang.Override public _FinalStage subscriptionExternalId(String subscriptionExternalId) { this.subscriptionExternalId = Optional.ofNullable(subscriptionExternalId); @@ -683,6 +727,7 @@ public InvoiceResponseData build() { status, subscriptionExternalId, subtotal, + total, updatedAt, url, additionalProperties); diff --git a/src/main/java/com/schematic/api/types/ManagePlanRequest.java b/src/main/java/com/schematic/api/types/ManagePlanRequest.java index d139a7ff..dc3d6658 100644 --- a/src/main/java/com/schematic/api/types/ManagePlanRequest.java +++ b/src/main/java/com/schematic/api/types/ManagePlanRequest.java @@ -50,6 +50,8 @@ public final class ManagePlanRequest { private final List creditBundles; + private final Optional currency; + private final List customFieldValues; private final Optional daysUntilDue; @@ -84,6 +86,7 @@ private ManagePlanRequest( String companyId, Optional couponExternalId, List creditBundles, + Optional currency, List customFieldValues, Optional daysUntilDue, List payInAdvanceEntitlements, @@ -107,6 +110,7 @@ private ManagePlanRequest( this.companyId = companyId; this.couponExternalId = couponExternalId; this.creditBundles = creditBundles; + this.currency = currency; this.customFieldValues = customFieldValues; this.daysUntilDue = daysUntilDue; this.payInAdvanceEntitlements = payInAdvanceEntitlements; @@ -202,6 +206,14 @@ public List getCreditBundles() { return creditBundles; } + /** + * @return ISO 4217 currency this change is being built in. Prices are still selected by id; this records the intent. + */ + @JsonProperty("currency") + public Optional getCurrency() { + return currency; + } + @JsonProperty("custom_field_values") public List getCustomFieldValues() { return customFieldValues; @@ -284,6 +296,7 @@ private boolean equalTo(ManagePlanRequest other) { && companyId.equals(other.companyId) && couponExternalId.equals(other.couponExternalId) && creditBundles.equals(other.creditBundles) + && currency.equals(other.currency) && customFieldValues.equals(other.customFieldValues) && daysUntilDue.equals(other.daysUntilDue) && payInAdvanceEntitlements.equals(other.payInAdvanceEntitlements) @@ -311,6 +324,7 @@ public int hashCode() { this.companyId, this.couponExternalId, this.creditBundles, + this.currency, this.customFieldValues, this.daysUntilDue, this.payInAdvanceEntitlements, @@ -414,6 +428,13 @@ public interface _FinalStage { _FinalStage addAllCreditBundles(List creditBundles); + /** + *

ISO 4217 currency this change is being built in. Prices are still selected by id; this records the intent.

+ */ + _FinalStage currency(Optional currency); + + _FinalStage currency(String currency); + _FinalStage customFieldValues(List customFieldValues); _FinalStage addCustomFieldValues(CheckoutFieldValue customFieldValues); @@ -489,6 +510,8 @@ public static final class Builder implements CompanyIdStage, _FinalStage { private List customFieldValues = new ArrayList<>(); + private Optional currency = Optional.empty(); + private List creditBundles = new ArrayList<>(); private Optional couponExternalId = Optional.empty(); @@ -533,6 +556,7 @@ public Builder from(ManagePlanRequest other) { companyId(other.getCompanyId()); couponExternalId(other.getCouponExternalId()); creditBundles(other.getCreditBundles()); + currency(other.getCurrency()); customFieldValues(other.getCustomFieldValues()); daysUntilDue(other.getDaysUntilDue()); payInAdvanceEntitlements(other.getPayInAdvanceEntitlements()); @@ -720,6 +744,26 @@ public _FinalStage customFieldValues(List customFieldValues) return this; } + /** + *

ISO 4217 currency this change is being built in. Prices are still selected by id; this records the intent.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage currency(String currency) { + this.currency = Optional.ofNullable(currency); + return this; + } + + /** + *

ISO 4217 currency this change is being built in. Prices are still selected by id; this records the intent.

+ */ + @java.lang.Override + @JsonSetter(value = "currency", nulls = Nulls.SKIP) + public _FinalStage currency(Optional currency) { + this.currency = currency; + return this; + } + @java.lang.Override public _FinalStage addAllCreditBundles(List creditBundles) { if (creditBundles != null) { @@ -956,6 +1000,7 @@ public ManagePlanRequest build() { companyId, couponExternalId, creditBundles, + currency, customFieldValues, daysUntilDue, payInAdvanceEntitlements, diff --git a/src/main/java/com/schematic/api/types/PlanEntitlementResponseData.java b/src/main/java/com/schematic/api/types/PlanEntitlementResponseData.java index a1a30ea3..14b163c6 100644 --- a/src/main/java/com/schematic/api/types/PlanEntitlementResponseData.java +++ b/src/main/java/com/schematic/api/types/PlanEntitlementResponseData.java @@ -286,7 +286,7 @@ public Optional getUsageBasedProduct() { } /** - * @return The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. + * @return The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. */ @JsonProperty("usage_quantity") public Optional getUsageQuantity() { @@ -538,7 +538,7 @@ public interface _FinalStage { _FinalStage usageBasedProduct(BillingProductResponseData usageBasedProduct); /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

*/ _FinalStage usageQuantity(Optional usageQuantity); @@ -834,7 +834,7 @@ public _FinalStage valueBool(Optional valueBool) { } /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override @@ -844,7 +844,7 @@ public _FinalStage usageQuantity(Long usageQuantity) { } /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

*/ @java.lang.Override @JsonSetter(value = "usage_quantity", nulls = Nulls.SKIP) diff --git a/src/main/java/com/schematic/api/types/PreviewSubscriptionFinanceResponseData.java b/src/main/java/com/schematic/api/types/PreviewSubscriptionFinanceResponseData.java index f6a5ca6d..0cc1c9db 100644 --- a/src/main/java/com/schematic/api/types/PreviewSubscriptionFinanceResponseData.java +++ b/src/main/java/com/schematic/api/types/PreviewSubscriptionFinanceResponseData.java @@ -26,6 +26,8 @@ public final class PreviewSubscriptionFinanceResponseData { private final long amountOff; + private final String currency; + private final long discountAmount; private final List discounts; @@ -62,6 +64,7 @@ public final class PreviewSubscriptionFinanceResponseData { private PreviewSubscriptionFinanceResponseData( long amountOff, + String currency, long discountAmount, List discounts, long dueNow, @@ -80,6 +83,7 @@ private PreviewSubscriptionFinanceResponseData( List upcomingInvoiceLineItems, Map additionalProperties) { this.amountOff = amountOff; + this.currency = currency; this.discountAmount = discountAmount; this.discounts = discounts; this.dueNow = dueNow; @@ -104,6 +108,14 @@ public long getAmountOff() { return amountOff; } + /** + * @return ISO 4217 currency every amount in this block is denominated in. + */ + @JsonProperty("currency") + public String getCurrency() { + return currency; + } + @JsonProperty("discount_amount") public long getDiscountAmount() { return discountAmount; @@ -198,6 +210,7 @@ public Map getAdditionalProperties() { private boolean equalTo(PreviewSubscriptionFinanceResponseData other) { return amountOff == other.amountOff + && currency.equals(other.currency) && discountAmount == other.discountAmount && discounts.equals(other.discounts) && dueNow == other.dueNow @@ -220,6 +233,7 @@ private boolean equalTo(PreviewSubscriptionFinanceResponseData other) { public int hashCode() { return Objects.hash( this.amountOff, + this.currency, this.discountAmount, this.discounts, this.dueNow, @@ -248,11 +262,18 @@ public static AmountOffStage builder() { } public interface AmountOffStage { - DiscountAmountStage amountOff(long amountOff); + CurrencyStage amountOff(long amountOff); Builder from(PreviewSubscriptionFinanceResponseData other); } + public interface CurrencyStage { + /** + *

ISO 4217 currency every amount in this block is denominated in.

+ */ + DiscountAmountStage currency(@NotNull String currency); + } + public interface DiscountAmountStage { DueNowStage discountAmount(long discountAmount); } @@ -334,6 +355,7 @@ _FinalStage addAllUpcomingInvoiceLineItems( @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder implements AmountOffStage, + CurrencyStage, DiscountAmountStage, DueNowStage, NewChargesStage, @@ -347,6 +369,8 @@ public static final class Builder _FinalStage { private long amountOff; + private String currency; + private long discountAmount; private long dueNow; @@ -387,6 +411,7 @@ private Builder() {} @java.lang.Override public Builder from(PreviewSubscriptionFinanceResponseData other) { amountOff(other.getAmountOff()); + currency(other.getCurrency()); discountAmount(other.getDiscountAmount()); discounts(other.getDiscounts()); dueNow(other.getDueNow()); @@ -408,11 +433,22 @@ public Builder from(PreviewSubscriptionFinanceResponseData other) { @java.lang.Override @JsonSetter("amount_off") - public DiscountAmountStage amountOff(long amountOff) { + public CurrencyStage amountOff(long amountOff) { this.amountOff = amountOff; return this; } + /** + *

ISO 4217 currency every amount in this block is denominated in.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("currency") + public DiscountAmountStage currency(@NotNull String currency) { + this.currency = Objects.requireNonNull(currency, "currency must not be null"); + return this; + } + @java.lang.Override @JsonSetter("discount_amount") public DueNowStage discountAmount(long discountAmount) { @@ -590,6 +626,7 @@ public _FinalStage discounts(List disco public PreviewSubscriptionFinanceResponseData build() { return new PreviewSubscriptionFinanceResponseData( amountOff, + currency, discountAmount, discounts, dueNow, diff --git a/src/main/java/com/schematic/api/types/RulesengineComparableOperator.java b/src/main/java/com/schematic/api/types/RulesengineComparableOperator.java new file mode 100644 index 00000000..d5aaf010 --- /dev/null +++ b/src/main/java/com/schematic/api/types/RulesengineComparableOperator.java @@ -0,0 +1,146 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +public final class RulesengineComparableOperator { + public static final RulesengineComparableOperator GTE = new RulesengineComparableOperator(Value.GTE, "gte"); + + public static final RulesengineComparableOperator GT = new RulesengineComparableOperator(Value.GT, "gt"); + + public static final RulesengineComparableOperator LT = new RulesengineComparableOperator(Value.LT, "lt"); + + public static final RulesengineComparableOperator NOT_EMPTY = + new RulesengineComparableOperator(Value.NOT_EMPTY, "not_empty"); + + public static final RulesengineComparableOperator IS_EMPTY = + new RulesengineComparableOperator(Value.IS_EMPTY, "is_empty"); + + public static final RulesengineComparableOperator EQ = new RulesengineComparableOperator(Value.EQ, "eq"); + + public static final RulesengineComparableOperator NE = new RulesengineComparableOperator(Value.NE, "ne"); + + public static final RulesengineComparableOperator LTE = new RulesengineComparableOperator(Value.LTE, "lte"); + + private final Value value; + + private final String string; + + RulesengineComparableOperator(Value value, String string) { + this.value = value; + this.string = string; + } + + public Value getEnumValue() { + return value; + } + + @java.lang.Override + @JsonValue + public String toString() { + return this.string; + } + + @java.lang.Override + public boolean equals(Object other) { + return (this == other) + || (other instanceof RulesengineComparableOperator + && this.string.equals(((RulesengineComparableOperator) other).string)); + } + + @java.lang.Override + public int hashCode() { + return this.string.hashCode(); + } + + public T visit(Visitor visitor) { + switch (value) { + case GTE: + return visitor.visitGte(); + case GT: + return visitor.visitGt(); + case LT: + return visitor.visitLt(); + case NOT_EMPTY: + return visitor.visitNotEmpty(); + case IS_EMPTY: + return visitor.visitIsEmpty(); + case EQ: + return visitor.visitEq(); + case NE: + return visitor.visitNe(); + case LTE: + return visitor.visitLte(); + case UNKNOWN: + default: + return visitor.visitUnknown(string); + } + } + + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) + public static RulesengineComparableOperator valueOf(String value) { + switch (value) { + case "gte": + return GTE; + case "gt": + return GT; + case "lt": + return LT; + case "not_empty": + return NOT_EMPTY; + case "is_empty": + return IS_EMPTY; + case "eq": + return EQ; + case "ne": + return NE; + case "lte": + return LTE; + default: + return new RulesengineComparableOperator(Value.UNKNOWN, value); + } + } + + public enum Value { + EQ, + + GT, + + GTE, + + IS_EMPTY, + + LT, + + LTE, + + NOT_EMPTY, + + NE, + + UNKNOWN + } + + public interface Visitor { + T visitEq(); + + T visitGt(); + + T visitGte(); + + T visitIsEmpty(); + + T visitLt(); + + T visitLte(); + + T visitNotEmpty(); + + T visitNe(); + + T visitUnknown(String unknownType); + } +} diff --git a/src/main/java/com/schematic/api/types/RulesengineCondition.java b/src/main/java/com/schematic/api/types/RulesengineCondition.java index 399cbda3..05d1237c 100644 --- a/src/main/java/com/schematic/api/types/RulesengineCondition.java +++ b/src/main/java/com/schematic/api/types/RulesengineCondition.java @@ -45,7 +45,7 @@ public final class RulesengineCondition { private final Optional metricValue; - private final ComparableOperator operator; + private final RulesengineComparableOperator operator; private final List resourceIds; @@ -67,7 +67,7 @@ private RulesengineCondition( Optional metricPeriod, Optional metricPeriodMonthReset, Optional metricValue, - ComparableOperator operator, + RulesengineComparableOperator operator, List resourceIds, Optional traitDefinition, String traitValue, @@ -146,7 +146,7 @@ public Optional getMetricValue() { } @JsonProperty("operator") - public ComparableOperator getOperator() { + public RulesengineComparableOperator getOperator() { return operator; } @@ -242,7 +242,7 @@ public interface IdStage { } public interface OperatorStage { - TraitValueStage operator(@NotNull ComparableOperator operator); + TraitValueStage operator(@NotNull RulesengineComparableOperator operator); } public interface TraitValueStage { @@ -312,7 +312,7 @@ public static final class Builder private String id; - private ComparableOperator operator; + private RulesengineComparableOperator operator; private String traitValue; @@ -389,7 +389,7 @@ public OperatorStage id(@NotNull String id) { @java.lang.Override @JsonSetter("operator") - public TraitValueStage operator(@NotNull ComparableOperator operator) { + public TraitValueStage operator(@NotNull RulesengineComparableOperator operator) { this.operator = Objects.requireNonNull(operator, "operator must not be null"); return this; } diff --git a/src/main/java/com/schematic/api/types/UpcomingInvoiceResponseData.java b/src/main/java/com/schematic/api/types/UpcomingInvoiceResponseData.java index a7f56cfd..1d3715e3 100644 --- a/src/main/java/com/schematic/api/types/UpcomingInvoiceResponseData.java +++ b/src/main/java/com/schematic/api/types/UpcomingInvoiceResponseData.java @@ -58,6 +58,8 @@ public final class UpcomingInvoiceResponseData { private final long subtotal; + private final Optional total; + private final OffsetDateTime updatedAt; private final Optional url; @@ -83,6 +85,7 @@ private UpcomingInvoiceResponseData( Optional status, Optional subscriptionExternalId, long subtotal, + Optional total, OffsetDateTime updatedAt, Optional url, Map additionalProperties) { @@ -104,6 +107,7 @@ private UpcomingInvoiceResponseData( this.status = status; this.subscriptionExternalId = subscriptionExternalId; this.subtotal = subtotal; + this.total = total; this.updatedAt = updatedAt; this.url = url; this.additionalProperties = additionalProperties; @@ -199,6 +203,14 @@ public long getSubtotal() { return subtotal; } + /** + * @return Amount after discounts and tax, before applying the customer balance. Null when the provider has not reported it. + */ + @JsonProperty("total") + public Optional getTotal() { + return total; + } + @JsonProperty("updated_at") public OffsetDateTime getUpdatedAt() { return updatedAt; @@ -239,6 +251,7 @@ private boolean equalTo(UpcomingInvoiceResponseData other) { && status.equals(other.status) && subscriptionExternalId.equals(other.subscriptionExternalId) && subtotal == other.subtotal + && total.equals(other.total) && updatedAt.equals(other.updatedAt) && url.equals(other.url); } @@ -264,6 +277,7 @@ public int hashCode() { this.status, this.subscriptionExternalId, this.subtotal, + this.total, this.updatedAt, this.url); } @@ -362,6 +376,13 @@ public interface _FinalStage { _FinalStage subscriptionExternalId(String subscriptionExternalId); + /** + *

Amount after discounts and tax, before applying the customer balance. Null when the provider has not reported it.

+ */ + _FinalStage total(Optional total); + + _FinalStage total(Long total); + _FinalStage url(Optional url); _FinalStage url(String url); @@ -411,6 +432,8 @@ public static final class Builder private Optional url = Optional.empty(); + private Optional total = Optional.empty(); + private Optional subscriptionExternalId = Optional.empty(); private Optional status = Optional.empty(); @@ -448,6 +471,7 @@ public Builder from(UpcomingInvoiceResponseData other) { status(other.getStatus()); subscriptionExternalId(other.getSubscriptionExternalId()); subtotal(other.getSubtotal()); + total(other.getTotal()); updatedAt(other.getUpdatedAt()); url(other.getUrl()); return this; @@ -557,6 +581,26 @@ public _FinalStage url(Optional url) { return this; } + /** + *

Amount after discounts and tax, before applying the customer balance. Null when the provider has not reported it.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage total(Long total) { + this.total = Optional.ofNullable(total); + return this; + } + + /** + *

Amount after discounts and tax, before applying the customer balance. Null when the provider has not reported it.

+ */ + @java.lang.Override + @JsonSetter(value = "total", nulls = Nulls.SKIP) + public _FinalStage total(Optional total) { + this.total = total; + return this; + } + @java.lang.Override public _FinalStage subscriptionExternalId(String subscriptionExternalId) { this.subscriptionExternalId = Optional.ofNullable(subscriptionExternalId); @@ -656,6 +700,7 @@ public UpcomingInvoiceResponseData build() { status, subscriptionExternalId, subtotal, + total, updatedAt, url, additionalProperties); diff --git a/src/main/java/com/schematic/api/types/UsageBasedEntitlementRequestBody.java b/src/main/java/com/schematic/api/types/UsageBasedEntitlementRequestBody.java index 294345d3..2f465c36 100644 --- a/src/main/java/com/schematic/api/types/UsageBasedEntitlementRequestBody.java +++ b/src/main/java/com/schematic/api/types/UsageBasedEntitlementRequestBody.java @@ -229,7 +229,7 @@ public Optional getTierMode() { } /** - * @return The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. + * @return The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. */ @JsonProperty("usage_quantity") public Optional getUsageQuantity() { @@ -634,7 +634,7 @@ public Builder tierMode(BillingTiersMode tierMode) { } /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

*/ @JsonSetter(value = "usage_quantity", nulls = Nulls.SKIP) public Builder usageQuantity(Optional usageQuantity) { diff --git a/src/main/java/com/schematic/api/types/UsageBasedEntitlementResponseData.java b/src/main/java/com/schematic/api/types/UsageBasedEntitlementResponseData.java index 921bbb65..f8900012 100644 --- a/src/main/java/com/schematic/api/types/UsageBasedEntitlementResponseData.java +++ b/src/main/java/com/schematic/api/types/UsageBasedEntitlementResponseData.java @@ -130,7 +130,7 @@ public Optional getQuarterlyUsageBasedPrice() { } /** - * @return The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. + * @return The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. */ @JsonProperty("usage_quantity") public Optional getUsageQuantity() { @@ -263,7 +263,7 @@ public interface _FinalStage { _FinalStage quarterlyUsageBasedPrice(BillingPriceView quarterlyUsageBasedPrice); /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

*/ _FinalStage usageQuantity(Optional usageQuantity); @@ -390,7 +390,7 @@ public _FinalStage valueBool(Optional valueBool) { } /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override @@ -400,7 +400,7 @@ public _FinalStage usageQuantity(Long usageQuantity) { } /** - *

The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use.

+ *

The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements.

*/ @java.lang.Override @JsonSetter(value = "usage_quantity", nulls = Nulls.SKIP) From c289f588715d0247af606212ad2a850eba50c915 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Mon, 28 Sep 2026 10:07:31 +0000 Subject: [PATCH 2/2] [fern-replay] advance lockfile --- .fern/replay.lock | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.fern/replay.lock b/.fern/replay.lock index 4b26222a..7b9a89b7 100644 --- a/.fern/replay.lock +++ b/.fern/replay.lock @@ -84,5 +84,11 @@ generations: cli_version: unknown generator_versions: fernapi/fern-java-sdk: 4.19.3 -current_generation: 2302c64a96e21563917931cfba0fce0a1cdbd632 + - commit_sha: ac8b9432bfdda18c456314a22fd45621125536d2 + tree_hash: 6ecf8449abd4221be8dc2ad40bf143461b8b44b1 + timestamp: 2026-09-28T10:07:27.799Z + cli_version: unknown + generator_versions: + fernapi/fern-java-sdk: 4.19.3 +current_generation: ac8b9432bfdda18c456314a22fd45621125536d2 patches: []