diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 8d6ed7aed..1e9a53acd 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.259.0"
+ ".": "0.260.0"
}
\ No newline at end of file
diff --git a/.stats.yml b/.stats.yml
index 18daa6ba3..083e8155e 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 202
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-a7e0e17a385ddfb049d0fe4e5d05785901cf40f464c51399d7c2cd1f863696c0.yml
-openapi_spec_hash: b4bca6edf466e9061a72c98207f92c6d
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-f0b14ed0b6857930b2bbb80a8a0580dff2aad5510240f608ea9385a8b1d1b66b.yml
+openapi_spec_hash: ea869bb98167424f60f8ef006da70945
config_hash: a185e9a72778cc4658ea73fb3a7f1354
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8f14bba58..20c3b17c7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
# Changelog
+## 0.260.0 (2025-07-10)
+
+Full Changelog: [v0.259.0...v0.260.0](https://github.com/Increase/increase-java/compare/v0.259.0...v0.260.0)
+
+### Features
+
+* **api:** api update ([a12171a](https://github.com/Increase/increase-java/commit/a12171a1fb5987ddeb1bec3588358f9d7218641b))
+
## 0.259.0 (2025-07-09)
Full Changelog: [v0.258.0...v0.259.0](https://github.com/Increase/increase-java/compare/v0.258.0...v0.259.0)
diff --git a/README.md b/README.md
index 7738c1f13..d5c2cfa68 100644
--- a/README.md
+++ b/README.md
@@ -2,8 +2,8 @@
-[](https://central.sonatype.com/artifact/com.increase.api/increase-java/0.259.0)
-[](https://javadoc.io/doc/com.increase.api/increase-java/0.259.0)
+[](https://central.sonatype.com/artifact/com.increase.api/increase-java/0.260.0)
+[](https://javadoc.io/doc/com.increase.api/increase-java/0.260.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.259.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.260.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.259.0")
+implementation("com.increase.api:increase-java:0.260.0")
```
### Maven
@@ -33,7 +33,7 @@ implementation("com.increase.api:increase-java:0.259.0")
com.increase.api
increase-java
- 0.259.0
+ 0.260.0
```
diff --git a/build.gradle.kts b/build.gradle.kts
index b577b14ff..8b71fb90c 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -8,7 +8,7 @@ repositories {
allprojects {
group = "com.increase.api"
- version = "0.259.0" // x-release-please-version
+ version = "0.260.0" // x-release-please-version
}
subprojects {
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardDetails.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardDetails.kt
index 562ebddd8..eea7b68c4 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardDetails.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/models/cards/CardDetails.kt
@@ -23,6 +23,7 @@ private constructor(
private val cardId: JsonField,
private val expirationMonth: JsonField,
private val expirationYear: JsonField,
+ private val pin: JsonField,
private val primaryAccountNumber: JsonField,
private val type: JsonField,
private val verificationCode: JsonField,
@@ -38,6 +39,7 @@ private constructor(
@JsonProperty("expiration_year")
@ExcludeMissing
expirationYear: JsonField = JsonMissing.of(),
+ @JsonProperty("pin") @ExcludeMissing pin: JsonField = JsonMissing.of(),
@JsonProperty("primary_account_number")
@ExcludeMissing
primaryAccountNumber: JsonField = JsonMissing.of(),
@@ -49,6 +51,7 @@ private constructor(
cardId,
expirationMonth,
expirationYear,
+ pin,
primaryAccountNumber,
type,
verificationCode,
@@ -79,6 +82,14 @@ private constructor(
*/
fun expirationYear(): Long = expirationYear.getRequired("expiration_year")
+ /**
+ * The 4-digit PIN for the card, for use with ATMs.
+ *
+ * @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 pin(): String = pin.getRequired("pin")
+
/**
* The card number.
*
@@ -130,6 +141,13 @@ private constructor(
@ExcludeMissing
fun _expirationYear(): JsonField = expirationYear
+ /**
+ * Returns the raw JSON value of [pin].
+ *
+ * Unlike [pin], this method doesn't throw if the JSON field has an unexpected type.
+ */
+ @JsonProperty("pin") @ExcludeMissing fun _pin(): JsonField = pin
+
/**
* Returns the raw JSON value of [primaryAccountNumber].
*
@@ -179,6 +197,7 @@ private constructor(
* .cardId()
* .expirationMonth()
* .expirationYear()
+ * .pin()
* .primaryAccountNumber()
* .type()
* .verificationCode()
@@ -193,6 +212,7 @@ private constructor(
private var cardId: JsonField? = null
private var expirationMonth: JsonField? = null
private var expirationYear: JsonField? = null
+ private var pin: JsonField? = null
private var primaryAccountNumber: JsonField? = null
private var type: JsonField? = null
private var verificationCode: JsonField? = null
@@ -203,6 +223,7 @@ private constructor(
cardId = cardDetails.cardId
expirationMonth = cardDetails.expirationMonth
expirationYear = cardDetails.expirationYear
+ pin = cardDetails.pin
primaryAccountNumber = cardDetails.primaryAccountNumber
type = cardDetails.type
verificationCode = cardDetails.verificationCode
@@ -248,6 +269,17 @@ private constructor(
this.expirationYear = expirationYear
}
+ /** The 4-digit PIN for the card, for use with ATMs. */
+ fun pin(pin: String) = pin(JsonField.of(pin))
+
+ /**
+ * Sets [Builder.pin] to an arbitrary JSON value.
+ *
+ * You should usually call [Builder.pin] with a well-typed [String] value instead. This
+ * method is primarily for setting the field to an undocumented or not yet supported value.
+ */
+ fun pin(pin: JsonField) = apply { this.pin = pin }
+
/** The card number. */
fun primaryAccountNumber(primaryAccountNumber: String) =
primaryAccountNumber(JsonField.of(primaryAccountNumber))
@@ -324,6 +356,7 @@ private constructor(
* .cardId()
* .expirationMonth()
* .expirationYear()
+ * .pin()
* .primaryAccountNumber()
* .type()
* .verificationCode()
@@ -336,6 +369,7 @@ private constructor(
checkRequired("cardId", cardId),
checkRequired("expirationMonth", expirationMonth),
checkRequired("expirationYear", expirationYear),
+ checkRequired("pin", pin),
checkRequired("primaryAccountNumber", primaryAccountNumber),
checkRequired("type", type),
checkRequired("verificationCode", verificationCode),
@@ -353,6 +387,7 @@ private constructor(
cardId()
expirationMonth()
expirationYear()
+ pin()
primaryAccountNumber()
type().validate()
verificationCode()
@@ -377,6 +412,7 @@ private constructor(
(if (cardId.asKnown().isPresent) 1 else 0) +
(if (expirationMonth.asKnown().isPresent) 1 else 0) +
(if (expirationYear.asKnown().isPresent) 1 else 0) +
+ (if (pin.asKnown().isPresent) 1 else 0) +
(if (primaryAccountNumber.asKnown().isPresent) 1 else 0) +
(type.asKnown().getOrNull()?.validity() ?: 0) +
(if (verificationCode.asKnown().isPresent) 1 else 0)
@@ -511,15 +547,15 @@ private constructor(
return true
}
- return /* spotless:off */ other is CardDetails && cardId == other.cardId && expirationMonth == other.expirationMonth && expirationYear == other.expirationYear && primaryAccountNumber == other.primaryAccountNumber && type == other.type && verificationCode == other.verificationCode && additionalProperties == other.additionalProperties /* spotless:on */
+ return /* spotless:off */ other is CardDetails && cardId == other.cardId && expirationMonth == other.expirationMonth && expirationYear == other.expirationYear && pin == other.pin && primaryAccountNumber == other.primaryAccountNumber && type == other.type && verificationCode == other.verificationCode && additionalProperties == other.additionalProperties /* spotless:on */
}
/* spotless:off */
- private val hashCode: Int by lazy { Objects.hash(cardId, expirationMonth, expirationYear, primaryAccountNumber, type, verificationCode, additionalProperties) }
+ private val hashCode: Int by lazy { Objects.hash(cardId, expirationMonth, expirationYear, pin, primaryAccountNumber, type, verificationCode, additionalProperties) }
/* spotless:on */
override fun hashCode(): Int = hashCode
override fun toString() =
- "CardDetails{cardId=$cardId, expirationMonth=$expirationMonth, expirationYear=$expirationYear, primaryAccountNumber=$primaryAccountNumber, type=$type, verificationCode=$verificationCode, additionalProperties=$additionalProperties}"
+ "CardDetails{cardId=$cardId, expirationMonth=$expirationMonth, expirationYear=$expirationYear, pin=$pin, primaryAccountNumber=$primaryAccountNumber, type=$type, verificationCode=$verificationCode, additionalProperties=$additionalProperties}"
}
diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardDetailsTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardDetailsTest.kt
index 2a78ebd9a..45b492e2f 100644
--- a/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardDetailsTest.kt
+++ b/increase-java-core/src/test/kotlin/com/increase/api/models/cards/CardDetailsTest.kt
@@ -16,6 +16,7 @@ internal class CardDetailsTest {
.cardId("card_oubs0hwk5rn6knuecxg2")
.expirationMonth(7L)
.expirationYear(2025L)
+ .pin("1234")
.primaryAccountNumber("4242424242424242")
.type(CardDetails.Type.CARD_DETAILS)
.verificationCode("123")
@@ -24,6 +25,7 @@ internal class CardDetailsTest {
assertThat(cardDetails.cardId()).isEqualTo("card_oubs0hwk5rn6knuecxg2")
assertThat(cardDetails.expirationMonth()).isEqualTo(7L)
assertThat(cardDetails.expirationYear()).isEqualTo(2025L)
+ assertThat(cardDetails.pin()).isEqualTo("1234")
assertThat(cardDetails.primaryAccountNumber()).isEqualTo("4242424242424242")
assertThat(cardDetails.type()).isEqualTo(CardDetails.Type.CARD_DETAILS)
assertThat(cardDetails.verificationCode()).isEqualTo("123")
@@ -37,6 +39,7 @@ internal class CardDetailsTest {
.cardId("card_oubs0hwk5rn6knuecxg2")
.expirationMonth(7L)
.expirationYear(2025L)
+ .pin("1234")
.primaryAccountNumber("4242424242424242")
.type(CardDetails.Type.CARD_DETAILS)
.verificationCode("123")