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: []