From 42d3f571207168f6169fd261adf6cd9defa89a81 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 08:55:48 +0000 Subject: [PATCH 1/2] feat(api): api update --- .stats.yml | 4 +- .../com/increase/api/models/exports/Export.kt | 453 ++++++++++++++++- .../api/models/exports/ExportCreateParams.kt | 470 +++++++++++++++++- .../api/models/exports/ExportListParams.kt | 9 + .../models/exports/ExportCreateParamsTest.kt | 19 + .../exports/ExportListPageResponseTest.kt | 18 + .../increase/api/models/exports/ExportTest.kt | 19 + .../services/async/ExportServiceAsyncTest.kt | 8 + .../services/blocking/ExportServiceTest.kt | 8 + 9 files changed, 1002 insertions(+), 6 deletions(-) diff --git a/.stats.yml b/.stats.yml index 8bcc4366b..bdfd829b6 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 232 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-089e28882ee6d2ba5caaf094e99a95593ab5db652954f68fa7ce9c5b5ca76198.yml -openapi_spec_hash: 7cb683d243b088c97c04c3cd5623106a +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-aa6f3892142cc2ba55731765b00f760408d264406fc74ece34aafe2fa1a0c64a.yml +openapi_spec_hash: 06d242fe01faa91bebb737697488d7d2 config_hash: 4b562e97b3d8b4cba758a87d4927a76d diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/exports/Export.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/exports/Export.kt index 2f240d4c9..43e743eec 100644 --- a/increase-java-core/src/main/kotlin/com/increase/api/models/exports/Export.kt +++ b/increase-java-core/src/main/kotlin/com/increase/api/models/exports/Export.kt @@ -11,7 +11,9 @@ 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.checkKnown import com.increase.api.core.checkRequired +import com.increase.api.core.toImmutable import com.increase.api.errors.IncreaseInvalidDataException import java.time.LocalDate import java.time.OffsetDateTime @@ -48,6 +50,7 @@ private constructor( private val transactionCsv: JsonField, private val type: JsonField, private val vendorCsv: JsonField, + private val voidedCheck: JsonField, private val additionalProperties: MutableMap, ) { @@ -100,6 +103,9 @@ private constructor( @JsonProperty("vendor_csv") @ExcludeMissing vendorCsv: JsonField = JsonMissing.of(), + @JsonProperty("voided_check") + @ExcludeMissing + voidedCheck: JsonField = JsonMissing.of(), ) : this( id, accountStatementBai2, @@ -120,6 +126,7 @@ private constructor( transactionCsv, type, vendorCsv, + voidedCheck, mutableMapOf(), ) @@ -297,6 +304,15 @@ private constructor( */ fun vendorCsv(): Optional = vendorCsv.getOptional("vendor_csv") + /** + * Details of the voided check export. This field will be present when the `category` is equal + * to `voided_check`. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if the + * server responded with an unexpected value). + */ + fun voidedCheck(): Optional = voidedCheck.getOptional("voided_check") + /** * Returns the raw JSON value of [id]. * @@ -462,6 +478,15 @@ private constructor( */ @JsonProperty("vendor_csv") @ExcludeMissing fun _vendorCsv(): JsonField = vendorCsv + /** + * Returns the raw JSON value of [voidedCheck]. + * + * Unlike [voidedCheck], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("voided_check") + @ExcludeMissing + fun _voidedCheck(): JsonField = voidedCheck + @JsonAnySetter private fun putAdditionalProperty(key: String, value: JsonValue) { additionalProperties.put(key, value) @@ -500,6 +525,7 @@ private constructor( * .transactionCsv() * .type() * .vendorCsv() + * .voidedCheck() * ``` */ @JvmStatic fun builder() = Builder() @@ -527,6 +553,7 @@ private constructor( private var transactionCsv: JsonField? = null private var type: JsonField? = null private var vendorCsv: JsonField? = null + private var voidedCheck: JsonField? = null private var additionalProperties: MutableMap = mutableMapOf() @JvmSynthetic @@ -550,6 +577,7 @@ private constructor( transactionCsv = export.transactionCsv type = export.type vendorCsv = export.vendorCsv + voidedCheck = export.voidedCheck additionalProperties = export.additionalProperties.toMutableMap() } @@ -921,6 +949,26 @@ private constructor( */ fun vendorCsv(vendorCsv: JsonField) = apply { this.vendorCsv = vendorCsv } + /** + * Details of the voided check export. This field will be present when the `category` is + * equal to `voided_check`. + */ + fun voidedCheck(voidedCheck: VoidedCheck?) = voidedCheck(JsonField.ofNullable(voidedCheck)) + + /** Alias for calling [Builder.voidedCheck] with `voidedCheck.orElse(null)`. */ + fun voidedCheck(voidedCheck: Optional) = voidedCheck(voidedCheck.getOrNull()) + + /** + * Sets [Builder.voidedCheck] to an arbitrary JSON value. + * + * You should usually call [Builder.voidedCheck] with a well-typed [VoidedCheck] value + * instead. This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun voidedCheck(voidedCheck: JsonField) = apply { + this.voidedCheck = voidedCheck + } + fun additionalProperties(additionalProperties: Map) = apply { this.additionalProperties.clear() putAllAdditionalProperties(additionalProperties) @@ -966,6 +1014,7 @@ private constructor( * .transactionCsv() * .type() * .vendorCsv() + * .voidedCheck() * ``` * * @throws IllegalStateException if any required field is unset. @@ -991,6 +1040,7 @@ private constructor( checkRequired("transactionCsv", transactionCsv), checkRequired("type", type), checkRequired("vendorCsv", vendorCsv), + checkRequired("voidedCheck", voidedCheck), additionalProperties.toMutableMap(), ) } @@ -1021,6 +1071,7 @@ private constructor( transactionCsv().ifPresent { it.validate() } type().validate() vendorCsv().ifPresent { it.validate() } + voidedCheck().ifPresent { it.validate() } validated = true } @@ -1057,7 +1108,8 @@ private constructor( (status.asKnown().getOrNull()?.validity() ?: 0) + (transactionCsv.asKnown().getOrNull()?.validity() ?: 0) + (type.asKnown().getOrNull()?.validity() ?: 0) + - (vendorCsv.asKnown().getOrNull()?.validity() ?: 0) + (vendorCsv.asKnown().getOrNull()?.validity() ?: 0) + + (voidedCheck.asKnown().getOrNull()?.validity() ?: 0) /** * Details of the account statement BAI2 export. This field will be present when the `category` @@ -2908,6 +2960,9 @@ private constructor( /** A PDF of an Internal Revenue Service Form 1099-MISC. */ @JvmField val FORM_1099_MISC = of("form_1099_misc") + /** A PDF of a voided check. */ + @JvmField val VOIDED_CHECK = of("voided_check") + @JvmStatic fun of(value: String) = Category(JsonField.of(value)) } @@ -2946,6 +3001,8 @@ private constructor( FORM_1099_INT, /** A PDF of an Internal Revenue Service Form 1099-MISC. */ FORM_1099_MISC, + /** A PDF of a voided check. */ + VOIDED_CHECK, } /** @@ -2991,6 +3048,8 @@ private constructor( FORM_1099_INT, /** A PDF of an Internal Revenue Service Form 1099-MISC. */ FORM_1099_MISC, + /** A PDF of a voided check. */ + VOIDED_CHECK, /** An enum member indicating that [Category] was instantiated with an unknown value. */ _UNKNOWN, } @@ -3016,6 +3075,7 @@ private constructor( FUNDING_INSTRUCTIONS -> Value.FUNDING_INSTRUCTIONS FORM_1099_INT -> Value.FORM_1099_INT FORM_1099_MISC -> Value.FORM_1099_MISC + VOIDED_CHECK -> Value.VOIDED_CHECK else -> Value._UNKNOWN } @@ -3042,6 +3102,7 @@ private constructor( FUNDING_INSTRUCTIONS -> Known.FUNDING_INSTRUCTIONS FORM_1099_INT -> Known.FORM_1099_INT FORM_1099_MISC -> Known.FORM_1099_MISC + VOIDED_CHECK -> Known.VOIDED_CHECK else -> throw IncreaseInvalidDataException("Unknown Category: $value") } @@ -4983,6 +5044,392 @@ private constructor( override fun toString() = "VendorCsv{additionalProperties=$additionalProperties}" } + /** + * Details of the voided check export. This field will be present when the `category` is equal + * to `voided_check`. + */ + class VoidedCheck + @JsonCreator(mode = JsonCreator.Mode.DISABLED) + private constructor( + private val accountNumberId: JsonField, + private val payer: JsonField>, + private val additionalProperties: MutableMap, + ) { + + @JsonCreator + private constructor( + @JsonProperty("account_number_id") + @ExcludeMissing + accountNumberId: JsonField = JsonMissing.of(), + @JsonProperty("payer") @ExcludeMissing payer: JsonField> = JsonMissing.of(), + ) : this(accountNumberId, payer, mutableMapOf()) + + /** + * The Account Number for the voided check. + * + * @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 accountNumberId(): String = accountNumberId.getRequired("account_number_id") + + /** + * The payer information printed on the check. + * + * @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 payer(): List = payer.getRequired("payer") + + /** + * Returns the raw JSON value of [accountNumberId]. + * + * Unlike [accountNumberId], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("account_number_id") + @ExcludeMissing + fun _accountNumberId(): JsonField = accountNumberId + + /** + * Returns the raw JSON value of [payer]. + * + * Unlike [payer], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("payer") @ExcludeMissing fun _payer(): JsonField> = payer + + @JsonAnySetter + private fun putAdditionalProperty(key: String, value: JsonValue) { + additionalProperties.put(key, value) + } + + @JsonAnyGetter + @ExcludeMissing + fun _additionalProperties(): Map = + Collections.unmodifiableMap(additionalProperties) + + fun toBuilder() = Builder().from(this) + + companion object { + + /** + * Returns a mutable builder for constructing an instance of [VoidedCheck]. + * + * The following fields are required: + * ```java + * .accountNumberId() + * .payer() + * ``` + */ + @JvmStatic fun builder() = Builder() + } + + /** A builder for [VoidedCheck]. */ + class Builder internal constructor() { + + private var accountNumberId: JsonField? = null + private var payer: JsonField>? = null + private var additionalProperties: MutableMap = mutableMapOf() + + @JvmSynthetic + internal fun from(voidedCheck: VoidedCheck) = apply { + accountNumberId = voidedCheck.accountNumberId + payer = voidedCheck.payer.map { it.toMutableList() } + additionalProperties = voidedCheck.additionalProperties.toMutableMap() + } + + /** The Account Number for the voided check. */ + fun accountNumberId(accountNumberId: String) = + accountNumberId(JsonField.of(accountNumberId)) + + /** + * Sets [Builder.accountNumberId] to an arbitrary JSON value. + * + * You should usually call [Builder.accountNumberId] with a well-typed [String] value + * instead. This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun accountNumberId(accountNumberId: JsonField) = apply { + this.accountNumberId = accountNumberId + } + + /** The payer information printed on the check. */ + fun payer(payer: List) = payer(JsonField.of(payer)) + + /** + * Sets [Builder.payer] to an arbitrary JSON value. + * + * You should usually call [Builder.payer] with a well-typed `List` value + * instead. This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun payer(payer: JsonField>) = apply { + this.payer = payer.map { it.toMutableList() } + } + + /** + * Adds a single [Payer] to [Builder.payer]. + * + * @throws IllegalStateException if the field was previously set to a non-list. + */ + fun addPayer(payer: Payer) = apply { + this.payer = + (this.payer ?: JsonField.of(mutableListOf())).also { + checkKnown("payer", it).add(payer) + } + } + + fun additionalProperties(additionalProperties: Map) = apply { + this.additionalProperties.clear() + putAllAdditionalProperties(additionalProperties) + } + + fun putAdditionalProperty(key: String, value: JsonValue) = apply { + additionalProperties.put(key, value) + } + + fun putAllAdditionalProperties(additionalProperties: Map) = apply { + this.additionalProperties.putAll(additionalProperties) + } + + fun removeAdditionalProperty(key: String) = apply { additionalProperties.remove(key) } + + fun removeAllAdditionalProperties(keys: Set) = apply { + keys.forEach(::removeAdditionalProperty) + } + + /** + * Returns an immutable instance of [VoidedCheck]. + * + * Further updates to this [Builder] will not mutate the returned instance. + * + * The following fields are required: + * ```java + * .accountNumberId() + * .payer() + * ``` + * + * @throws IllegalStateException if any required field is unset. + */ + fun build(): VoidedCheck = + VoidedCheck( + checkRequired("accountNumberId", accountNumberId), + checkRequired("payer", payer).map { it.toImmutable() }, + additionalProperties.toMutableMap(), + ) + } + + private var validated: Boolean = false + + fun validate(): VoidedCheck = apply { + if (validated) { + return@apply + } + + accountNumberId() + payer().forEach { it.validate() } + validated = true + } + + fun isValid(): Boolean = + try { + validate() + true + } catch (e: IncreaseInvalidDataException) { + false + } + + /** + * Returns a score indicating how many valid values are contained in this object + * recursively. + * + * Used for best match union deserialization. + */ + @JvmSynthetic + internal fun validity(): Int = + (if (accountNumberId.asKnown().isPresent) 1 else 0) + + (payer.asKnown().getOrNull()?.sumOf { it.validity().toInt() } ?: 0) + + class Payer + @JsonCreator(mode = JsonCreator.Mode.DISABLED) + private constructor( + private val line: JsonField, + private val additionalProperties: MutableMap, + ) { + + @JsonCreator + private constructor( + @JsonProperty("line") @ExcludeMissing line: JsonField = JsonMissing.of() + ) : this(line, mutableMapOf()) + + /** + * The contents of the line. + * + * @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 line(): String = line.getRequired("line") + + /** + * Returns the raw JSON value of [line]. + * + * Unlike [line], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("line") @ExcludeMissing fun _line(): JsonField = line + + @JsonAnySetter + private fun putAdditionalProperty(key: String, value: JsonValue) { + additionalProperties.put(key, value) + } + + @JsonAnyGetter + @ExcludeMissing + fun _additionalProperties(): Map = + Collections.unmodifiableMap(additionalProperties) + + fun toBuilder() = Builder().from(this) + + companion object { + + /** + * Returns a mutable builder for constructing an instance of [Payer]. + * + * The following fields are required: + * ```java + * .line() + * ``` + */ + @JvmStatic fun builder() = Builder() + } + + /** A builder for [Payer]. */ + class Builder internal constructor() { + + private var line: JsonField? = null + private var additionalProperties: MutableMap = mutableMapOf() + + @JvmSynthetic + internal fun from(payer: Payer) = apply { + line = payer.line + additionalProperties = payer.additionalProperties.toMutableMap() + } + + /** The contents of the line. */ + fun line(line: String) = line(JsonField.of(line)) + + /** + * Sets [Builder.line] to an arbitrary JSON value. + * + * You should usually call [Builder.line] with a well-typed [String] value instead. + * This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun line(line: JsonField) = apply { this.line = line } + + fun additionalProperties(additionalProperties: Map) = apply { + this.additionalProperties.clear() + putAllAdditionalProperties(additionalProperties) + } + + fun putAdditionalProperty(key: String, value: JsonValue) = apply { + additionalProperties.put(key, value) + } + + fun putAllAdditionalProperties(additionalProperties: Map) = + apply { + this.additionalProperties.putAll(additionalProperties) + } + + fun removeAdditionalProperty(key: String) = apply { + additionalProperties.remove(key) + } + + fun removeAllAdditionalProperties(keys: Set) = apply { + keys.forEach(::removeAdditionalProperty) + } + + /** + * Returns an immutable instance of [Payer]. + * + * Further updates to this [Builder] will not mutate the returned instance. + * + * The following fields are required: + * ```java + * .line() + * ``` + * + * @throws IllegalStateException if any required field is unset. + */ + fun build(): Payer = + Payer(checkRequired("line", line), additionalProperties.toMutableMap()) + } + + private var validated: Boolean = false + + fun validate(): Payer = apply { + if (validated) { + return@apply + } + + line() + validated = true + } + + fun isValid(): Boolean = + try { + validate() + true + } catch (e: IncreaseInvalidDataException) { + false + } + + /** + * Returns a score indicating how many valid values are contained in this object + * recursively. + * + * Used for best match union deserialization. + */ + @JvmSynthetic internal fun validity(): Int = (if (line.asKnown().isPresent) 1 else 0) + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return other is Payer && + line == other.line && + additionalProperties == other.additionalProperties + } + + private val hashCode: Int by lazy { Objects.hash(line, additionalProperties) } + + override fun hashCode(): Int = hashCode + + override fun toString() = + "Payer{line=$line, additionalProperties=$additionalProperties}" + } + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return other is VoidedCheck && + accountNumberId == other.accountNumberId && + payer == other.payer && + additionalProperties == other.additionalProperties + } + + private val hashCode: Int by lazy { + Objects.hash(accountNumberId, payer, additionalProperties) + } + + override fun hashCode(): Int = hashCode + + override fun toString() = + "VoidedCheck{accountNumberId=$accountNumberId, payer=$payer, additionalProperties=$additionalProperties}" + } + override fun equals(other: Any?): Boolean { if (this === other) { return true @@ -5008,6 +5455,7 @@ private constructor( transactionCsv == other.transactionCsv && type == other.type && vendorCsv == other.vendorCsv && + voidedCheck == other.voidedCheck && additionalProperties == other.additionalProperties } @@ -5032,6 +5480,7 @@ private constructor( transactionCsv, type, vendorCsv, + voidedCheck, additionalProperties, ) } @@ -5039,5 +5488,5 @@ private constructor( override fun hashCode(): Int = hashCode override fun toString() = - "Export{id=$id, accountStatementBai2=$accountStatementBai2, accountStatementOfx=$accountStatementOfx, accountVerificationLetter=$accountVerificationLetter, balanceCsv=$balanceCsv, bookkeepingAccountBalanceCsv=$bookkeepingAccountBalanceCsv, category=$category, createdAt=$createdAt, dashboardTableCsv=$dashboardTableCsv, entityCsv=$entityCsv, form1099Int=$form1099Int, form1099Misc=$form1099Misc, fundingInstructions=$fundingInstructions, idempotencyKey=$idempotencyKey, result=$result, status=$status, transactionCsv=$transactionCsv, type=$type, vendorCsv=$vendorCsv, additionalProperties=$additionalProperties}" + "Export{id=$id, accountStatementBai2=$accountStatementBai2, accountStatementOfx=$accountStatementOfx, accountVerificationLetter=$accountVerificationLetter, balanceCsv=$balanceCsv, bookkeepingAccountBalanceCsv=$bookkeepingAccountBalanceCsv, category=$category, createdAt=$createdAt, dashboardTableCsv=$dashboardTableCsv, entityCsv=$entityCsv, form1099Int=$form1099Int, form1099Misc=$form1099Misc, fundingInstructions=$fundingInstructions, idempotencyKey=$idempotencyKey, result=$result, status=$status, transactionCsv=$transactionCsv, type=$type, vendorCsv=$vendorCsv, voidedCheck=$voidedCheck, additionalProperties=$additionalProperties}" } diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/exports/ExportCreateParams.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/exports/ExportCreateParams.kt index 86f61ddaf..632e4d5f6 100644 --- a/increase-java-core/src/main/kotlin/com/increase/api/models/exports/ExportCreateParams.kt +++ b/increase-java-core/src/main/kotlin/com/increase/api/models/exports/ExportCreateParams.kt @@ -12,9 +12,11 @@ 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.checkKnown import com.increase.api.core.checkRequired 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.time.LocalDate import java.time.OffsetDateTime @@ -115,6 +117,14 @@ private constructor( */ fun vendorCsv(): Optional = body.vendorCsv() + /** + * Options for the created export. Required if `category` is equal to `voided_check`. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if the + * server responded with an unexpected value). + */ + fun voidedCheck(): Optional = body.voidedCheck() + /** * Returns the raw JSON value of [category]. * @@ -192,6 +202,13 @@ private constructor( */ fun _vendorCsv(): JsonField = body._vendorCsv() + /** + * Returns the raw JSON value of [voidedCheck]. + * + * Unlike [voidedCheck], this method doesn't throw if the JSON field has an unexpected type. + */ + fun _voidedCheck(): JsonField = body._voidedCheck() + fun _additionalBodyProperties(): Map = body._additionalProperties() /** Additional headers to send with the request. */ @@ -403,6 +420,20 @@ private constructor( */ fun vendorCsv(vendorCsv: JsonField) = apply { body.vendorCsv(vendorCsv) } + /** Options for the created export. Required if `category` is equal to `voided_check`. */ + fun voidedCheck(voidedCheck: VoidedCheck) = apply { body.voidedCheck(voidedCheck) } + + /** + * Sets [Builder.voidedCheck] to an arbitrary JSON value. + * + * You should usually call [Builder.voidedCheck] with a well-typed [VoidedCheck] value + * instead. This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun voidedCheck(voidedCheck: JsonField) = apply { + body.voidedCheck(voidedCheck) + } + fun additionalBodyProperties(additionalBodyProperties: Map) = apply { body.additionalProperties(additionalBodyProperties) } @@ -559,6 +590,7 @@ private constructor( private val fundingInstructions: JsonField, private val transactionCsv: JsonField, private val vendorCsv: JsonField, + private val voidedCheck: JsonField, private val additionalProperties: MutableMap, ) { @@ -595,6 +627,9 @@ private constructor( @JsonProperty("vendor_csv") @ExcludeMissing vendorCsv: JsonField = JsonMissing.of(), + @JsonProperty("voided_check") + @ExcludeMissing + voidedCheck: JsonField = JsonMissing.of(), ) : this( category, accountStatementBai2, @@ -606,6 +641,7 @@ private constructor( fundingInstructions, transactionCsv, vendorCsv, + voidedCheck, mutableMapOf(), ) @@ -700,6 +736,14 @@ private constructor( */ fun vendorCsv(): Optional = vendorCsv.getOptional("vendor_csv") + /** + * Options for the created export. Required if `category` is equal to `voided_check`. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if + * the server responded with an unexpected value). + */ + fun voidedCheck(): Optional = voidedCheck.getOptional("voided_check") + /** * Returns the raw JSON value of [category]. * @@ -796,6 +840,15 @@ private constructor( @ExcludeMissing fun _vendorCsv(): JsonField = vendorCsv + /** + * Returns the raw JSON value of [voidedCheck]. + * + * Unlike [voidedCheck], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("voided_check") + @ExcludeMissing + fun _voidedCheck(): JsonField = voidedCheck + @JsonAnySetter private fun putAdditionalProperty(key: String, value: JsonValue) { additionalProperties.put(key, value) @@ -836,6 +889,7 @@ private constructor( private var fundingInstructions: JsonField = JsonMissing.of() private var transactionCsv: JsonField = JsonMissing.of() private var vendorCsv: JsonField = JsonMissing.of() + private var voidedCheck: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @JvmSynthetic @@ -850,6 +904,7 @@ private constructor( fundingInstructions = body.fundingInstructions transactionCsv = body.transactionCsv vendorCsv = body.vendorCsv + voidedCheck = body.voidedCheck additionalProperties = body.additionalProperties.toMutableMap() } @@ -1012,6 +1067,22 @@ private constructor( */ fun vendorCsv(vendorCsv: JsonField) = apply { this.vendorCsv = vendorCsv } + /** + * Options for the created export. Required if `category` is equal to `voided_check`. + */ + fun voidedCheck(voidedCheck: VoidedCheck) = voidedCheck(JsonField.of(voidedCheck)) + + /** + * Sets [Builder.voidedCheck] to an arbitrary JSON value. + * + * You should usually call [Builder.voidedCheck] with a well-typed [VoidedCheck] value + * instead. This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun voidedCheck(voidedCheck: JsonField) = apply { + this.voidedCheck = voidedCheck + } + fun additionalProperties(additionalProperties: Map) = apply { this.additionalProperties.clear() putAllAdditionalProperties(additionalProperties) @@ -1055,6 +1126,7 @@ private constructor( fundingInstructions, transactionCsv, vendorCsv, + voidedCheck, additionalProperties.toMutableMap(), ) } @@ -1076,6 +1148,7 @@ private constructor( fundingInstructions().ifPresent { it.validate() } transactionCsv().ifPresent { it.validate() } vendorCsv().ifPresent { it.validate() } + voidedCheck().ifPresent { it.validate() } validated = true } @@ -1104,7 +1177,8 @@ private constructor( (entityCsv.asKnown().getOrNull()?.validity() ?: 0) + (fundingInstructions.asKnown().getOrNull()?.validity() ?: 0) + (transactionCsv.asKnown().getOrNull()?.validity() ?: 0) + - (vendorCsv.asKnown().getOrNull()?.validity() ?: 0) + (vendorCsv.asKnown().getOrNull()?.validity() ?: 0) + + (voidedCheck.asKnown().getOrNull()?.validity() ?: 0) override fun equals(other: Any?): Boolean { if (this === other) { @@ -1122,6 +1196,7 @@ private constructor( fundingInstructions == other.fundingInstructions && transactionCsv == other.transactionCsv && vendorCsv == other.vendorCsv && + voidedCheck == other.voidedCheck && additionalProperties == other.additionalProperties } @@ -1137,6 +1212,7 @@ private constructor( fundingInstructions, transactionCsv, vendorCsv, + voidedCheck, additionalProperties, ) } @@ -1144,7 +1220,7 @@ private constructor( override fun hashCode(): Int = hashCode override fun toString() = - "Body{category=$category, accountStatementBai2=$accountStatementBai2, accountStatementOfx=$accountStatementOfx, accountVerificationLetter=$accountVerificationLetter, balanceCsv=$balanceCsv, bookkeepingAccountBalanceCsv=$bookkeepingAccountBalanceCsv, entityCsv=$entityCsv, fundingInstructions=$fundingInstructions, transactionCsv=$transactionCsv, vendorCsv=$vendorCsv, additionalProperties=$additionalProperties}" + "Body{category=$category, accountStatementBai2=$accountStatementBai2, accountStatementOfx=$accountStatementOfx, accountVerificationLetter=$accountVerificationLetter, balanceCsv=$balanceCsv, bookkeepingAccountBalanceCsv=$bookkeepingAccountBalanceCsv, entityCsv=$entityCsv, fundingInstructions=$fundingInstructions, transactionCsv=$transactionCsv, vendorCsv=$vendorCsv, voidedCheck=$voidedCheck, additionalProperties=$additionalProperties}" } /** The type of Export to create. */ @@ -1195,6 +1271,9 @@ private constructor( /** A PDF of funding instructions. */ @JvmField val FUNDING_INSTRUCTIONS = of("funding_instructions") + /** A PDF of a voided check. */ + @JvmField val VOIDED_CHECK = of("voided_check") + @JvmStatic fun of(value: String) = Category(JsonField.of(value)) } @@ -1224,6 +1303,8 @@ private constructor( ACCOUNT_VERIFICATION_LETTER, /** A PDF of funding instructions. */ FUNDING_INSTRUCTIONS, + /** A PDF of a voided check. */ + VOIDED_CHECK, } /** @@ -1260,6 +1341,8 @@ private constructor( ACCOUNT_VERIFICATION_LETTER, /** A PDF of funding instructions. */ FUNDING_INSTRUCTIONS, + /** A PDF of a voided check. */ + VOIDED_CHECK, /** An enum member indicating that [Category] was instantiated with an unknown value. */ _UNKNOWN, } @@ -1282,6 +1365,7 @@ private constructor( VENDOR_CSV -> Value.VENDOR_CSV ACCOUNT_VERIFICATION_LETTER -> Value.ACCOUNT_VERIFICATION_LETTER FUNDING_INSTRUCTIONS -> Value.FUNDING_INSTRUCTIONS + VOIDED_CHECK -> Value.VOIDED_CHECK else -> Value._UNKNOWN } @@ -1305,6 +1389,7 @@ private constructor( VENDOR_CSV -> Known.VENDOR_CSV ACCOUNT_VERIFICATION_LETTER -> Known.ACCOUNT_VERIFICATION_LETTER FUNDING_INSTRUCTIONS -> Known.FUNDING_INSTRUCTIONS + VOIDED_CHECK -> Known.VOIDED_CHECK else -> throw IncreaseInvalidDataException("Unknown Category: $value") } @@ -4167,6 +4252,387 @@ private constructor( override fun toString() = "VendorCsv{additionalProperties=$additionalProperties}" } + /** Options for the created export. Required if `category` is equal to `voided_check`. */ + class VoidedCheck + @JsonCreator(mode = JsonCreator.Mode.DISABLED) + private constructor( + private val accountNumberId: JsonField, + private val payer: JsonField>, + private val additionalProperties: MutableMap, + ) { + + @JsonCreator + private constructor( + @JsonProperty("account_number_id") + @ExcludeMissing + accountNumberId: JsonField = JsonMissing.of(), + @JsonProperty("payer") @ExcludeMissing payer: JsonField> = JsonMissing.of(), + ) : this(accountNumberId, payer, mutableMapOf()) + + /** + * The Account Number for the voided check. + * + * @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 accountNumberId(): String = accountNumberId.getRequired("account_number_id") + + /** + * The payer information to be printed on the check. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if + * the server responded with an unexpected value). + */ + fun payer(): Optional> = payer.getOptional("payer") + + /** + * Returns the raw JSON value of [accountNumberId]. + * + * Unlike [accountNumberId], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("account_number_id") + @ExcludeMissing + fun _accountNumberId(): JsonField = accountNumberId + + /** + * Returns the raw JSON value of [payer]. + * + * Unlike [payer], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("payer") @ExcludeMissing fun _payer(): JsonField> = payer + + @JsonAnySetter + private fun putAdditionalProperty(key: String, value: JsonValue) { + additionalProperties.put(key, value) + } + + @JsonAnyGetter + @ExcludeMissing + fun _additionalProperties(): Map = + Collections.unmodifiableMap(additionalProperties) + + fun toBuilder() = Builder().from(this) + + companion object { + + /** + * Returns a mutable builder for constructing an instance of [VoidedCheck]. + * + * The following fields are required: + * ```java + * .accountNumberId() + * ``` + */ + @JvmStatic fun builder() = Builder() + } + + /** A builder for [VoidedCheck]. */ + class Builder internal constructor() { + + private var accountNumberId: JsonField? = null + private var payer: JsonField>? = null + private var additionalProperties: MutableMap = mutableMapOf() + + @JvmSynthetic + internal fun from(voidedCheck: VoidedCheck) = apply { + accountNumberId = voidedCheck.accountNumberId + payer = voidedCheck.payer.map { it.toMutableList() } + additionalProperties = voidedCheck.additionalProperties.toMutableMap() + } + + /** The Account Number for the voided check. */ + fun accountNumberId(accountNumberId: String) = + accountNumberId(JsonField.of(accountNumberId)) + + /** + * Sets [Builder.accountNumberId] to an arbitrary JSON value. + * + * You should usually call [Builder.accountNumberId] with a well-typed [String] value + * instead. This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun accountNumberId(accountNumberId: JsonField) = apply { + this.accountNumberId = accountNumberId + } + + /** The payer information to be printed on the check. */ + fun payer(payer: List) = payer(JsonField.of(payer)) + + /** + * Sets [Builder.payer] to an arbitrary JSON value. + * + * You should usually call [Builder.payer] with a well-typed `List` value + * instead. This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun payer(payer: JsonField>) = apply { + this.payer = payer.map { it.toMutableList() } + } + + /** + * Adds a single [Payer] to [Builder.payer]. + * + * @throws IllegalStateException if the field was previously set to a non-list. + */ + fun addPayer(payer: Payer) = apply { + this.payer = + (this.payer ?: JsonField.of(mutableListOf())).also { + checkKnown("payer", it).add(payer) + } + } + + fun additionalProperties(additionalProperties: Map) = apply { + this.additionalProperties.clear() + putAllAdditionalProperties(additionalProperties) + } + + fun putAdditionalProperty(key: String, value: JsonValue) = apply { + additionalProperties.put(key, value) + } + + fun putAllAdditionalProperties(additionalProperties: Map) = apply { + this.additionalProperties.putAll(additionalProperties) + } + + fun removeAdditionalProperty(key: String) = apply { additionalProperties.remove(key) } + + fun removeAllAdditionalProperties(keys: Set) = apply { + keys.forEach(::removeAdditionalProperty) + } + + /** + * Returns an immutable instance of [VoidedCheck]. + * + * Further updates to this [Builder] will not mutate the returned instance. + * + * The following fields are required: + * ```java + * .accountNumberId() + * ``` + * + * @throws IllegalStateException if any required field is unset. + */ + fun build(): VoidedCheck = + VoidedCheck( + checkRequired("accountNumberId", accountNumberId), + (payer ?: JsonMissing.of()).map { it.toImmutable() }, + additionalProperties.toMutableMap(), + ) + } + + private var validated: Boolean = false + + fun validate(): VoidedCheck = apply { + if (validated) { + return@apply + } + + accountNumberId() + payer().ifPresent { it.forEach { it.validate() } } + validated = true + } + + fun isValid(): Boolean = + try { + validate() + true + } catch (e: IncreaseInvalidDataException) { + false + } + + /** + * Returns a score indicating how many valid values are contained in this object + * recursively. + * + * Used for best match union deserialization. + */ + @JvmSynthetic + internal fun validity(): Int = + (if (accountNumberId.asKnown().isPresent) 1 else 0) + + (payer.asKnown().getOrNull()?.sumOf { it.validity().toInt() } ?: 0) + + class Payer + @JsonCreator(mode = JsonCreator.Mode.DISABLED) + private constructor( + private val line: JsonField, + private val additionalProperties: MutableMap, + ) { + + @JsonCreator + private constructor( + @JsonProperty("line") @ExcludeMissing line: JsonField = JsonMissing.of() + ) : this(line, mutableMapOf()) + + /** + * The contents of the line. + * + * @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 line(): String = line.getRequired("line") + + /** + * Returns the raw JSON value of [line]. + * + * Unlike [line], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("line") @ExcludeMissing fun _line(): JsonField = line + + @JsonAnySetter + private fun putAdditionalProperty(key: String, value: JsonValue) { + additionalProperties.put(key, value) + } + + @JsonAnyGetter + @ExcludeMissing + fun _additionalProperties(): Map = + Collections.unmodifiableMap(additionalProperties) + + fun toBuilder() = Builder().from(this) + + companion object { + + /** + * Returns a mutable builder for constructing an instance of [Payer]. + * + * The following fields are required: + * ```java + * .line() + * ``` + */ + @JvmStatic fun builder() = Builder() + } + + /** A builder for [Payer]. */ + class Builder internal constructor() { + + private var line: JsonField? = null + private var additionalProperties: MutableMap = mutableMapOf() + + @JvmSynthetic + internal fun from(payer: Payer) = apply { + line = payer.line + additionalProperties = payer.additionalProperties.toMutableMap() + } + + /** The contents of the line. */ + fun line(line: String) = line(JsonField.of(line)) + + /** + * Sets [Builder.line] to an arbitrary JSON value. + * + * You should usually call [Builder.line] with a well-typed [String] value instead. + * This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun line(line: JsonField) = apply { this.line = line } + + fun additionalProperties(additionalProperties: Map) = apply { + this.additionalProperties.clear() + putAllAdditionalProperties(additionalProperties) + } + + fun putAdditionalProperty(key: String, value: JsonValue) = apply { + additionalProperties.put(key, value) + } + + fun putAllAdditionalProperties(additionalProperties: Map) = + apply { + this.additionalProperties.putAll(additionalProperties) + } + + fun removeAdditionalProperty(key: String) = apply { + additionalProperties.remove(key) + } + + fun removeAllAdditionalProperties(keys: Set) = apply { + keys.forEach(::removeAdditionalProperty) + } + + /** + * Returns an immutable instance of [Payer]. + * + * Further updates to this [Builder] will not mutate the returned instance. + * + * The following fields are required: + * ```java + * .line() + * ``` + * + * @throws IllegalStateException if any required field is unset. + */ + fun build(): Payer = + Payer(checkRequired("line", line), additionalProperties.toMutableMap()) + } + + private var validated: Boolean = false + + fun validate(): Payer = apply { + if (validated) { + return@apply + } + + line() + validated = true + } + + fun isValid(): Boolean = + try { + validate() + true + } catch (e: IncreaseInvalidDataException) { + false + } + + /** + * Returns a score indicating how many valid values are contained in this object + * recursively. + * + * Used for best match union deserialization. + */ + @JvmSynthetic internal fun validity(): Int = (if (line.asKnown().isPresent) 1 else 0) + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return other is Payer && + line == other.line && + additionalProperties == other.additionalProperties + } + + private val hashCode: Int by lazy { Objects.hash(line, additionalProperties) } + + override fun hashCode(): Int = hashCode + + override fun toString() = + "Payer{line=$line, additionalProperties=$additionalProperties}" + } + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return other is VoidedCheck && + accountNumberId == other.accountNumberId && + payer == other.payer && + additionalProperties == other.additionalProperties + } + + private val hashCode: Int by lazy { + Objects.hash(accountNumberId, payer, additionalProperties) + } + + override fun hashCode(): Int = hashCode + + override fun toString() = + "VoidedCheck{accountNumberId=$accountNumberId, payer=$payer, additionalProperties=$additionalProperties}" + } + override fun equals(other: Any?): Boolean { if (this === other) { return true diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/exports/ExportListParams.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/exports/ExportListParams.kt index 9760da9ff..86db4355a 100644 --- a/increase-java-core/src/main/kotlin/com/increase/api/models/exports/ExportListParams.kt +++ b/increase-java-core/src/main/kotlin/com/increase/api/models/exports/ExportListParams.kt @@ -399,6 +399,9 @@ private constructor( /** A PDF of an Internal Revenue Service Form 1099-MISC. */ @JvmField val FORM_1099_MISC = of("form_1099_misc") + /** A PDF of a voided check. */ + @JvmField val VOIDED_CHECK = of("voided_check") + @JvmStatic fun of(value: String) = Category(JsonField.of(value)) } @@ -437,6 +440,8 @@ private constructor( FORM_1099_INT, /** A PDF of an Internal Revenue Service Form 1099-MISC. */ FORM_1099_MISC, + /** A PDF of a voided check. */ + VOIDED_CHECK, } /** @@ -482,6 +487,8 @@ private constructor( FORM_1099_INT, /** A PDF of an Internal Revenue Service Form 1099-MISC. */ FORM_1099_MISC, + /** A PDF of a voided check. */ + VOIDED_CHECK, /** An enum member indicating that [Category] was instantiated with an unknown value. */ _UNKNOWN, } @@ -507,6 +514,7 @@ private constructor( FUNDING_INSTRUCTIONS -> Value.FUNDING_INSTRUCTIONS FORM_1099_INT -> Value.FORM_1099_INT FORM_1099_MISC -> Value.FORM_1099_MISC + VOIDED_CHECK -> Value.VOIDED_CHECK else -> Value._UNKNOWN } @@ -533,6 +541,7 @@ private constructor( FUNDING_INSTRUCTIONS -> Known.FUNDING_INSTRUCTIONS FORM_1099_INT -> Known.FORM_1099_INT FORM_1099_MISC -> Known.FORM_1099_MISC + VOIDED_CHECK -> Known.VOIDED_CHECK else -> throw IncreaseInvalidDataException("Unknown Category: $value") } diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportCreateParamsTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportCreateParamsTest.kt index fcfe11608..16d5bac53 100644 --- a/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportCreateParamsTest.kt +++ b/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportCreateParamsTest.kt @@ -85,6 +85,12 @@ internal class ExportCreateParamsTest { .build() ) .vendorCsv(ExportCreateParams.VendorCsv.builder().build()) + .voidedCheck( + ExportCreateParams.VoidedCheck.builder() + .accountNumberId("account_number_id") + .addPayer(ExportCreateParams.VoidedCheck.Payer.builder().line("x").build()) + .build() + ) .build() } @@ -165,6 +171,12 @@ internal class ExportCreateParamsTest { .build() ) .vendorCsv(ExportCreateParams.VendorCsv.builder().build()) + .voidedCheck( + ExportCreateParams.VoidedCheck.builder() + .accountNumberId("account_number_id") + .addPayer(ExportCreateParams.VoidedCheck.Payer.builder().line("x").build()) + .build() + ) .build() val body = params._body() @@ -249,6 +261,13 @@ internal class ExportCreateParamsTest { .build() ) assertThat(body.vendorCsv()).contains(ExportCreateParams.VendorCsv.builder().build()) + assertThat(body.voidedCheck()) + .contains( + ExportCreateParams.VoidedCheck.builder() + .accountNumberId("account_number_id") + .addPayer(ExportCreateParams.VoidedCheck.Payer.builder().line("x").build()) + .build() + ) } @Test diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportListPageResponseTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportListPageResponseTest.kt index 902cfc95b..9f8bb1864 100644 --- a/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportListPageResponseTest.kt +++ b/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportListPageResponseTest.kt @@ -104,6 +104,12 @@ internal class ExportListPageResponseTest { ) .type(Export.Type.EXPORT) .vendorCsv(Export.VendorCsv.builder().build()) + .voidedCheck( + Export.VoidedCheck.builder() + .accountNumberId("account_number_id") + .addPayer(Export.VoidedCheck.Payer.builder().line("line").build()) + .build() + ) .build() ) .nextCursor("v57w5d") @@ -199,6 +205,12 @@ internal class ExportListPageResponseTest { ) .type(Export.Type.EXPORT) .vendorCsv(Export.VendorCsv.builder().build()) + .voidedCheck( + Export.VoidedCheck.builder() + .accountNumberId("account_number_id") + .addPayer(Export.VoidedCheck.Payer.builder().line("line").build()) + .build() + ) .build() ) assertThat(exportListPageResponse.nextCursor()).contains("v57w5d") @@ -298,6 +310,12 @@ internal class ExportListPageResponseTest { ) .type(Export.Type.EXPORT) .vendorCsv(Export.VendorCsv.builder().build()) + .voidedCheck( + Export.VoidedCheck.builder() + .accountNumberId("account_number_id") + .addPayer(Export.VoidedCheck.Payer.builder().line("line").build()) + .build() + ) .build() ) .nextCursor("v57w5d") diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportTest.kt index ecba96461..aab3cf1ba 100644 --- a/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportTest.kt +++ b/increase-java-core/src/test/kotlin/com/increase/api/models/exports/ExportTest.kt @@ -102,6 +102,12 @@ internal class ExportTest { ) .type(Export.Type.EXPORT) .vendorCsv(Export.VendorCsv.builder().build()) + .voidedCheck( + Export.VoidedCheck.builder() + .accountNumberId("account_number_id") + .addPayer(Export.VoidedCheck.Payer.builder().line("line").build()) + .build() + ) .build() assertThat(export.id()).isEqualTo("export_8s4m48qz3bclzje0zwh9") @@ -199,6 +205,13 @@ internal class ExportTest { ) assertThat(export.type()).isEqualTo(Export.Type.EXPORT) assertThat(export.vendorCsv()).contains(Export.VendorCsv.builder().build()) + assertThat(export.voidedCheck()) + .contains( + Export.VoidedCheck.builder() + .accountNumberId("account_number_id") + .addPayer(Export.VoidedCheck.Payer.builder().line("line").build()) + .build() + ) } @Test @@ -293,6 +306,12 @@ internal class ExportTest { ) .type(Export.Type.EXPORT) .vendorCsv(Export.VendorCsv.builder().build()) + .voidedCheck( + Export.VoidedCheck.builder() + .accountNumberId("account_number_id") + .addPayer(Export.VoidedCheck.Payer.builder().line("line").build()) + .build() + ) .build() val roundtrippedExport = diff --git a/increase-java-core/src/test/kotlin/com/increase/api/services/async/ExportServiceAsyncTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/services/async/ExportServiceAsyncTest.kt index 395603f91..4fd82765c 100644 --- a/increase-java-core/src/test/kotlin/com/increase/api/services/async/ExportServiceAsyncTest.kt +++ b/increase-java-core/src/test/kotlin/com/increase/api/services/async/ExportServiceAsyncTest.kt @@ -98,6 +98,14 @@ internal class ExportServiceAsyncTest { .build() ) .vendorCsv(ExportCreateParams.VendorCsv.builder().build()) + .voidedCheck( + ExportCreateParams.VoidedCheck.builder() + .accountNumberId("account_number_id") + .addPayer( + ExportCreateParams.VoidedCheck.Payer.builder().line("x").build() + ) + .build() + ) .build() ) diff --git a/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/ExportServiceTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/ExportServiceTest.kt index 11d082b75..e160ff603 100644 --- a/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/ExportServiceTest.kt +++ b/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/ExportServiceTest.kt @@ -98,6 +98,14 @@ internal class ExportServiceTest { .build() ) .vendorCsv(ExportCreateParams.VendorCsv.builder().build()) + .voidedCheck( + ExportCreateParams.VoidedCheck.builder() + .accountNumberId("account_number_id") + .addPayer( + ExportCreateParams.VoidedCheck.Payer.builder().line("x").build() + ) + .build() + ) .build() ) From 0c870637667f26946a2fbf5513fc264a7904b570 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 08:56:16 +0000 Subject: [PATCH 2/2] release: 0.429.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 8 ++++++++ README.md | 10 +++++----- build.gradle.kts | 2 +- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 1e57fdcd3..4ac437f1c 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.428.0" + ".": "0.429.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 1481bc588..21d5a30f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.429.0 (2026-02-10) + +Full Changelog: [v0.428.0...v0.429.0](https://github.com/Increase/increase-java/compare/v0.428.0...v0.429.0) + +### Features + +* **api:** api update ([42d3f57](https://github.com/Increase/increase-java/commit/42d3f571207168f6169fd261adf6cd9defa89a81)) + ## 0.428.0 (2026-02-10) Full Changelog: [v0.427.0...v0.428.0](https://github.com/Increase/increase-java/compare/v0.427.0...v0.428.0) diff --git a/README.md b/README.md index 89678fc07..d3da81846 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@ -[![Maven Central](https://img.shields.io/maven-central/v/com.increase.api/increase-java)](https://central.sonatype.com/artifact/com.increase.api/increase-java/0.428.0) -[![javadoc](https://javadoc.io/badge2/com.increase.api/increase-java/0.428.0/javadoc.svg)](https://javadoc.io/doc/com.increase.api/increase-java/0.428.0) +[![Maven Central](https://img.shields.io/maven-central/v/com.increase.api/increase-java)](https://central.sonatype.com/artifact/com.increase.api/increase-java/0.429.0) +[![javadoc](https://javadoc.io/badge2/com.increase.api/increase-java/0.429.0/javadoc.svg)](https://javadoc.io/doc/com.increase.api/increase-java/0.429.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.428.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.429.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.428.0") +implementation("com.increase.api:increase-java:0.429.0") ``` ### Maven @@ -33,7 +33,7 @@ implementation("com.increase.api:increase-java:0.428.0") com.increase.api increase-java - 0.428.0 + 0.429.0 ``` diff --git a/build.gradle.kts b/build.gradle.kts index 0267dff31..daa8eb41a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ repositories { allprojects { group = "com.increase.api" - version = "0.428.0" // x-release-please-version + version = "0.429.0" // x-release-please-version } subprojects {