diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index e6a02ed0a..68764d436 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.307.0"
+ ".": "0.308.0"
}
\ No newline at end of file
diff --git a/.stats.yml b/.stats.yml
index 24b3407c3..160b294b4 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 216
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-f53b2a737b80cf584e4c30b143f41b7afe73bce6c02e00ccd09ff36d30e3d913.yml
-openapi_spec_hash: eda3be244729410eb2747752c40a1124
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-a6d99e6e3e405acf3e592e273aa1c5d519ed4f1157d0f87f1dcf21e7710f59b5.yml
+openapi_spec_hash: f1f21c7331c905f2e5549978454059dc
config_hash: 632b628b59d8f0b717153b3d8133f6cb
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7083b70be..75d9fbf1d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
# Changelog
+## 0.308.0 (2025-08-28)
+
+Full Changelog: [v0.307.0...v0.308.0](https://github.com/Increase/increase-java/compare/v0.307.0...v0.308.0)
+
+### Features
+
+* **api:** api update ([6e33c80](https://github.com/Increase/increase-java/commit/6e33c80f8694f44e4b480b447a3f69c29db58e23))
+
## 0.307.0 (2025-08-28)
Full Changelog: [v0.306.0...v0.307.0](https://github.com/Increase/increase-java/compare/v0.306.0...v0.307.0)
diff --git a/README.md b/README.md
index fd94cec08..c93b6eeb6 100644
--- a/README.md
+++ b/README.md
@@ -2,8 +2,8 @@
-[](https://central.sonatype.com/artifact/com.increase.api/increase-java/0.307.0)
-[](https://javadoc.io/doc/com.increase.api/increase-java/0.307.0)
+[](https://central.sonatype.com/artifact/com.increase.api/increase-java/0.308.0)
+[](https://javadoc.io/doc/com.increase.api/increase-java/0.308.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.307.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.308.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.307.0")
+implementation("com.increase.api:increase-java:0.308.0")
```
### Maven
@@ -33,7 +33,7 @@ implementation("com.increase.api:increase-java:0.307.0")
com.increase.api
increase-java
- 0.307.0
+ 0.308.0
```
diff --git a/build.gradle.kts b/build.gradle.kts
index 4a4d27de0..de32f5afe 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -8,7 +8,7 @@ repositories {
allprojects {
group = "com.increase.api"
- version = "0.307.0" // x-release-please-version
+ version = "0.308.0" // x-release-please-version
}
subprojects {
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/simulations/achtransfers/AchTransferSettleParams.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/simulations/achtransfers/AchTransferSettleParams.kt
index 2658e0b9b..8d610f0b8 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/models/simulations/achtransfers/AchTransferSettleParams.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/models/simulations/achtransfers/AchTransferSettleParams.kt
@@ -2,11 +2,20 @@
package com.increase.api.models.simulations.achtransfers
+import com.fasterxml.jackson.annotation.JsonAnyGetter
+import com.fasterxml.jackson.annotation.JsonAnySetter
+import com.fasterxml.jackson.annotation.JsonCreator
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.increase.api.core.Enum
+import com.increase.api.core.ExcludeMissing
+import com.increase.api.core.JsonField
+import com.increase.api.core.JsonMissing
import com.increase.api.core.JsonValue
import com.increase.api.core.Params
import com.increase.api.core.http.Headers
import com.increase.api.core.http.QueryParams
-import com.increase.api.core.toImmutable
+import com.increase.api.errors.IncreaseInvalidDataException
+import java.util.Collections
import java.util.Objects
import java.util.Optional
import kotlin.jvm.optionals.getOrNull
@@ -16,21 +25,42 @@ import kotlin.jvm.optionals.getOrNull
* transfer must first have a `status` of `pending_submission` or `submitted`. For convenience, if
* the transfer is in `status`: `pending_submission`, the simulation will also submit the transfer.
* Without this simulation the transfer will eventually settle on its own following the same Federal
- * Reserve timeline as in production.
+ * Reserve timeline as in production. Additionally, you can specify the behavior of the inbound
+ * funds hold that is created when the ACH Transfer is settled. If no behavior is specified, the
+ * inbound funds hold will be released immediately in order for the funds to be available for use.
*/
class AchTransferSettleParams
private constructor(
private val achTransferId: String?,
+ private val body: Body,
private val additionalHeaders: Headers,
private val additionalQueryParams: QueryParams,
- private val additionalBodyProperties: Map,
) : Params {
/** The identifier of the ACH Transfer you wish to become settled. */
fun achTransferId(): Optional = Optional.ofNullable(achTransferId)
- /** Additional body properties to send with the request. */
- fun _additionalBodyProperties(): Map = additionalBodyProperties
+ /**
+ * The behavior of the inbound funds hold that is created when the ACH Transfer is settled. If
+ * no behavior is specified, the inbound funds hold will be released immediately in order for
+ * the funds to be available for use.
+ *
+ * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if the
+ * server responded with an unexpected value).
+ */
+ fun inboundFundsHoldBehavior(): Optional =
+ body.inboundFundsHoldBehavior()
+
+ /**
+ * Returns the raw JSON value of [inboundFundsHoldBehavior].
+ *
+ * Unlike [inboundFundsHoldBehavior], this method doesn't throw if the JSON field has an
+ * unexpected type.
+ */
+ fun _inboundFundsHoldBehavior(): JsonField =
+ body._inboundFundsHoldBehavior()
+
+ fun _additionalBodyProperties(): Map = body._additionalProperties()
/** Additional headers to send with the request. */
fun _additionalHeaders(): Headers = additionalHeaders
@@ -52,17 +82,16 @@ private constructor(
class Builder internal constructor() {
private var achTransferId: String? = null
+ private var body: Body.Builder = Body.builder()
private var additionalHeaders: Headers.Builder = Headers.builder()
private var additionalQueryParams: QueryParams.Builder = QueryParams.builder()
- private var additionalBodyProperties: MutableMap = mutableMapOf()
@JvmSynthetic
internal fun from(achTransferSettleParams: AchTransferSettleParams) = apply {
achTransferId = achTransferSettleParams.achTransferId
+ body = achTransferSettleParams.body.toBuilder()
additionalHeaders = achTransferSettleParams.additionalHeaders.toBuilder()
additionalQueryParams = achTransferSettleParams.additionalQueryParams.toBuilder()
- additionalBodyProperties =
- achTransferSettleParams.additionalBodyProperties.toMutableMap()
}
/** The identifier of the ACH Transfer you wish to become settled. */
@@ -72,6 +101,54 @@ private constructor(
fun achTransferId(achTransferId: Optional) =
achTransferId(achTransferId.getOrNull())
+ /**
+ * Sets the entire request body.
+ *
+ * This is generally only useful if you are already constructing the body separately.
+ * Otherwise, it's more convenient to use the top-level setters instead:
+ * - [inboundFundsHoldBehavior]
+ */
+ fun body(body: Body) = apply { this.body = body.toBuilder() }
+
+ /**
+ * The behavior of the inbound funds hold that is created when the ACH Transfer is settled.
+ * If no behavior is specified, the inbound funds hold will be released immediately in order
+ * for the funds to be available for use.
+ */
+ fun inboundFundsHoldBehavior(inboundFundsHoldBehavior: InboundFundsHoldBehavior) = apply {
+ body.inboundFundsHoldBehavior(inboundFundsHoldBehavior)
+ }
+
+ /**
+ * Sets [Builder.inboundFundsHoldBehavior] to an arbitrary JSON value.
+ *
+ * You should usually call [Builder.inboundFundsHoldBehavior] with a well-typed
+ * [InboundFundsHoldBehavior] value instead. This method is primarily for setting the field
+ * to an undocumented or not yet supported value.
+ */
+ fun inboundFundsHoldBehavior(
+ inboundFundsHoldBehavior: JsonField
+ ) = apply { body.inboundFundsHoldBehavior(inboundFundsHoldBehavior) }
+
+ fun additionalBodyProperties(additionalBodyProperties: Map) = apply {
+ body.additionalProperties(additionalBodyProperties)
+ }
+
+ fun putAdditionalBodyProperty(key: String, value: JsonValue) = apply {
+ body.putAdditionalProperty(key, value)
+ }
+
+ fun putAllAdditionalBodyProperties(additionalBodyProperties: Map) =
+ apply {
+ body.putAllAdditionalProperties(additionalBodyProperties)
+ }
+
+ fun removeAdditionalBodyProperty(key: String) = apply { body.removeAdditionalProperty(key) }
+
+ fun removeAllAdditionalBodyProperties(keys: Set) = apply {
+ body.removeAllAdditionalProperties(keys)
+ }
+
fun additionalHeaders(additionalHeaders: Headers) = apply {
this.additionalHeaders.clear()
putAllAdditionalHeaders(additionalHeaders)
@@ -170,28 +247,6 @@ private constructor(
additionalQueryParams.removeAll(keys)
}
- fun additionalBodyProperties(additionalBodyProperties: Map) = apply {
- this.additionalBodyProperties.clear()
- putAllAdditionalBodyProperties(additionalBodyProperties)
- }
-
- fun putAdditionalBodyProperty(key: String, value: JsonValue) = apply {
- additionalBodyProperties.put(key, value)
- }
-
- fun putAllAdditionalBodyProperties(additionalBodyProperties: Map) =
- apply {
- this.additionalBodyProperties.putAll(additionalBodyProperties)
- }
-
- fun removeAdditionalBodyProperty(key: String) = apply {
- additionalBodyProperties.remove(key)
- }
-
- fun removeAllAdditionalBodyProperties(keys: Set) = apply {
- keys.forEach(::removeAdditionalBodyProperty)
- }
-
/**
* Returns an immutable instance of [AchTransferSettleParams].
*
@@ -200,14 +255,13 @@ private constructor(
fun build(): AchTransferSettleParams =
AchTransferSettleParams(
achTransferId,
+ body.build(),
additionalHeaders.build(),
additionalQueryParams.build(),
- additionalBodyProperties.toImmutable(),
)
}
- fun _body(): Optional