diff --git a/.gitignore b/.gitignore
index b1346e6d1..90b85e944 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
.prism.log
+.stdy.log
.gradle
.idea
.kotlin
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index cf3792294..9d3f6970c 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.489.0"
+ ".": "0.490.0"
}
\ No newline at end of file
diff --git a/.stats.yml b/.stats.yml
index 95ef4a0f4..2817e54f5 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 236
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-435a0c3bc8525f4e55189c5a54a7bd4369586c20031d9601ce40e66ba6d70282.yml
-openapi_spec_hash: ec1dd937766a1b35a200d9b4787a1013
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-c125ce952e66ce3ea3b9a4d1c5a2449584ec7290497e3b6bba8358960713fb79.yml
+openapi_spec_hash: 1ed3f6bc7b08ca891adea5fab74430c9
config_hash: 25d7d7aa4882db6189b4b53e8e249e80
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0b6ef1389..4e2d65d9f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,19 @@
# Changelog
+## 0.490.0 (2026-03-23)
+
+Full Changelog: [v0.489.0...v0.490.0](https://github.com/Increase/increase-java/compare/v0.489.0...v0.490.0)
+
+### Features
+
+* **api:** api update ([a85e3c5](https://github.com/Increase/increase-java/commit/a85e3c5fbd9d8ed4c6209f01486c0bebc74d2171))
+
+
+### Chores
+
+* **internal:** update gitignore ([8c48584](https://github.com/Increase/increase-java/commit/8c485847941ea867bcea6c119e63d65619abdf5a))
+* **tests:** bump steady to v0.19.6 ([7189b45](https://github.com/Increase/increase-java/commit/7189b4537632d92c5433894b5db6f786d41634a0))
+
## 0.489.0 (2026-03-21)
Full Changelog: [v0.488.0...v0.489.0](https://github.com/Increase/increase-java/compare/v0.488.0...v0.489.0)
diff --git a/README.md b/README.md
index e23259802..d909478a0 100644
--- a/README.md
+++ b/README.md
@@ -2,8 +2,8 @@
-[](https://central.sonatype.com/artifact/com.increase.api/increase-java/0.489.0)
-[](https://javadoc.io/doc/com.increase.api/increase-java/0.489.0)
+[](https://central.sonatype.com/artifact/com.increase.api/increase-java/0.490.0)
+[](https://javadoc.io/doc/com.increase.api/increase-java/0.490.0)
@@ -13,7 +13,7 @@ The Increase Java SDK is similar to the Increase Kotlin SDK but with minor diffe
-The REST API documentation can be found on [increase.com](https://increase.com/documentation). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.increase.api/increase-java/0.489.0).
+The REST API documentation can be found on [increase.com](https://increase.com/documentation). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.increase.api/increase-java/0.490.0).
@@ -24,7 +24,7 @@ The REST API documentation can be found on [increase.com](https://increase.com/d
### Gradle
```kotlin
-implementation("com.increase.api:increase-java:0.489.0")
+implementation("com.increase.api:increase-java:0.490.0")
```
### Maven
@@ -33,7 +33,7 @@ implementation("com.increase.api:increase-java:0.489.0")
com.increase.api
increase-java
- 0.489.0
+ 0.490.0
```
diff --git a/build.gradle.kts b/build.gradle.kts
index 319d28067..07720c920 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -8,7 +8,7 @@ repositories {
allprojects {
group = "com.increase.api"
- version = "0.489.0" // x-release-please-version
+ version = "0.490.0" // x-release-please-version
}
subprojects {
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/cardtokens/CardTokenCapabilities.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/cardtokens/CardTokenCapabilities.kt
index 745b3bcb5..6bd598f57 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/models/cardtokens/CardTokenCapabilities.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/models/cardtokens/CardTokenCapabilities.kt
@@ -224,6 +224,7 @@ private constructor(
private constructor(
private val crossBorderPushTransfers: JsonField,
private val domesticPushTransfers: JsonField,
+ private val issuerCountry: JsonField,
private val route: JsonField,
private val additionalProperties: MutableMap,
) {
@@ -236,8 +237,17 @@ private constructor(
@JsonProperty("domestic_push_transfers")
@ExcludeMissing
domesticPushTransfers: JsonField = JsonMissing.of(),
+ @JsonProperty("issuer_country")
+ @ExcludeMissing
+ issuerCountry: JsonField = JsonMissing.of(),
@JsonProperty("route") @ExcludeMissing route: JsonField = JsonMissing.of(),
- ) : this(crossBorderPushTransfers, domesticPushTransfers, route, mutableMapOf())
+ ) : this(
+ crossBorderPushTransfers,
+ domesticPushTransfers,
+ issuerCountry,
+ route,
+ mutableMapOf(),
+ )
/**
* Whether you can push funds to the card using cross-border Card Push Transfers.
@@ -257,6 +267,14 @@ private constructor(
fun domesticPushTransfers(): DomesticPushTransfers =
domesticPushTransfers.getRequired("domestic_push_transfers")
+ /**
+ * The ISO-3166-1 alpha-2 country code of the card's issuing bank.
+ *
+ * @throws IncreaseInvalidDataException if the JSON field has an unexpected type or is
+ * unexpectedly missing or null (e.g. if the server responded with an unexpected value).
+ */
+ fun issuerCountry(): String = issuerCountry.getRequired("issuer_country")
+
/**
* The card network route the capabilities apply to.
*
@@ -286,6 +304,16 @@ private constructor(
@ExcludeMissing
fun _domesticPushTransfers(): JsonField = domesticPushTransfers
+ /**
+ * Returns the raw JSON value of [issuerCountry].
+ *
+ * Unlike [issuerCountry], this method doesn't throw if the JSON field has an unexpected
+ * type.
+ */
+ @JsonProperty("issuer_country")
+ @ExcludeMissing
+ fun _issuerCountry(): JsonField = issuerCountry
+
/**
* Returns the raw JSON value of [route].
*
@@ -314,6 +342,7 @@ private constructor(
* ```java
* .crossBorderPushTransfers()
* .domesticPushTransfers()
+ * .issuerCountry()
* .route()
* ```
*/
@@ -325,6 +354,7 @@ private constructor(
private var crossBorderPushTransfers: JsonField? = null
private var domesticPushTransfers: JsonField? = null
+ private var issuerCountry: JsonField? = null
private var route: JsonField? = null
private var additionalProperties: MutableMap = mutableMapOf()
@@ -332,6 +362,7 @@ private constructor(
internal fun from(route: Route) = apply {
crossBorderPushTransfers = route.crossBorderPushTransfers
domesticPushTransfers = route.domesticPushTransfers
+ issuerCountry = route.issuerCountry
this.route = route.route
additionalProperties = route.additionalProperties.toMutableMap()
}
@@ -367,6 +398,20 @@ private constructor(
this.domesticPushTransfers = domesticPushTransfers
}
+ /** The ISO-3166-1 alpha-2 country code of the card's issuing bank. */
+ fun issuerCountry(issuerCountry: String) = issuerCountry(JsonField.of(issuerCountry))
+
+ /**
+ * Sets [Builder.issuerCountry] to an arbitrary JSON value.
+ *
+ * You should usually call [Builder.issuerCountry] with a well-typed [String] value
+ * instead. This method is primarily for setting the field to an undocumented or not yet
+ * supported value.
+ */
+ fun issuerCountry(issuerCountry: JsonField) = apply {
+ this.issuerCountry = issuerCountry
+ }
+
/** The card network route the capabilities apply to. */
fun route(route: InnerRoute) = route(JsonField.of(route))
@@ -407,6 +452,7 @@ private constructor(
* ```java
* .crossBorderPushTransfers()
* .domesticPushTransfers()
+ * .issuerCountry()
* .route()
* ```
*
@@ -416,6 +462,7 @@ private constructor(
Route(
checkRequired("crossBorderPushTransfers", crossBorderPushTransfers),
checkRequired("domesticPushTransfers", domesticPushTransfers),
+ checkRequired("issuerCountry", issuerCountry),
checkRequired("route", route),
additionalProperties.toMutableMap(),
)
@@ -430,6 +477,7 @@ private constructor(
crossBorderPushTransfers().validate()
domesticPushTransfers().validate()
+ issuerCountry()
route().validate()
validated = true
}
@@ -452,6 +500,7 @@ private constructor(
internal fun validity(): Int =
(crossBorderPushTransfers.asKnown().getOrNull()?.validity() ?: 0) +
(domesticPushTransfers.asKnown().getOrNull()?.validity() ?: 0) +
+ (if (issuerCountry.asKnown().isPresent) 1 else 0) +
(route.asKnown().getOrNull()?.validity() ?: 0)
/** Whether you can push funds to the card using cross-border Card Push Transfers. */
@@ -886,6 +935,7 @@ private constructor(
return other is Route &&
crossBorderPushTransfers == other.crossBorderPushTransfers &&
domesticPushTransfers == other.domesticPushTransfers &&
+ issuerCountry == other.issuerCountry &&
route == other.route &&
additionalProperties == other.additionalProperties
}
@@ -894,6 +944,7 @@ private constructor(
Objects.hash(
crossBorderPushTransfers,
domesticPushTransfers,
+ issuerCountry,
route,
additionalProperties,
)
@@ -902,7 +953,7 @@ private constructor(
override fun hashCode(): Int = hashCode
override fun toString() =
- "Route{crossBorderPushTransfers=$crossBorderPushTransfers, domesticPushTransfers=$domesticPushTransfers, route=$route, additionalProperties=$additionalProperties}"
+ "Route{crossBorderPushTransfers=$crossBorderPushTransfers, domesticPushTransfers=$domesticPushTransfers, issuerCountry=$issuerCountry, route=$route, additionalProperties=$additionalProperties}"
}
/**
diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/cardtokens/CardTokenCapabilitiesTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/cardtokens/CardTokenCapabilitiesTest.kt
index e6a20a84e..dcea9e800 100644
--- a/increase-java-core/src/test/kotlin/com/increase/api/models/cardtokens/CardTokenCapabilitiesTest.kt
+++ b/increase-java-core/src/test/kotlin/com/increase/api/models/cardtokens/CardTokenCapabilitiesTest.kt
@@ -21,6 +21,7 @@ internal class CardTokenCapabilitiesTest {
.domesticPushTransfers(
CardTokenCapabilities.Route.DomesticPushTransfers.SUPPORTED
)
+ .issuerCountry("US")
.route(CardTokenCapabilities.Route.InnerRoute.VISA)
.build()
)
@@ -36,6 +37,7 @@ internal class CardTokenCapabilitiesTest {
.domesticPushTransfers(
CardTokenCapabilities.Route.DomesticPushTransfers.SUPPORTED
)
+ .issuerCountry("US")
.route(CardTokenCapabilities.Route.InnerRoute.VISA)
.build()
)
@@ -56,6 +58,7 @@ internal class CardTokenCapabilitiesTest {
.domesticPushTransfers(
CardTokenCapabilities.Route.DomesticPushTransfers.SUPPORTED
)
+ .issuerCountry("US")
.route(CardTokenCapabilities.Route.InnerRoute.VISA)
.build()
)
diff --git a/scripts/mock b/scripts/mock
index 0f5e20640..1983fb9ba 100755
--- a/scripts/mock
+++ b/scripts/mock
@@ -22,9 +22,9 @@ echo "==> Starting mock server with URL ${URL}"
# Run steady mock on the given spec
if [ "$1" == "--daemon" ]; then
# Pre-install the package so the download doesn't eat into the startup timeout
- npm exec --package=@stdy/cli@0.19.5 -- steady --version
+ npm exec --package=@stdy/cli@0.19.6 -- steady --version
- npm exec --package=@stdy/cli@0.19.5 -- steady --host 127.0.0.1 -p 4010 --validator-form-array-format=comma --validator-query-array-format=comma --validator-form-object-format=dots --validator-query-object-format=dots "$URL" &> .stdy.log &
+ npm exec --package=@stdy/cli@0.19.6 -- steady --host 127.0.0.1 -p 4010 --validator-form-array-format=comma --validator-query-array-format=comma --validator-form-object-format=dots --validator-query-object-format=dots "$URL" &> .stdy.log &
# Wait for server to come online via health endpoint (max 30s)
echo -n "Waiting for server"
@@ -48,5 +48,5 @@ if [ "$1" == "--daemon" ]; then
echo
else
- npm exec --package=@stdy/cli@0.19.5 -- steady --host 127.0.0.1 -p 4010 --validator-form-array-format=comma --validator-query-array-format=comma --validator-form-object-format=dots --validator-query-object-format=dots "$URL"
+ npm exec --package=@stdy/cli@0.19.6 -- steady --host 127.0.0.1 -p 4010 --validator-form-array-format=comma --validator-query-array-format=comma --validator-form-object-format=dots --validator-query-object-format=dots "$URL"
fi
diff --git a/scripts/test b/scripts/test
index 4765d39f5..839c7a898 100755
--- a/scripts/test
+++ b/scripts/test
@@ -43,7 +43,7 @@ elif ! steady_is_running ; then
echo -e "To run the server, pass in the path or url of your OpenAPI"
echo -e "spec to the steady command:"
echo
- echo -e " \$ ${YELLOW}npm exec --package=@stdy/cli@0.19.5 -- steady path/to/your.openapi.yml --host 127.0.0.1 -p 4010 --validator-form-array-format=comma --validator-query-array-format=comma --validator-form-object-format=dots --validator-query-object-format=dots${NC}"
+ echo -e " \$ ${YELLOW}npm exec --package=@stdy/cli@0.19.6 -- steady path/to/your.openapi.yml --host 127.0.0.1 -p 4010 --validator-form-array-format=comma --validator-query-array-format=comma --validator-form-object-format=dots --validator-query-object-format=dots${NC}"
echo
exit 1