From 2cc8bbbad2ecc3572645983f5256cc5c89117143 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 18 Dec 2025 22:36:28 +0000 Subject: [PATCH 1/2] feat(api): api update --- .stats.yml | 8 +- .../com/increase/api/models/exports/Export.kt | 8 +- .../api/models/exports/ExportCreateParams.kt | 586 +++++++++++++++++- .../simulations/exports/ExportCreateParams.kt | 418 +++++++++++++ .../services/async/SimulationServiceAsync.kt | 5 + .../async/SimulationServiceAsyncImpl.kt | 12 + .../async/simulations/ExportServiceAsync.kt | 64 ++ .../simulations/ExportServiceAsyncImpl.kt | 85 +++ .../services/blocking/SimulationService.kt | 5 + .../blocking/SimulationServiceImpl.kt | 12 + .../blocking/simulations/ExportService.kt | 61 ++ .../blocking/simulations/ExportServiceImpl.kt | 78 +++ .../models/exports/ExportCreateParamsTest.kt | 35 ++ .../exports/ExportCreateParamsTest.kt | 23 + .../services/async/ExportServiceAsyncTest.kt | 11 + .../simulations/ExportServiceAsyncTest.kt | 31 + .../services/blocking/ExportServiceTest.kt | 11 + .../blocking/simulations/ExportServiceTest.kt | 30 + 18 files changed, 1473 insertions(+), 10 deletions(-) create mode 100644 increase-java-core/src/main/kotlin/com/increase/api/models/simulations/exports/ExportCreateParams.kt create mode 100644 increase-java-core/src/main/kotlin/com/increase/api/services/async/simulations/ExportServiceAsync.kt create mode 100644 increase-java-core/src/main/kotlin/com/increase/api/services/async/simulations/ExportServiceAsyncImpl.kt create mode 100644 increase-java-core/src/main/kotlin/com/increase/api/services/blocking/simulations/ExportService.kt create mode 100644 increase-java-core/src/main/kotlin/com/increase/api/services/blocking/simulations/ExportServiceImpl.kt create mode 100644 increase-java-core/src/test/kotlin/com/increase/api/models/simulations/exports/ExportCreateParamsTest.kt create mode 100644 increase-java-core/src/test/kotlin/com/increase/api/services/async/simulations/ExportServiceAsyncTest.kt create mode 100644 increase-java-core/src/test/kotlin/com/increase/api/services/blocking/simulations/ExportServiceTest.kt diff --git a/.stats.yml b/.stats.yml index e5b11df29..bc6173cca 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 230 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-acaa7510acabd57dfdde78063277cef0c611dd42abd998e5f1f851c4655e8fd0.yml -openapi_spec_hash: d0684f4b10e09e2585ad70360531501c -config_hash: ff2eb5f192b4de36611b37b27961c2d8 +configured_endpoints: 231 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-2304a782c25d2a6b9586de2f6e2b536b5abbf62735f9c18ed0551607f134b714.yml +openapi_spec_hash: 67d6de7181215abe88dcc3da557a1e0d +config_hash: 5a0bf28bf735edf93f36c6c808711847 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 6938a66d6..e690d5faf 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 @@ -20,10 +20,10 @@ import java.util.Optional import kotlin.jvm.optionals.getOrNull /** - * Exports are batch summaries of your Increase data. You can make them from the API or dashboard. - * Since they can take a while, they are generated asynchronously. We send a webhook when they are - * ready. For more information, please read our - * [Exports documentation](https://increase.com/documentation/exports). + * Exports are generated files. Some exports can contain a lot of data, like a CSV of your + * transactions. Others can be a single document, like a tax form. Since they can take a while, they + * are generated asynchronously. We send a webhook when they are ready. For more information, please + * read our [Exports documentation](https://increase.com/documentation/exports). */ class Export @JsonCreator(mode = JsonCreator.Mode.DISABLED) 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 907e1eb7b..ca42d2d08 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 @@ -57,6 +57,16 @@ private constructor( */ fun accountStatementOfx(): Optional = body.accountStatementOfx() + /** + * Options for the created export. Required if `category` is equal to + * `account_verification_letter`. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if the + * server responded with an unexpected value). + */ + fun accountVerificationLetter(): Optional = + body.accountVerificationLetter() + /** * Options for the created export. Required if `category` is equal to `balance_csv`. * @@ -83,6 +93,14 @@ private constructor( */ fun entityCsv(): Optional = body.entityCsv() + /** + * Options for the created export. Required if `category` is equal to `funding_instructions`. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if the + * server responded with an unexpected value). + */ + fun fundingInstructions(): Optional = body.fundingInstructions() + /** * Options for the created export. Required if `category` is equal to `transaction_csv`. * @@ -122,6 +140,15 @@ private constructor( */ fun _accountStatementOfx(): JsonField = body._accountStatementOfx() + /** + * Returns the raw JSON value of [accountVerificationLetter]. + * + * Unlike [accountVerificationLetter], this method doesn't throw if the JSON field has an + * unexpected type. + */ + fun _accountVerificationLetter(): JsonField = + body._accountVerificationLetter() + /** * Returns the raw JSON value of [balanceCsv]. * @@ -145,6 +172,14 @@ private constructor( */ fun _entityCsv(): JsonField = body._entityCsv() + /** + * Returns the raw JSON value of [fundingInstructions]. + * + * Unlike [fundingInstructions], this method doesn't throw if the JSON field has an unexpected + * type. + */ + fun _fundingInstructions(): JsonField = body._fundingInstructions() + /** * Returns the raw JSON value of [transactionCsv]. * @@ -204,8 +239,8 @@ private constructor( * - [category] * - [accountStatementBai2] * - [accountStatementOfx] + * - [accountVerificationLetter] * - [balanceCsv] - * - [bookkeepingAccountBalanceCsv] * - etc. */ fun body(body: Body) = apply { this.body = body.toBuilder() } @@ -260,6 +295,26 @@ private constructor( body.accountStatementOfx(accountStatementOfx) } + /** + * Options for the created export. Required if `category` is equal to + * `account_verification_letter`. + */ + fun accountVerificationLetter(accountVerificationLetter: AccountVerificationLetter) = + apply { + body.accountVerificationLetter(accountVerificationLetter) + } + + /** + * Sets [Builder.accountVerificationLetter] to an arbitrary JSON value. + * + * You should usually call [Builder.accountVerificationLetter] with a well-typed + * [AccountVerificationLetter] value instead. This method is primarily for setting the field + * to an undocumented or not yet supported value. + */ + fun accountVerificationLetter( + accountVerificationLetter: JsonField + ) = apply { body.accountVerificationLetter(accountVerificationLetter) } + /** Options for the created export. Required if `category` is equal to `balance_csv`. */ fun balanceCsv(balanceCsv: BalanceCsv) = apply { body.balanceCsv(balanceCsv) } @@ -303,6 +358,25 @@ private constructor( */ fun entityCsv(entityCsv: JsonField) = apply { body.entityCsv(entityCsv) } + /** + * Options for the created export. Required if `category` is equal to + * `funding_instructions`. + */ + fun fundingInstructions(fundingInstructions: FundingInstructions) = apply { + body.fundingInstructions(fundingInstructions) + } + + /** + * Sets [Builder.fundingInstructions] to an arbitrary JSON value. + * + * You should usually call [Builder.fundingInstructions] with a well-typed + * [FundingInstructions] value instead. This method is primarily for setting the field to an + * undocumented or not yet supported value. + */ + fun fundingInstructions(fundingInstructions: JsonField) = apply { + body.fundingInstructions(fundingInstructions) + } + /** Options for the created export. Required if `category` is equal to `transaction_csv`. */ fun transactionCsv(transactionCsv: TransactionCsv) = apply { body.transactionCsv(transactionCsv) @@ -480,9 +554,11 @@ private constructor( private val category: JsonField, private val accountStatementBai2: JsonField, private val accountStatementOfx: JsonField, + private val accountVerificationLetter: JsonField, private val balanceCsv: JsonField, private val bookkeepingAccountBalanceCsv: JsonField, private val entityCsv: JsonField, + private val fundingInstructions: JsonField, private val transactionCsv: JsonField, private val vendorCsv: JsonField, private val additionalProperties: MutableMap, @@ -499,6 +575,9 @@ private constructor( @JsonProperty("account_statement_ofx") @ExcludeMissing accountStatementOfx: JsonField = JsonMissing.of(), + @JsonProperty("account_verification_letter") + @ExcludeMissing + accountVerificationLetter: JsonField = JsonMissing.of(), @JsonProperty("balance_csv") @ExcludeMissing balanceCsv: JsonField = JsonMissing.of(), @@ -509,6 +588,9 @@ private constructor( @JsonProperty("entity_csv") @ExcludeMissing entityCsv: JsonField = JsonMissing.of(), + @JsonProperty("funding_instructions") + @ExcludeMissing + fundingInstructions: JsonField = JsonMissing.of(), @JsonProperty("transaction_csv") @ExcludeMissing transactionCsv: JsonField = JsonMissing.of(), @@ -519,9 +601,11 @@ private constructor( category, accountStatementBai2, accountStatementOfx, + accountVerificationLetter, balanceCsv, bookkeepingAccountBalanceCsv, entityCsv, + fundingInstructions, transactionCsv, vendorCsv, mutableMapOf(), @@ -555,6 +639,16 @@ private constructor( fun accountStatementOfx(): Optional = accountStatementOfx.getOptional("account_statement_ofx") + /** + * Options for the created export. Required if `category` is equal to + * `account_verification_letter`. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if + * the server responded with an unexpected value). + */ + fun accountVerificationLetter(): Optional = + accountVerificationLetter.getOptional("account_verification_letter") + /** * Options for the created export. Required if `category` is equal to `balance_csv`. * @@ -581,6 +675,16 @@ private constructor( */ fun entityCsv(): Optional = entityCsv.getOptional("entity_csv") + /** + * Options for the created export. Required if `category` is equal to + * `funding_instructions`. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if + * the server responded with an unexpected value). + */ + fun fundingInstructions(): Optional = + fundingInstructions.getOptional("funding_instructions") + /** * Options for the created export. Required if `category` is equal to `transaction_csv`. * @@ -625,6 +729,17 @@ private constructor( @ExcludeMissing fun _accountStatementOfx(): JsonField = accountStatementOfx + /** + * Returns the raw JSON value of [accountVerificationLetter]. + * + * Unlike [accountVerificationLetter], this method doesn't throw if the JSON field has an + * unexpected type. + */ + @JsonProperty("account_verification_letter") + @ExcludeMissing + fun _accountVerificationLetter(): JsonField = + accountVerificationLetter + /** * Returns the raw JSON value of [balanceCsv]. * @@ -654,6 +769,16 @@ private constructor( @ExcludeMissing fun _entityCsv(): JsonField = entityCsv + /** + * Returns the raw JSON value of [fundingInstructions]. + * + * Unlike [fundingInstructions], this method doesn't throw if the JSON field has an + * unexpected type. + */ + @JsonProperty("funding_instructions") + @ExcludeMissing + fun _fundingInstructions(): JsonField = fundingInstructions + /** * Returns the raw JSON value of [transactionCsv]. * @@ -704,10 +829,13 @@ private constructor( private var category: JsonField? = null private var accountStatementBai2: JsonField = JsonMissing.of() private var accountStatementOfx: JsonField = JsonMissing.of() + private var accountVerificationLetter: JsonField = + JsonMissing.of() private var balanceCsv: JsonField = JsonMissing.of() private var bookkeepingAccountBalanceCsv: JsonField = JsonMissing.of() private var entityCsv: JsonField = JsonMissing.of() + private var fundingInstructions: JsonField = JsonMissing.of() private var transactionCsv: JsonField = JsonMissing.of() private var vendorCsv: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -717,9 +845,11 @@ private constructor( category = body.category accountStatementBai2 = body.accountStatementBai2 accountStatementOfx = body.accountStatementOfx + accountVerificationLetter = body.accountVerificationLetter balanceCsv = body.balanceCsv bookkeepingAccountBalanceCsv = body.bookkeepingAccountBalanceCsv entityCsv = body.entityCsv + fundingInstructions = body.fundingInstructions transactionCsv = body.transactionCsv vendorCsv = body.vendorCsv additionalProperties = body.additionalProperties.toMutableMap() @@ -774,6 +904,24 @@ private constructor( this.accountStatementOfx = accountStatementOfx } + /** + * Options for the created export. Required if `category` is equal to + * `account_verification_letter`. + */ + fun accountVerificationLetter(accountVerificationLetter: AccountVerificationLetter) = + accountVerificationLetter(JsonField.of(accountVerificationLetter)) + + /** + * Sets [Builder.accountVerificationLetter] to an arbitrary JSON value. + * + * You should usually call [Builder.accountVerificationLetter] with a well-typed + * [AccountVerificationLetter] value instead. This method is primarily for setting the + * field to an undocumented or not yet supported value. + */ + fun accountVerificationLetter( + accountVerificationLetter: JsonField + ) = apply { this.accountVerificationLetter = accountVerificationLetter } + /** Options for the created export. Required if `category` is equal to `balance_csv`. */ fun balanceCsv(balanceCsv: BalanceCsv) = balanceCsv(JsonField.of(balanceCsv)) @@ -819,6 +967,24 @@ private constructor( */ fun entityCsv(entityCsv: JsonField) = apply { this.entityCsv = entityCsv } + /** + * Options for the created export. Required if `category` is equal to + * `funding_instructions`. + */ + fun fundingInstructions(fundingInstructions: FundingInstructions) = + fundingInstructions(JsonField.of(fundingInstructions)) + + /** + * Sets [Builder.fundingInstructions] to an arbitrary JSON value. + * + * You should usually call [Builder.fundingInstructions] with a well-typed + * [FundingInstructions] value instead. This method is primarily for setting the field + * to an undocumented or not yet supported value. + */ + fun fundingInstructions(fundingInstructions: JsonField) = apply { + this.fundingInstructions = fundingInstructions + } + /** * Options for the created export. Required if `category` is equal to `transaction_csv`. */ @@ -884,9 +1050,11 @@ private constructor( checkRequired("category", category), accountStatementBai2, accountStatementOfx, + accountVerificationLetter, balanceCsv, bookkeepingAccountBalanceCsv, entityCsv, + fundingInstructions, transactionCsv, vendorCsv, additionalProperties.toMutableMap(), @@ -903,9 +1071,11 @@ private constructor( category().validate() accountStatementBai2().ifPresent { it.validate() } accountStatementOfx().ifPresent { it.validate() } + accountVerificationLetter().ifPresent { it.validate() } balanceCsv().ifPresent { it.validate() } bookkeepingAccountBalanceCsv().ifPresent { it.validate() } entityCsv().ifPresent { it.validate() } + fundingInstructions().ifPresent { it.validate() } transactionCsv().ifPresent { it.validate() } vendorCsv().ifPresent { it.validate() } validated = true @@ -930,9 +1100,11 @@ private constructor( (category.asKnown().getOrNull()?.validity() ?: 0) + (accountStatementBai2.asKnown().getOrNull()?.validity() ?: 0) + (accountStatementOfx.asKnown().getOrNull()?.validity() ?: 0) + + (accountVerificationLetter.asKnown().getOrNull()?.validity() ?: 0) + (balanceCsv.asKnown().getOrNull()?.validity() ?: 0) + (bookkeepingAccountBalanceCsv.asKnown().getOrNull()?.validity() ?: 0) + (entityCsv.asKnown().getOrNull()?.validity() ?: 0) + + (fundingInstructions.asKnown().getOrNull()?.validity() ?: 0) + (transactionCsv.asKnown().getOrNull()?.validity() ?: 0) + (vendorCsv.asKnown().getOrNull()?.validity() ?: 0) @@ -945,9 +1117,11 @@ private constructor( category == other.category && accountStatementBai2 == other.accountStatementBai2 && accountStatementOfx == other.accountStatementOfx && + accountVerificationLetter == other.accountVerificationLetter && balanceCsv == other.balanceCsv && bookkeepingAccountBalanceCsv == other.bookkeepingAccountBalanceCsv && entityCsv == other.entityCsv && + fundingInstructions == other.fundingInstructions && transactionCsv == other.transactionCsv && vendorCsv == other.vendorCsv && additionalProperties == other.additionalProperties @@ -958,9 +1132,11 @@ private constructor( category, accountStatementBai2, accountStatementOfx, + accountVerificationLetter, balanceCsv, bookkeepingAccountBalanceCsv, entityCsv, + fundingInstructions, transactionCsv, vendorCsv, additionalProperties, @@ -970,7 +1146,7 @@ private constructor( override fun hashCode(): Int = hashCode override fun toString() = - "Body{category=$category, accountStatementBai2=$accountStatementBai2, accountStatementOfx=$accountStatementOfx, balanceCsv=$balanceCsv, bookkeepingAccountBalanceCsv=$bookkeepingAccountBalanceCsv, entityCsv=$entityCsv, 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, additionalProperties=$additionalProperties}" } /** The type of Export to create. */ @@ -1015,6 +1191,12 @@ private constructor( /** Export a CSV of vendors added to the third-party risk management dashboard. */ @JvmField val VENDOR_CSV = of("vendor_csv") + /** A PDF of an account verification letter. */ + @JvmField val ACCOUNT_VERIFICATION_LETTER = of("account_verification_letter") + + /** A PDF of funding instructions. */ + @JvmField val FUNDING_INSTRUCTIONS = of("funding_instructions") + @JvmStatic fun of(value: String) = Category(JsonField.of(value)) } @@ -1040,6 +1222,10 @@ private constructor( ENTITY_CSV, /** Export a CSV of vendors added to the third-party risk management dashboard. */ VENDOR_CSV, + /** A PDF of an account verification letter. */ + ACCOUNT_VERIFICATION_LETTER, + /** A PDF of funding instructions. */ + FUNDING_INSTRUCTIONS, } /** @@ -1072,6 +1258,10 @@ private constructor( ENTITY_CSV, /** Export a CSV of vendors added to the third-party risk management dashboard. */ VENDOR_CSV, + /** A PDF of an account verification letter. */ + ACCOUNT_VERIFICATION_LETTER, + /** A PDF of funding instructions. */ + FUNDING_INSTRUCTIONS, /** An enum member indicating that [Category] was instantiated with an unknown value. */ _UNKNOWN, } @@ -1092,6 +1282,8 @@ private constructor( BOOKKEEPING_ACCOUNT_BALANCE_CSV -> Value.BOOKKEEPING_ACCOUNT_BALANCE_CSV ENTITY_CSV -> Value.ENTITY_CSV VENDOR_CSV -> Value.VENDOR_CSV + ACCOUNT_VERIFICATION_LETTER -> Value.ACCOUNT_VERIFICATION_LETTER + FUNDING_INSTRUCTIONS -> Value.FUNDING_INSTRUCTIONS else -> Value._UNKNOWN } @@ -1113,6 +1305,8 @@ private constructor( BOOKKEEPING_ACCOUNT_BALANCE_CSV -> Known.BOOKKEEPING_ACCOUNT_BALANCE_CSV ENTITY_CSV -> Known.ENTITY_CSV VENDOR_CSV -> Known.VENDOR_CSV + ACCOUNT_VERIFICATION_LETTER -> Known.ACCOUNT_VERIFICATION_LETTER + FUNDING_INSTRUCTIONS -> Known.FUNDING_INSTRUCTIONS else -> throw IncreaseInvalidDataException("Unknown Category: $value") } @@ -1918,6 +2112,223 @@ private constructor( "AccountStatementOfx{accountId=$accountId, createdAt=$createdAt, additionalProperties=$additionalProperties}" } + /** + * Options for the created export. Required if `category` is equal to + * `account_verification_letter`. + */ + class AccountVerificationLetter + @JsonCreator(mode = JsonCreator.Mode.DISABLED) + private constructor( + private val accountNumberId: JsonField, + private val balanceDate: JsonField, + private val additionalProperties: MutableMap, + ) { + + @JsonCreator + private constructor( + @JsonProperty("account_number_id") + @ExcludeMissing + accountNumberId: JsonField = JsonMissing.of(), + @JsonProperty("balance_date") + @ExcludeMissing + balanceDate: JsonField = JsonMissing.of(), + ) : this(accountNumberId, balanceDate, mutableMapOf()) + + /** + * The Account Number to create a letter for. + * + * @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 date of the balance to include in the letter. Defaults to the current date. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if + * the server responded with an unexpected value). + */ + fun balanceDate(): Optional = balanceDate.getOptional("balance_date") + + /** + * 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 [balanceDate]. + * + * Unlike [balanceDate], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("balance_date") + @ExcludeMissing + fun _balanceDate(): JsonField = balanceDate + + @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 + * [AccountVerificationLetter]. + * + * The following fields are required: + * ```java + * .accountNumberId() + * ``` + */ + @JvmStatic fun builder() = Builder() + } + + /** A builder for [AccountVerificationLetter]. */ + class Builder internal constructor() { + + private var accountNumberId: JsonField? = null + private var balanceDate: JsonField = JsonMissing.of() + private var additionalProperties: MutableMap = mutableMapOf() + + @JvmSynthetic + internal fun from(accountVerificationLetter: AccountVerificationLetter) = apply { + accountNumberId = accountVerificationLetter.accountNumberId + balanceDate = accountVerificationLetter.balanceDate + additionalProperties = accountVerificationLetter.additionalProperties.toMutableMap() + } + + /** The Account Number to create a letter for. */ + 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 date of the balance to include in the letter. Defaults to the current date. */ + fun balanceDate(balanceDate: LocalDate) = balanceDate(JsonField.of(balanceDate)) + + /** + * Sets [Builder.balanceDate] to an arbitrary JSON value. + * + * You should usually call [Builder.balanceDate] with a well-typed [LocalDate] value + * instead. This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun balanceDate(balanceDate: JsonField) = apply { + this.balanceDate = balanceDate + } + + 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 [AccountVerificationLetter]. + * + * 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(): AccountVerificationLetter = + AccountVerificationLetter( + checkRequired("accountNumberId", accountNumberId), + balanceDate, + additionalProperties.toMutableMap(), + ) + } + + private var validated: Boolean = false + + fun validate(): AccountVerificationLetter = apply { + if (validated) { + return@apply + } + + accountNumberId() + balanceDate() + 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) + + (if (balanceDate.asKnown().isPresent) 1 else 0) + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return other is AccountVerificationLetter && + accountNumberId == other.accountNumberId && + balanceDate == other.balanceDate && + additionalProperties == other.additionalProperties + } + + private val hashCode: Int by lazy { + Objects.hash(accountNumberId, balanceDate, additionalProperties) + } + + override fun hashCode(): Int = hashCode + + override fun toString() = + "AccountVerificationLetter{accountNumberId=$accountNumberId, balanceDate=$balanceDate, additionalProperties=$additionalProperties}" + } + /** Options for the created export. Required if `category` is equal to `balance_csv`. */ class BalanceCsv @JsonCreator(mode = JsonCreator.Mode.DISABLED) @@ -3409,6 +3820,177 @@ private constructor( "EntityCsv{status=$status, additionalProperties=$additionalProperties}" } + /** + * Options for the created export. Required if `category` is equal to `funding_instructions`. + */ + class FundingInstructions + @JsonCreator(mode = JsonCreator.Mode.DISABLED) + private constructor( + private val accountNumberId: JsonField, + private val additionalProperties: MutableMap, + ) { + + @JsonCreator + private constructor( + @JsonProperty("account_number_id") + @ExcludeMissing + accountNumberId: JsonField = JsonMissing.of() + ) : this(accountNumberId, mutableMapOf()) + + /** + * The Account Number to create funding instructions for. + * + * @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") + + /** + * 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 + + @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 [FundingInstructions]. + * + * The following fields are required: + * ```java + * .accountNumberId() + * ``` + */ + @JvmStatic fun builder() = Builder() + } + + /** A builder for [FundingInstructions]. */ + class Builder internal constructor() { + + private var accountNumberId: JsonField? = null + private var additionalProperties: MutableMap = mutableMapOf() + + @JvmSynthetic + internal fun from(fundingInstructions: FundingInstructions) = apply { + accountNumberId = fundingInstructions.accountNumberId + additionalProperties = fundingInstructions.additionalProperties.toMutableMap() + } + + /** The Account Number to create funding instructions for. */ + 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 + } + + 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 [FundingInstructions]. + * + * 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(): FundingInstructions = + FundingInstructions( + checkRequired("accountNumberId", accountNumberId), + additionalProperties.toMutableMap(), + ) + } + + private var validated: Boolean = false + + fun validate(): FundingInstructions = apply { + if (validated) { + return@apply + } + + accountNumberId() + 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) + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return other is FundingInstructions && + accountNumberId == other.accountNumberId && + additionalProperties == other.additionalProperties + } + + private val hashCode: Int by lazy { Objects.hash(accountNumberId, additionalProperties) } + + override fun hashCode(): Int = hashCode + + override fun toString() = + "FundingInstructions{accountNumberId=$accountNumberId, additionalProperties=$additionalProperties}" + } + /** Options for the created export. Required if `category` is equal to `transaction_csv`. */ class TransactionCsv @JsonCreator(mode = JsonCreator.Mode.DISABLED) diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/simulations/exports/ExportCreateParams.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/simulations/exports/ExportCreateParams.kt new file mode 100644 index 000000000..218ef3e44 --- /dev/null +++ b/increase-java-core/src/main/kotlin/com/increase/api/models/simulations/exports/ExportCreateParams.kt @@ -0,0 +1,418 @@ +// File generated from our OpenAPI spec by Stainless. + +package com.increase.api.models.simulations.exports + +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.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.checkRequired +import com.increase.api.core.http.Headers +import com.increase.api.core.http.QueryParams +import com.increase.api.errors.IncreaseInvalidDataException +import java.util.Collections +import java.util.Objects + +/** Simulates a tax form export being generated. */ +class ExportCreateParams +private constructor( + private val body: Body, + private val additionalHeaders: Headers, + private val additionalQueryParams: QueryParams, +) : Params { + + /** + * The identifier of the Account the tax document is for. + * + * @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 accountId(): String = body.accountId() + + /** + * Returns the raw JSON value of [accountId]. + * + * Unlike [accountId], this method doesn't throw if the JSON field has an unexpected type. + */ + fun _accountId(): JsonField = body._accountId() + + fun _additionalBodyProperties(): Map = body._additionalProperties() + + /** Additional headers to send with the request. */ + fun _additionalHeaders(): Headers = additionalHeaders + + /** Additional query param to send with the request. */ + fun _additionalQueryParams(): QueryParams = additionalQueryParams + + fun toBuilder() = Builder().from(this) + + companion object { + + /** + * Returns a mutable builder for constructing an instance of [ExportCreateParams]. + * + * The following fields are required: + * ```java + * .accountId() + * ``` + */ + @JvmStatic fun builder() = Builder() + } + + /** A builder for [ExportCreateParams]. */ + class Builder internal constructor() { + + private var body: Body.Builder = Body.builder() + private var additionalHeaders: Headers.Builder = Headers.builder() + private var additionalQueryParams: QueryParams.Builder = QueryParams.builder() + + @JvmSynthetic + internal fun from(exportCreateParams: ExportCreateParams) = apply { + body = exportCreateParams.body.toBuilder() + additionalHeaders = exportCreateParams.additionalHeaders.toBuilder() + additionalQueryParams = exportCreateParams.additionalQueryParams.toBuilder() + } + + /** + * 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: + * - [accountId] + */ + fun body(body: Body) = apply { this.body = body.toBuilder() } + + /** The identifier of the Account the tax document is for. */ + fun accountId(accountId: String) = apply { body.accountId(accountId) } + + /** + * Sets [Builder.accountId] to an arbitrary JSON value. + * + * You should usually call [Builder.accountId] with a well-typed [String] value instead. + * This method is primarily for setting the field to an undocumented or not yet supported + * value. + */ + fun accountId(accountId: JsonField) = apply { body.accountId(accountId) } + + 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) + } + + fun additionalHeaders(additionalHeaders: Map>) = apply { + this.additionalHeaders.clear() + putAllAdditionalHeaders(additionalHeaders) + } + + fun putAdditionalHeader(name: String, value: String) = apply { + additionalHeaders.put(name, value) + } + + fun putAdditionalHeaders(name: String, values: Iterable) = apply { + additionalHeaders.put(name, values) + } + + fun putAllAdditionalHeaders(additionalHeaders: Headers) = apply { + this.additionalHeaders.putAll(additionalHeaders) + } + + fun putAllAdditionalHeaders(additionalHeaders: Map>) = apply { + this.additionalHeaders.putAll(additionalHeaders) + } + + fun replaceAdditionalHeaders(name: String, value: String) = apply { + additionalHeaders.replace(name, value) + } + + fun replaceAdditionalHeaders(name: String, values: Iterable) = apply { + additionalHeaders.replace(name, values) + } + + fun replaceAllAdditionalHeaders(additionalHeaders: Headers) = apply { + this.additionalHeaders.replaceAll(additionalHeaders) + } + + fun replaceAllAdditionalHeaders(additionalHeaders: Map>) = apply { + this.additionalHeaders.replaceAll(additionalHeaders) + } + + fun removeAdditionalHeaders(name: String) = apply { additionalHeaders.remove(name) } + + fun removeAllAdditionalHeaders(names: Set) = apply { + additionalHeaders.removeAll(names) + } + + fun additionalQueryParams(additionalQueryParams: QueryParams) = apply { + this.additionalQueryParams.clear() + putAllAdditionalQueryParams(additionalQueryParams) + } + + fun additionalQueryParams(additionalQueryParams: Map>) = apply { + this.additionalQueryParams.clear() + putAllAdditionalQueryParams(additionalQueryParams) + } + + fun putAdditionalQueryParam(key: String, value: String) = apply { + additionalQueryParams.put(key, value) + } + + fun putAdditionalQueryParams(key: String, values: Iterable) = apply { + additionalQueryParams.put(key, values) + } + + fun putAllAdditionalQueryParams(additionalQueryParams: QueryParams) = apply { + this.additionalQueryParams.putAll(additionalQueryParams) + } + + fun putAllAdditionalQueryParams(additionalQueryParams: Map>) = + apply { + this.additionalQueryParams.putAll(additionalQueryParams) + } + + fun replaceAdditionalQueryParams(key: String, value: String) = apply { + additionalQueryParams.replace(key, value) + } + + fun replaceAdditionalQueryParams(key: String, values: Iterable) = apply { + additionalQueryParams.replace(key, values) + } + + fun replaceAllAdditionalQueryParams(additionalQueryParams: QueryParams) = apply { + this.additionalQueryParams.replaceAll(additionalQueryParams) + } + + fun replaceAllAdditionalQueryParams(additionalQueryParams: Map>) = + apply { + this.additionalQueryParams.replaceAll(additionalQueryParams) + } + + fun removeAdditionalQueryParams(key: String) = apply { additionalQueryParams.remove(key) } + + fun removeAllAdditionalQueryParams(keys: Set) = apply { + additionalQueryParams.removeAll(keys) + } + + /** + * Returns an immutable instance of [ExportCreateParams]. + * + * Further updates to this [Builder] will not mutate the returned instance. + * + * The following fields are required: + * ```java + * .accountId() + * ``` + * + * @throws IllegalStateException if any required field is unset. + */ + fun build(): ExportCreateParams = + ExportCreateParams( + body.build(), + additionalHeaders.build(), + additionalQueryParams.build(), + ) + } + + fun _body(): Body = body + + override fun _headers(): Headers = additionalHeaders + + override fun _queryParams(): QueryParams = additionalQueryParams + + class Body + @JsonCreator(mode = JsonCreator.Mode.DISABLED) + private constructor( + private val accountId: JsonField, + private val additionalProperties: MutableMap, + ) { + + @JsonCreator + private constructor( + @JsonProperty("account_id") + @ExcludeMissing + accountId: JsonField = JsonMissing.of() + ) : this(accountId, mutableMapOf()) + + /** + * The identifier of the Account the tax document is for. + * + * @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 accountId(): String = accountId.getRequired("account_id") + + /** + * Returns the raw JSON value of [accountId]. + * + * Unlike [accountId], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("account_id") @ExcludeMissing fun _accountId(): JsonField = accountId + + @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 [Body]. + * + * The following fields are required: + * ```java + * .accountId() + * ``` + */ + @JvmStatic fun builder() = Builder() + } + + /** A builder for [Body]. */ + class Builder internal constructor() { + + private var accountId: JsonField? = null + private var additionalProperties: MutableMap = mutableMapOf() + + @JvmSynthetic + internal fun from(body: Body) = apply { + accountId = body.accountId + additionalProperties = body.additionalProperties.toMutableMap() + } + + /** The identifier of the Account the tax document is for. */ + fun accountId(accountId: String) = accountId(JsonField.of(accountId)) + + /** + * Sets [Builder.accountId] to an arbitrary JSON value. + * + * You should usually call [Builder.accountId] with a well-typed [String] value instead. + * This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun accountId(accountId: JsonField) = apply { this.accountId = accountId } + + 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 [Body]. + * + * Further updates to this [Builder] will not mutate the returned instance. + * + * The following fields are required: + * ```java + * .accountId() + * ``` + * + * @throws IllegalStateException if any required field is unset. + */ + fun build(): Body = + Body(checkRequired("accountId", accountId), additionalProperties.toMutableMap()) + } + + private var validated: Boolean = false + + fun validate(): Body = apply { + if (validated) { + return@apply + } + + accountId() + 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 (accountId.asKnown().isPresent) 1 else 0) + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return other is Body && + accountId == other.accountId && + additionalProperties == other.additionalProperties + } + + private val hashCode: Int by lazy { Objects.hash(accountId, additionalProperties) } + + override fun hashCode(): Int = hashCode + + override fun toString() = + "Body{accountId=$accountId, additionalProperties=$additionalProperties}" + } + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return other is ExportCreateParams && + body == other.body && + additionalHeaders == other.additionalHeaders && + additionalQueryParams == other.additionalQueryParams + } + + override fun hashCode(): Int = Objects.hash(body, additionalHeaders, additionalQueryParams) + + override fun toString() = + "ExportCreateParams{body=$body, additionalHeaders=$additionalHeaders, additionalQueryParams=$additionalQueryParams}" +} diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/async/SimulationServiceAsync.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/async/SimulationServiceAsync.kt index 92761ca75..a065803d2 100644 --- a/increase-java-core/src/main/kotlin/com/increase/api/services/async/SimulationServiceAsync.kt +++ b/increase-java-core/src/main/kotlin/com/increase/api/services/async/SimulationServiceAsync.kt @@ -20,6 +20,7 @@ import com.increase.api.services.async.simulations.CheckDepositServiceAsync import com.increase.api.services.async.simulations.CheckTransferServiceAsync import com.increase.api.services.async.simulations.DigitalWalletTokenRequestServiceAsync import com.increase.api.services.async.simulations.DocumentServiceAsync +import com.increase.api.services.async.simulations.ExportServiceAsync import com.increase.api.services.async.simulations.InboundAchTransferServiceAsync import com.increase.api.services.async.simulations.InboundCheckDepositServiceAsync import com.increase.api.services.async.simulations.InboundFednowTransferServiceAsync @@ -110,6 +111,8 @@ interface SimulationServiceAsync { fun documents(): DocumentServiceAsync + fun exports(): ExportServiceAsync + fun cardTokens(): CardTokenServiceAsync /** @@ -188,6 +191,8 @@ interface SimulationServiceAsync { fun documents(): DocumentServiceAsync.WithRawResponse + fun exports(): ExportServiceAsync.WithRawResponse + fun cardTokens(): CardTokenServiceAsync.WithRawResponse } } diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/async/SimulationServiceAsyncImpl.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/async/SimulationServiceAsyncImpl.kt index 01be0bcd8..cf2ce443f 100644 --- a/increase-java-core/src/main/kotlin/com/increase/api/services/async/SimulationServiceAsyncImpl.kt +++ b/increase-java-core/src/main/kotlin/com/increase/api/services/async/SimulationServiceAsyncImpl.kt @@ -37,6 +37,8 @@ import com.increase.api.services.async.simulations.DigitalWalletTokenRequestServ import com.increase.api.services.async.simulations.DigitalWalletTokenRequestServiceAsyncImpl import com.increase.api.services.async.simulations.DocumentServiceAsync import com.increase.api.services.async.simulations.DocumentServiceAsyncImpl +import com.increase.api.services.async.simulations.ExportServiceAsync +import com.increase.api.services.async.simulations.ExportServiceAsyncImpl import com.increase.api.services.async.simulations.InboundAchTransferServiceAsync import com.increase.api.services.async.simulations.InboundAchTransferServiceAsyncImpl import com.increase.api.services.async.simulations.InboundCheckDepositServiceAsync @@ -191,6 +193,8 @@ class SimulationServiceAsyncImpl internal constructor(private val clientOptions: private val documents: DocumentServiceAsync by lazy { DocumentServiceAsyncImpl(clientOptions) } + private val exports: ExportServiceAsync by lazy { ExportServiceAsyncImpl(clientOptions) } + private val cardTokens: CardTokenServiceAsync by lazy { CardTokenServiceAsyncImpl(clientOptions) } @@ -266,6 +270,8 @@ class SimulationServiceAsyncImpl internal constructor(private val clientOptions: override fun documents(): DocumentServiceAsync = documents + override fun exports(): ExportServiceAsync = exports + override fun cardTokens(): CardTokenServiceAsync = cardTokens class WithRawResponseImpl internal constructor(private val clientOptions: ClientOptions) : @@ -398,6 +404,10 @@ class SimulationServiceAsyncImpl internal constructor(private val clientOptions: DocumentServiceAsyncImpl.WithRawResponseImpl(clientOptions) } + private val exports: ExportServiceAsync.WithRawResponse by lazy { + ExportServiceAsyncImpl.WithRawResponseImpl(clientOptions) + } + private val cardTokens: CardTokenServiceAsync.WithRawResponse by lazy { CardTokenServiceAsyncImpl.WithRawResponseImpl(clientOptions) } @@ -488,6 +498,8 @@ class SimulationServiceAsyncImpl internal constructor(private val clientOptions: override fun documents(): DocumentServiceAsync.WithRawResponse = documents + override fun exports(): ExportServiceAsync.WithRawResponse = exports + override fun cardTokens(): CardTokenServiceAsync.WithRawResponse = cardTokens } } diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/async/simulations/ExportServiceAsync.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/async/simulations/ExportServiceAsync.kt new file mode 100644 index 000000000..a61ecd272 --- /dev/null +++ b/increase-java-core/src/main/kotlin/com/increase/api/services/async/simulations/ExportServiceAsync.kt @@ -0,0 +1,64 @@ +// File generated from our OpenAPI spec by Stainless. + +package com.increase.api.services.async.simulations + +import com.increase.api.core.ClientOptions +import com.increase.api.core.RequestOptions +import com.increase.api.core.http.HttpResponseFor +import com.increase.api.models.exports.Export +import com.increase.api.models.simulations.exports.ExportCreateParams +import java.util.concurrent.CompletableFuture +import java.util.function.Consumer + +interface ExportServiceAsync { + + /** + * Returns a view of this service that provides access to raw HTTP responses for each method. + */ + fun withRawResponse(): WithRawResponse + + /** + * Returns a view of this service with the given option modifications applied. + * + * The original service is not modified. + */ + fun withOptions(modifier: Consumer): ExportServiceAsync + + /** Simulates a tax form export being generated. */ + fun create(params: ExportCreateParams): CompletableFuture = + create(params, RequestOptions.none()) + + /** @see create */ + fun create( + params: ExportCreateParams, + requestOptions: RequestOptions = RequestOptions.none(), + ): CompletableFuture + + /** + * A view of [ExportServiceAsync] that provides access to raw HTTP responses for each method. + */ + interface WithRawResponse { + + /** + * Returns a view of this service with the given option modifications applied. + * + * The original service is not modified. + */ + fun withOptions( + modifier: Consumer + ): ExportServiceAsync.WithRawResponse + + /** + * Returns a raw HTTP response for `post /simulations/exports`, but is otherwise the same as + * [ExportServiceAsync.create]. + */ + fun create(params: ExportCreateParams): CompletableFuture> = + create(params, RequestOptions.none()) + + /** @see create */ + fun create( + params: ExportCreateParams, + requestOptions: RequestOptions = RequestOptions.none(), + ): CompletableFuture> + } +} diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/async/simulations/ExportServiceAsyncImpl.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/async/simulations/ExportServiceAsyncImpl.kt new file mode 100644 index 000000000..882ffefd3 --- /dev/null +++ b/increase-java-core/src/main/kotlin/com/increase/api/services/async/simulations/ExportServiceAsyncImpl.kt @@ -0,0 +1,85 @@ +// File generated from our OpenAPI spec by Stainless. + +package com.increase.api.services.async.simulations + +import com.increase.api.core.ClientOptions +import com.increase.api.core.RequestOptions +import com.increase.api.core.handlers.errorBodyHandler +import com.increase.api.core.handlers.errorHandler +import com.increase.api.core.handlers.jsonHandler +import com.increase.api.core.http.HttpMethod +import com.increase.api.core.http.HttpRequest +import com.increase.api.core.http.HttpResponse +import com.increase.api.core.http.HttpResponse.Handler +import com.increase.api.core.http.HttpResponseFor +import com.increase.api.core.http.json +import com.increase.api.core.http.parseable +import com.increase.api.core.prepareAsync +import com.increase.api.models.exports.Export +import com.increase.api.models.simulations.exports.ExportCreateParams +import java.util.concurrent.CompletableFuture +import java.util.function.Consumer + +class ExportServiceAsyncImpl internal constructor(private val clientOptions: ClientOptions) : + ExportServiceAsync { + + private val withRawResponse: ExportServiceAsync.WithRawResponse by lazy { + WithRawResponseImpl(clientOptions) + } + + override fun withRawResponse(): ExportServiceAsync.WithRawResponse = withRawResponse + + override fun withOptions(modifier: Consumer): ExportServiceAsync = + ExportServiceAsyncImpl(clientOptions.toBuilder().apply(modifier::accept).build()) + + override fun create( + params: ExportCreateParams, + requestOptions: RequestOptions, + ): CompletableFuture = + // post /simulations/exports + withRawResponse().create(params, requestOptions).thenApply { it.parse() } + + class WithRawResponseImpl internal constructor(private val clientOptions: ClientOptions) : + ExportServiceAsync.WithRawResponse { + + private val errorHandler: Handler = + errorHandler(errorBodyHandler(clientOptions.jsonMapper)) + + override fun withOptions( + modifier: Consumer + ): ExportServiceAsync.WithRawResponse = + ExportServiceAsyncImpl.WithRawResponseImpl( + clientOptions.toBuilder().apply(modifier::accept).build() + ) + + private val createHandler: Handler = jsonHandler(clientOptions.jsonMapper) + + override fun create( + params: ExportCreateParams, + requestOptions: RequestOptions, + ): CompletableFuture> { + val request = + HttpRequest.builder() + .method(HttpMethod.POST) + .baseUrl(clientOptions.baseUrl()) + .addPathSegments("simulations", "exports") + .body(json(clientOptions.jsonMapper, params._body())) + .build() + .prepareAsync(clientOptions, params) + val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions)) + return request + .thenComposeAsync { clientOptions.httpClient.executeAsync(it, requestOptions) } + .thenApply { response -> + errorHandler.handle(response).parseable { + response + .use { createHandler.handle(it) } + .also { + if (requestOptions.responseValidation!!) { + it.validate() + } + } + } + } + } + } +} diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/SimulationService.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/SimulationService.kt index 633e26933..2b6b3098d 100644 --- a/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/SimulationService.kt +++ b/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/SimulationService.kt @@ -20,6 +20,7 @@ import com.increase.api.services.blocking.simulations.CheckDepositService import com.increase.api.services.blocking.simulations.CheckTransferService import com.increase.api.services.blocking.simulations.DigitalWalletTokenRequestService import com.increase.api.services.blocking.simulations.DocumentService +import com.increase.api.services.blocking.simulations.ExportService import com.increase.api.services.blocking.simulations.InboundAchTransferService import com.increase.api.services.blocking.simulations.InboundCheckDepositService import com.increase.api.services.blocking.simulations.InboundFednowTransferService @@ -110,6 +111,8 @@ interface SimulationService { fun documents(): DocumentService + fun exports(): ExportService + fun cardTokens(): CardTokenService /** A view of [SimulationService] that provides access to raw HTTP responses for each method. */ @@ -185,6 +188,8 @@ interface SimulationService { fun documents(): DocumentService.WithRawResponse + fun exports(): ExportService.WithRawResponse + fun cardTokens(): CardTokenService.WithRawResponse } } diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/SimulationServiceImpl.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/SimulationServiceImpl.kt index 31dea2bf2..9b47f23e7 100644 --- a/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/SimulationServiceImpl.kt +++ b/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/SimulationServiceImpl.kt @@ -37,6 +37,8 @@ import com.increase.api.services.blocking.simulations.DigitalWalletTokenRequestS import com.increase.api.services.blocking.simulations.DigitalWalletTokenRequestServiceImpl import com.increase.api.services.blocking.simulations.DocumentService import com.increase.api.services.blocking.simulations.DocumentServiceImpl +import com.increase.api.services.blocking.simulations.ExportService +import com.increase.api.services.blocking.simulations.ExportServiceImpl import com.increase.api.services.blocking.simulations.InboundAchTransferService import com.increase.api.services.blocking.simulations.InboundAchTransferServiceImpl import com.increase.api.services.blocking.simulations.InboundCheckDepositService @@ -184,6 +186,8 @@ class SimulationServiceImpl internal constructor(private val clientOptions: Clie private val documents: DocumentService by lazy { DocumentServiceImpl(clientOptions) } + private val exports: ExportService by lazy { ExportServiceImpl(clientOptions) } + private val cardTokens: CardTokenService by lazy { CardTokenServiceImpl(clientOptions) } override fun withRawResponse(): SimulationService.WithRawResponse = withRawResponse @@ -256,6 +260,8 @@ class SimulationServiceImpl internal constructor(private val clientOptions: Clie override fun documents(): DocumentService = documents + override fun exports(): ExportService = exports + override fun cardTokens(): CardTokenService = cardTokens class WithRawResponseImpl internal constructor(private val clientOptions: ClientOptions) : @@ -386,6 +392,10 @@ class SimulationServiceImpl internal constructor(private val clientOptions: Clie DocumentServiceImpl.WithRawResponseImpl(clientOptions) } + private val exports: ExportService.WithRawResponse by lazy { + ExportServiceImpl.WithRawResponseImpl(clientOptions) + } + private val cardTokens: CardTokenService.WithRawResponse by lazy { CardTokenServiceImpl.WithRawResponseImpl(clientOptions) } @@ -473,6 +483,8 @@ class SimulationServiceImpl internal constructor(private val clientOptions: Clie override fun documents(): DocumentService.WithRawResponse = documents + override fun exports(): ExportService.WithRawResponse = exports + override fun cardTokens(): CardTokenService.WithRawResponse = cardTokens } } diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/simulations/ExportService.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/simulations/ExportService.kt new file mode 100644 index 000000000..3dfde152b --- /dev/null +++ b/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/simulations/ExportService.kt @@ -0,0 +1,61 @@ +// File generated from our OpenAPI spec by Stainless. + +package com.increase.api.services.blocking.simulations + +import com.google.errorprone.annotations.MustBeClosed +import com.increase.api.core.ClientOptions +import com.increase.api.core.RequestOptions +import com.increase.api.core.http.HttpResponseFor +import com.increase.api.models.exports.Export +import com.increase.api.models.simulations.exports.ExportCreateParams +import java.util.function.Consumer + +interface ExportService { + + /** + * Returns a view of this service that provides access to raw HTTP responses for each method. + */ + fun withRawResponse(): WithRawResponse + + /** + * Returns a view of this service with the given option modifications applied. + * + * The original service is not modified. + */ + fun withOptions(modifier: Consumer): ExportService + + /** Simulates a tax form export being generated. */ + fun create(params: ExportCreateParams): Export = create(params, RequestOptions.none()) + + /** @see create */ + fun create( + params: ExportCreateParams, + requestOptions: RequestOptions = RequestOptions.none(), + ): Export + + /** A view of [ExportService] that provides access to raw HTTP responses for each method. */ + interface WithRawResponse { + + /** + * Returns a view of this service with the given option modifications applied. + * + * The original service is not modified. + */ + fun withOptions(modifier: Consumer): ExportService.WithRawResponse + + /** + * Returns a raw HTTP response for `post /simulations/exports`, but is otherwise the same as + * [ExportService.create]. + */ + @MustBeClosed + fun create(params: ExportCreateParams): HttpResponseFor = + create(params, RequestOptions.none()) + + /** @see create */ + @MustBeClosed + fun create( + params: ExportCreateParams, + requestOptions: RequestOptions = RequestOptions.none(), + ): HttpResponseFor + } +} diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/simulations/ExportServiceImpl.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/simulations/ExportServiceImpl.kt new file mode 100644 index 000000000..1275a1cee --- /dev/null +++ b/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/simulations/ExportServiceImpl.kt @@ -0,0 +1,78 @@ +// File generated from our OpenAPI spec by Stainless. + +package com.increase.api.services.blocking.simulations + +import com.increase.api.core.ClientOptions +import com.increase.api.core.RequestOptions +import com.increase.api.core.handlers.errorBodyHandler +import com.increase.api.core.handlers.errorHandler +import com.increase.api.core.handlers.jsonHandler +import com.increase.api.core.http.HttpMethod +import com.increase.api.core.http.HttpRequest +import com.increase.api.core.http.HttpResponse +import com.increase.api.core.http.HttpResponse.Handler +import com.increase.api.core.http.HttpResponseFor +import com.increase.api.core.http.json +import com.increase.api.core.http.parseable +import com.increase.api.core.prepare +import com.increase.api.models.exports.Export +import com.increase.api.models.simulations.exports.ExportCreateParams +import java.util.function.Consumer + +class ExportServiceImpl internal constructor(private val clientOptions: ClientOptions) : + ExportService { + + private val withRawResponse: ExportService.WithRawResponse by lazy { + WithRawResponseImpl(clientOptions) + } + + override fun withRawResponse(): ExportService.WithRawResponse = withRawResponse + + override fun withOptions(modifier: Consumer): ExportService = + ExportServiceImpl(clientOptions.toBuilder().apply(modifier::accept).build()) + + override fun create(params: ExportCreateParams, requestOptions: RequestOptions): Export = + // post /simulations/exports + withRawResponse().create(params, requestOptions).parse() + + class WithRawResponseImpl internal constructor(private val clientOptions: ClientOptions) : + ExportService.WithRawResponse { + + private val errorHandler: Handler = + errorHandler(errorBodyHandler(clientOptions.jsonMapper)) + + override fun withOptions( + modifier: Consumer + ): ExportService.WithRawResponse = + ExportServiceImpl.WithRawResponseImpl( + clientOptions.toBuilder().apply(modifier::accept).build() + ) + + private val createHandler: Handler = jsonHandler(clientOptions.jsonMapper) + + override fun create( + params: ExportCreateParams, + requestOptions: RequestOptions, + ): HttpResponseFor { + val request = + HttpRequest.builder() + .method(HttpMethod.POST) + .baseUrl(clientOptions.baseUrl()) + .addPathSegments("simulations", "exports") + .body(json(clientOptions.jsonMapper, params._body())) + .build() + .prepare(clientOptions, params) + val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions)) + val response = clientOptions.httpClient.execute(request, requestOptions) + return errorHandler.handle(response).parseable { + response + .use { createHandler.handle(it) } + .also { + if (requestOptions.responseValidation!!) { + it.validate() + } + } + } + } + } +} 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 363777e84..3e4a1e184 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 @@ -33,6 +33,12 @@ internal class ExportCreateParamsTest { ) .build() ) + .accountVerificationLetter( + ExportCreateParams.AccountVerificationLetter.builder() + .accountNumberId("account_number_id") + .balanceDate(LocalDate.parse("2019-12-27")) + .build() + ) .balanceCsv( ExportCreateParams.BalanceCsv.builder() .accountId("account_id") @@ -69,6 +75,11 @@ internal class ExportCreateParamsTest { ) .build() ) + .fundingInstructions( + ExportCreateParams.FundingInstructions.builder() + .accountNumberId("account_number_id") + .build() + ) .transactionCsv( ExportCreateParams.TransactionCsv.builder() .accountId("account_in71c4amph0vgo2qllky") @@ -112,6 +123,12 @@ internal class ExportCreateParamsTest { ) .build() ) + .accountVerificationLetter( + ExportCreateParams.AccountVerificationLetter.builder() + .accountNumberId("account_number_id") + .balanceDate(LocalDate.parse("2019-12-27")) + .build() + ) .balanceCsv( ExportCreateParams.BalanceCsv.builder() .accountId("account_id") @@ -148,6 +165,11 @@ internal class ExportCreateParamsTest { ) .build() ) + .fundingInstructions( + ExportCreateParams.FundingInstructions.builder() + .accountNumberId("account_number_id") + .build() + ) .transactionCsv( ExportCreateParams.TransactionCsv.builder() .accountId("account_in71c4amph0vgo2qllky") @@ -190,6 +212,13 @@ internal class ExportCreateParamsTest { ) .build() ) + assertThat(body.accountVerificationLetter()) + .contains( + ExportCreateParams.AccountVerificationLetter.builder() + .accountNumberId("account_number_id") + .balanceDate(LocalDate.parse("2019-12-27")) + .build() + ) assertThat(body.balanceCsv()) .contains( ExportCreateParams.BalanceCsv.builder() @@ -229,6 +258,12 @@ internal class ExportCreateParamsTest { ) .build() ) + assertThat(body.fundingInstructions()) + .contains( + ExportCreateParams.FundingInstructions.builder() + .accountNumberId("account_number_id") + .build() + ) assertThat(body.transactionCsv()) .contains( ExportCreateParams.TransactionCsv.builder() diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/simulations/exports/ExportCreateParamsTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/simulations/exports/ExportCreateParamsTest.kt new file mode 100644 index 000000000..0caed7faf --- /dev/null +++ b/increase-java-core/src/test/kotlin/com/increase/api/models/simulations/exports/ExportCreateParamsTest.kt @@ -0,0 +1,23 @@ +// File generated from our OpenAPI spec by Stainless. + +package com.increase.api.models.simulations.exports + +import org.assertj.core.api.Assertions.assertThat +import org.junit.jupiter.api.Test + +internal class ExportCreateParamsTest { + + @Test + fun create() { + ExportCreateParams.builder().accountId("account_in71c4amph0vgo2qllky").build() + } + + @Test + fun body() { + val params = ExportCreateParams.builder().accountId("account_in71c4amph0vgo2qllky").build() + + val body = params._body() + + assertThat(body.accountId()).isEqualTo("account_in71c4amph0vgo2qllky") + } +} 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 b044e39d9..500b6284b 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 @@ -46,6 +46,12 @@ internal class ExportServiceAsyncTest { ) .build() ) + .accountVerificationLetter( + ExportCreateParams.AccountVerificationLetter.builder() + .accountNumberId("account_number_id") + .balanceDate(LocalDate.parse("2019-12-27")) + .build() + ) .balanceCsv( ExportCreateParams.BalanceCsv.builder() .accountId("account_id") @@ -82,6 +88,11 @@ internal class ExportServiceAsyncTest { ) .build() ) + .fundingInstructions( + ExportCreateParams.FundingInstructions.builder() + .accountNumberId("account_number_id") + .build() + ) .transactionCsv( ExportCreateParams.TransactionCsv.builder() .accountId("account_in71c4amph0vgo2qllky") diff --git a/increase-java-core/src/test/kotlin/com/increase/api/services/async/simulations/ExportServiceAsyncTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/services/async/simulations/ExportServiceAsyncTest.kt new file mode 100644 index 000000000..58e9f5b2c --- /dev/null +++ b/increase-java-core/src/test/kotlin/com/increase/api/services/async/simulations/ExportServiceAsyncTest.kt @@ -0,0 +1,31 @@ +// File generated from our OpenAPI spec by Stainless. + +package com.increase.api.services.async.simulations + +import com.increase.api.TestServerExtension +import com.increase.api.client.okhttp.IncreaseOkHttpClientAsync +import com.increase.api.models.simulations.exports.ExportCreateParams +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.extension.ExtendWith + +@ExtendWith(TestServerExtension::class) +internal class ExportServiceAsyncTest { + + @Test + fun create() { + val client = + IncreaseOkHttpClientAsync.builder() + .baseUrl(TestServerExtension.BASE_URL) + .apiKey("My API Key") + .build() + val exportServiceAsync = client.simulations().exports() + + val exportFuture = + exportServiceAsync.create( + ExportCreateParams.builder().accountId("account_in71c4amph0vgo2qllky").build() + ) + + val export = exportFuture.get() + export.validate() + } +} 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 c98cd80d1..b588d693e 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 @@ -46,6 +46,12 @@ internal class ExportServiceTest { ) .build() ) + .accountVerificationLetter( + ExportCreateParams.AccountVerificationLetter.builder() + .accountNumberId("account_number_id") + .balanceDate(LocalDate.parse("2019-12-27")) + .build() + ) .balanceCsv( ExportCreateParams.BalanceCsv.builder() .accountId("account_id") @@ -82,6 +88,11 @@ internal class ExportServiceTest { ) .build() ) + .fundingInstructions( + ExportCreateParams.FundingInstructions.builder() + .accountNumberId("account_number_id") + .build() + ) .transactionCsv( ExportCreateParams.TransactionCsv.builder() .accountId("account_in71c4amph0vgo2qllky") diff --git a/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/simulations/ExportServiceTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/simulations/ExportServiceTest.kt new file mode 100644 index 000000000..70769797b --- /dev/null +++ b/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/simulations/ExportServiceTest.kt @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec by Stainless. + +package com.increase.api.services.blocking.simulations + +import com.increase.api.TestServerExtension +import com.increase.api.client.okhttp.IncreaseOkHttpClient +import com.increase.api.models.simulations.exports.ExportCreateParams +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.extension.ExtendWith + +@ExtendWith(TestServerExtension::class) +internal class ExportServiceTest { + + @Test + fun create() { + val client = + IncreaseOkHttpClient.builder() + .baseUrl(TestServerExtension.BASE_URL) + .apiKey("My API Key") + .build() + val exportService = client.simulations().exports() + + val export = + exportService.create( + ExportCreateParams.builder().accountId("account_in71c4amph0vgo2qllky").build() + ) + + export.validate() + } +} From fe4f8308f50a9a184bf68cfee3239f1a5a74e5a0 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 18 Dec 2025 22:36:54 +0000 Subject: [PATCH 2/2] release: 0.386.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 f8336dd24..78058d763 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.385.0" + ".": "0.386.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index c60d4109e..1d675761d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.386.0 (2025-12-18) + +Full Changelog: [v0.385.0...v0.386.0](https://github.com/Increase/increase-java/compare/v0.385.0...v0.386.0) + +### Features + +* **api:** api update ([2cc8bbb](https://github.com/Increase/increase-java/commit/2cc8bbbad2ecc3572645983f5256cc5c89117143)) + ## 0.385.0 (2025-12-17) Full Changelog: [v0.384.0...v0.385.0](https://github.com/Increase/increase-java/compare/v0.384.0...v0.385.0) diff --git a/README.md b/README.md index 7c6b48242..0edb3dd46 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.385.0) -[![javadoc](https://javadoc.io/badge2/com.increase.api/increase-java/0.385.0/javadoc.svg)](https://javadoc.io/doc/com.increase.api/increase-java/0.385.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.386.0) +[![javadoc](https://javadoc.io/badge2/com.increase.api/increase-java/0.386.0/javadoc.svg)](https://javadoc.io/doc/com.increase.api/increase-java/0.386.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.385.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.386.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.385.0") +implementation("com.increase.api:increase-java:0.386.0") ``` ### Maven @@ -33,7 +33,7 @@ implementation("com.increase.api:increase-java:0.385.0") com.increase.api increase-java - 0.385.0 + 0.386.0 ``` diff --git a/build.gradle.kts b/build.gradle.kts index 6fc9bc392..f01f4d5c2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ repositories { allprojects { group = "com.increase.api" - version = "0.385.0" // x-release-please-version + version = "0.386.0" // x-release-please-version } subprojects {