From b5dd7789402ef7644b9eea93117657692c9662b4 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 22 Jun 2026 16:32:46 +0000 Subject: [PATCH 1/3] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index b6643dc5..0b1be7f6 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 48 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch/finch-a96dc8196c4f038d042fab2c73851166fcf491ec6a7e9bc76cae4661a8635afb.yml -openapi_spec_hash: 8f65946452f62662cc72ce8cb2f88b76 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch/finch-71d6c5fd2762ac6e9ebef43a0c2983cc27cdb71e9ab517316e8bd7771871b9f3.yml +openapi_spec_hash: 5e0e04e7274494062ff46ac85d358f5b config_hash: 812b56df3e506bc2af056b2898327b8a From 129e48802a0f06507467b20b85424e41738a3242 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 22 Jun 2026 17:30:27 +0000 Subject: [PATCH 2/3] feat(api): manual updates fix type mapping for go sdks --- .stats.yml | 4 +- ...entResponseBody.kt => PayStatementData.kt} | 26 ++++----- .../api/models/PayStatementResponse.kt | 53 ++++++++----------- ...ayStatementRetrieveManyPageResponseTest.kt | 23 +++----- ...nseBodyTest.kt => PayStatementDataTest.kt} | 28 +++++----- .../api/models/PayStatementResponseTest.kt | 20 +++---- 6 files changed, 65 insertions(+), 89 deletions(-) rename finch-java-core/src/main/kotlin/com/tryfinch/api/models/{PayStatementResponseBody.kt => PayStatementData.kt} (94%) rename finch-java-core/src/test/kotlin/com/tryfinch/api/models/{PayStatementResponseBodyTest.kt => PayStatementDataTest.kt} (94%) diff --git a/.stats.yml b/.stats.yml index 0b1be7f6..b7a7420d 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 48 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch/finch-71d6c5fd2762ac6e9ebef43a0c2983cc27cdb71e9ab517316e8bd7771871b9f3.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch/finch-7e39b6a20bf3e1f23ad832300b73ae92b6f6ce7c9d86eaa8fcc0710b51455f17.yml openapi_spec_hash: 5e0e04e7274494062ff46ac85d358f5b -config_hash: 812b56df3e506bc2af056b2898327b8a +config_hash: 8b3c2a32014346513c18d98cbb752d2c diff --git a/finch-java-core/src/main/kotlin/com/tryfinch/api/models/PayStatementResponseBody.kt b/finch-java-core/src/main/kotlin/com/tryfinch/api/models/PayStatementData.kt similarity index 94% rename from finch-java-core/src/main/kotlin/com/tryfinch/api/models/PayStatementResponseBody.kt rename to finch-java-core/src/main/kotlin/com/tryfinch/api/models/PayStatementData.kt index f3ef5587..f15d40ca 100644 --- a/finch-java-core/src/main/kotlin/com/tryfinch/api/models/PayStatementResponseBody.kt +++ b/finch-java-core/src/main/kotlin/com/tryfinch/api/models/PayStatementData.kt @@ -19,7 +19,7 @@ import java.util.Objects import java.util.Optional import kotlin.jvm.optionals.getOrNull -class PayStatementResponseBody +class PayStatementData @JsonCreator(mode = JsonCreator.Mode.DISABLED) private constructor( private val paging: JsonField, @@ -78,7 +78,7 @@ private constructor( companion object { /** - * Returns a mutable builder for constructing an instance of [PayStatementResponseBody]. + * Returns a mutable builder for constructing an instance of [PayStatementData]. * * The following fields are required: * ```java @@ -89,7 +89,7 @@ private constructor( @JvmStatic fun builder() = Builder() } - /** A builder for [PayStatementResponseBody]. */ + /** A builder for [PayStatementData]. */ class Builder internal constructor() { private var paging: JsonField? = null @@ -97,10 +97,10 @@ private constructor( private var additionalProperties: MutableMap = mutableMapOf() @JvmSynthetic - internal fun from(payStatementResponseBody: PayStatementResponseBody) = apply { - paging = payStatementResponseBody.paging - payStatements = payStatementResponseBody.payStatements.map { it.toMutableList() } - additionalProperties = payStatementResponseBody.additionalProperties.toMutableMap() + internal fun from(payStatementData: PayStatementData) = apply { + paging = payStatementData.paging + payStatements = payStatementData.payStatements.map { it.toMutableList() } + additionalProperties = payStatementData.additionalProperties.toMutableMap() } fun paging(paging: Paging) = paging(JsonField.of(paging)) @@ -159,7 +159,7 @@ private constructor( } /** - * Returns an immutable instance of [PayStatementResponseBody]. + * Returns an immutable instance of [PayStatementData]. * * Further updates to this [Builder] will not mutate the returned instance. * @@ -171,8 +171,8 @@ private constructor( * * @throws IllegalStateException if any required field is unset. */ - fun build(): PayStatementResponseBody = - PayStatementResponseBody( + fun build(): PayStatementData = + PayStatementData( checkRequired("paging", paging), checkRequired("payStatements", payStatements).map { it.toImmutable() }, additionalProperties.toMutableMap(), @@ -189,7 +189,7 @@ private constructor( * @throws FinchInvalidDataException if any value type in this object doesn't match its expected * type. */ - fun validate(): PayStatementResponseBody = apply { + fun validate(): PayStatementData = apply { if (validated) { return@apply } @@ -422,7 +422,7 @@ private constructor( return true } - return other is PayStatementResponseBody && + return other is PayStatementData && paging == other.paging && payStatements == other.payStatements && additionalProperties == other.additionalProperties @@ -433,5 +433,5 @@ private constructor( override fun hashCode(): Int = hashCode override fun toString() = - "PayStatementResponseBody{paging=$paging, payStatements=$payStatements, additionalProperties=$additionalProperties}" + "PayStatementData{paging=$paging, payStatements=$payStatements, additionalProperties=$additionalProperties}" } diff --git a/finch-java-core/src/main/kotlin/com/tryfinch/api/models/PayStatementResponse.kt b/finch-java-core/src/main/kotlin/com/tryfinch/api/models/PayStatementResponse.kt index 84a22a8a..d6521525 100644 --- a/finch-java-core/src/main/kotlin/com/tryfinch/api/models/PayStatementResponse.kt +++ b/finch-java-core/src/main/kotlin/com/tryfinch/api/models/PayStatementResponse.kt @@ -136,9 +136,9 @@ private constructor( */ fun body(body: JsonField) = apply { this.body = body } - /** Alias for calling [body] with `Body.ofPayStatementResponse(payStatementResponse)`. */ - fun body(payStatementResponse: PayStatementResponseBody) = - body(Body.ofPayStatementResponse(payStatementResponse)) + /** Alias for calling [body] with `Body.ofPayStatementData(payStatementData)`. */ + fun body(payStatementData: PayStatementData) = + body(Body.ofPayStatementData(payStatementData)) /** Alias for calling [body] with `Body.ofBatchError(batchError)`. */ fun body(batchError: Body.BatchError) = body(Body.ofBatchError(batchError)) @@ -257,28 +257,26 @@ private constructor( @JsonSerialize(using = Body.Serializer::class) class Body private constructor( - private val payStatementResponse: PayStatementResponseBody? = null, + private val payStatementData: PayStatementData? = null, private val batchError: BatchError? = null, private val payStatementDataSyncInProgress: PayStatementDataSyncInProgress? = null, private val _json: JsonValue? = null, ) { - fun payStatementResponse(): Optional = - Optional.ofNullable(payStatementResponse) + fun payStatementData(): Optional = Optional.ofNullable(payStatementData) fun batchError(): Optional = Optional.ofNullable(batchError) fun payStatementDataSyncInProgress(): Optional = Optional.ofNullable(payStatementDataSyncInProgress) - fun isPayStatementResponse(): Boolean = payStatementResponse != null + fun isPayStatementData(): Boolean = payStatementData != null fun isBatchError(): Boolean = batchError != null fun isPayStatementDataSyncInProgress(): Boolean = payStatementDataSyncInProgress != null - fun asPayStatementResponse(): PayStatementResponseBody = - payStatementResponse.getOrThrow("payStatementResponse") + fun asPayStatementData(): PayStatementData = payStatementData.getOrThrow("payStatementData") fun asBatchError(): BatchError = batchError.getOrThrow("batchError") @@ -299,8 +297,8 @@ private constructor( * * Optional result = body.accept(new Body.Visitor>() { * @Override - * public Optional visitPayStatementResponse(PayStatementResponseBody payStatementResponse) { - * return Optional.of(payStatementResponse.toString()); + * public Optional visitPayStatementData(PayStatementData payStatementData) { + * return Optional.of(payStatementData.toString()); * } * * // ... @@ -318,8 +316,7 @@ private constructor( */ fun accept(visitor: Visitor): T = when { - payStatementResponse != null -> - visitor.visitPayStatementResponse(payStatementResponse) + payStatementData != null -> visitor.visitPayStatementData(payStatementData) batchError != null -> visitor.visitBatchError(batchError) payStatementDataSyncInProgress != null -> visitor.visitPayStatementDataSyncInProgress(payStatementDataSyncInProgress) @@ -344,10 +341,8 @@ private constructor( accept( object : Visitor { - override fun visitPayStatementResponse( - payStatementResponse: PayStatementResponseBody - ) { - payStatementResponse.validate() + override fun visitPayStatementData(payStatementData: PayStatementData) { + payStatementData.validate() } override fun visitBatchError(batchError: BatchError) { @@ -382,9 +377,8 @@ private constructor( internal fun validity(): Int = accept( object : Visitor { - override fun visitPayStatementResponse( - payStatementResponse: PayStatementResponseBody - ) = payStatementResponse.validity() + override fun visitPayStatementData(payStatementData: PayStatementData) = + payStatementData.validity() override fun visitBatchError(batchError: BatchError) = batchError.validity() @@ -402,17 +396,17 @@ private constructor( } return other is Body && - payStatementResponse == other.payStatementResponse && + payStatementData == other.payStatementData && batchError == other.batchError && payStatementDataSyncInProgress == other.payStatementDataSyncInProgress } override fun hashCode(): Int = - Objects.hash(payStatementResponse, batchError, payStatementDataSyncInProgress) + Objects.hash(payStatementData, batchError, payStatementDataSyncInProgress) override fun toString(): String = when { - payStatementResponse != null -> "Body{payStatementResponse=$payStatementResponse}" + payStatementData != null -> "Body{payStatementData=$payStatementData}" batchError != null -> "Body{batchError=$batchError}" payStatementDataSyncInProgress != null -> "Body{payStatementDataSyncInProgress=$payStatementDataSyncInProgress}" @@ -423,8 +417,8 @@ private constructor( companion object { @JvmStatic - fun ofPayStatementResponse(payStatementResponse: PayStatementResponseBody) = - Body(payStatementResponse = payStatementResponse) + fun ofPayStatementData(payStatementData: PayStatementData) = + Body(payStatementData = payStatementData) @JvmStatic fun ofBatchError(batchError: BatchError) = Body(batchError = batchError) @@ -437,7 +431,7 @@ private constructor( /** An interface that defines how to map each variant of [Body] to a value of type [T]. */ interface Visitor { - fun visitPayStatementResponse(payStatementResponse: PayStatementResponseBody): T + fun visitPayStatementData(payStatementData: PayStatementData): T fun visitBatchError(batchError: BatchError): T @@ -466,8 +460,8 @@ private constructor( val bestMatches = sequenceOf( - tryDeserialize(node, jacksonTypeRef())?.let { - Body(payStatementResponse = it, _json = json) + tryDeserialize(node, jacksonTypeRef())?.let { + Body(payStatementData = it, _json = json) }, tryDeserialize(node, jacksonTypeRef())?.let { Body(batchError = it, _json = json) @@ -499,8 +493,7 @@ private constructor( provider: SerializerProvider, ) { when { - value.payStatementResponse != null -> - generator.writeObject(value.payStatementResponse) + value.payStatementData != null -> generator.writeObject(value.payStatementData) value.batchError != null -> generator.writeObject(value.batchError) value.payStatementDataSyncInProgress != null -> generator.writeObject(value.payStatementDataSyncInProgress) diff --git a/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisPayStatementRetrieveManyPageResponseTest.kt b/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisPayStatementRetrieveManyPageResponseTest.kt index 59c25559..f7aba221 100644 --- a/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisPayStatementRetrieveManyPageResponseTest.kt +++ b/finch-java-core/src/test/kotlin/com/tryfinch/api/models/HrisPayStatementRetrieveManyPageResponseTest.kt @@ -17,12 +17,9 @@ internal class HrisPayStatementRetrieveManyPageResponseTest { .addResponse( PayStatementResponse.builder() .body( - PayStatementResponseBody.builder() + PayStatementData.builder() .paging( - PayStatementResponseBody.Paging.builder() - .offset(0L) - .count(0L) - .build() + PayStatementData.Paging.builder().offset(0L).count(0L).build() ) .addPayStatement( PayStatement.builder() @@ -151,13 +148,8 @@ internal class HrisPayStatementRetrieveManyPageResponseTest { .containsExactly( PayStatementResponse.builder() .body( - PayStatementResponseBody.builder() - .paging( - PayStatementResponseBody.Paging.builder() - .offset(0L) - .count(0L) - .build() - ) + PayStatementData.builder() + .paging(PayStatementData.Paging.builder().offset(0L).count(0L).build()) .addPayStatement( PayStatement.builder() .addEarning( @@ -276,12 +268,9 @@ internal class HrisPayStatementRetrieveManyPageResponseTest { .addResponse( PayStatementResponse.builder() .body( - PayStatementResponseBody.builder() + PayStatementData.builder() .paging( - PayStatementResponseBody.Paging.builder() - .offset(0L) - .count(0L) - .build() + PayStatementData.Paging.builder().offset(0L).count(0L).build() ) .addPayStatement( PayStatement.builder() diff --git a/finch-java-core/src/test/kotlin/com/tryfinch/api/models/PayStatementResponseBodyTest.kt b/finch-java-core/src/test/kotlin/com/tryfinch/api/models/PayStatementDataTest.kt similarity index 94% rename from finch-java-core/src/test/kotlin/com/tryfinch/api/models/PayStatementResponseBodyTest.kt rename to finch-java-core/src/test/kotlin/com/tryfinch/api/models/PayStatementDataTest.kt index af1498ea..5deb38ef 100644 --- a/finch-java-core/src/test/kotlin/com/tryfinch/api/models/PayStatementResponseBodyTest.kt +++ b/finch-java-core/src/test/kotlin/com/tryfinch/api/models/PayStatementDataTest.kt @@ -8,13 +8,13 @@ import com.tryfinch.api.core.jsonMapper import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test -internal class PayStatementResponseBodyTest { +internal class PayStatementDataTest { @Test fun create() { - val payStatementResponseBody = - PayStatementResponseBody.builder() - .paging(PayStatementResponseBody.Paging.builder().offset(0L).count(0L).build()) + val payStatementData = + PayStatementData.builder() + .paging(PayStatementData.Paging.builder().offset(0L).count(0L).build()) .addPayStatement( PayStatement.builder() .addEarning( @@ -112,9 +112,9 @@ internal class PayStatementResponseBodyTest { ) .build() - assertThat(payStatementResponseBody.paging()) - .isEqualTo(PayStatementResponseBody.Paging.builder().offset(0L).count(0L).build()) - assertThat(payStatementResponseBody.payStatements()) + assertThat(payStatementData.paging()) + .isEqualTo(PayStatementData.Paging.builder().offset(0L).count(0L).build()) + assertThat(payStatementData.payStatements()) .containsExactly( PayStatement.builder() .addEarning( @@ -214,9 +214,9 @@ internal class PayStatementResponseBodyTest { @Test fun roundtrip() { val jsonMapper = jsonMapper() - val payStatementResponseBody = - PayStatementResponseBody.builder() - .paging(PayStatementResponseBody.Paging.builder().offset(0L).count(0L).build()) + val payStatementData = + PayStatementData.builder() + .paging(PayStatementData.Paging.builder().offset(0L).count(0L).build()) .addPayStatement( PayStatement.builder() .addEarning( @@ -314,12 +314,12 @@ internal class PayStatementResponseBodyTest { ) .build() - val roundtrippedPayStatementResponseBody = + val roundtrippedPayStatementData = jsonMapper.readValue( - jsonMapper.writeValueAsString(payStatementResponseBody), - jacksonTypeRef(), + jsonMapper.writeValueAsString(payStatementData), + jacksonTypeRef(), ) - assertThat(roundtrippedPayStatementResponseBody).isEqualTo(payStatementResponseBody) + assertThat(roundtrippedPayStatementData).isEqualTo(payStatementData) } } diff --git a/finch-java-core/src/test/kotlin/com/tryfinch/api/models/PayStatementResponseTest.kt b/finch-java-core/src/test/kotlin/com/tryfinch/api/models/PayStatementResponseTest.kt index 720031e2..73ec9a51 100644 --- a/finch-java-core/src/test/kotlin/com/tryfinch/api/models/PayStatementResponseTest.kt +++ b/finch-java-core/src/test/kotlin/com/tryfinch/api/models/PayStatementResponseTest.kt @@ -15,10 +15,8 @@ internal class PayStatementResponseTest { val payStatementResponse = PayStatementResponse.builder() .body( - PayStatementResponseBody.builder() - .paging( - PayStatementResponseBody.Paging.builder().offset(0L).count(0L).build() - ) + PayStatementData.builder() + .paging(PayStatementData.Paging.builder().offset(0L).count(0L).build()) .addPayStatement( PayStatement.builder() .addEarning( @@ -125,11 +123,9 @@ internal class PayStatementResponseTest { assertThat(payStatementResponse.body()) .isEqualTo( - PayStatementResponse.Body.ofPayStatementResponse( - PayStatementResponseBody.builder() - .paging( - PayStatementResponseBody.Paging.builder().offset(0L).count(0L).build() - ) + PayStatementResponse.Body.ofPayStatementData( + PayStatementData.builder() + .paging(PayStatementData.Paging.builder().offset(0L).count(0L).build()) .addPayStatement( PayStatement.builder() .addEarning( @@ -241,10 +237,8 @@ internal class PayStatementResponseTest { val payStatementResponse = PayStatementResponse.builder() .body( - PayStatementResponseBody.builder() - .paging( - PayStatementResponseBody.Paging.builder().offset(0L).count(0L).build() - ) + PayStatementData.builder() + .paging(PayStatementData.Paging.builder().offset(0L).count(0L).build()) .addPayStatement( PayStatement.builder() .addEarning( From ce48d1e0b68765fdc01a7200dc25f967c8c6d48c Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 22 Jun 2026 17:30:55 +0000 Subject: [PATCH 3/3] release: 7.10.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 a75e9e71..cef64269 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "7.9.0" + ".": "7.10.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 506ab6a0..759ffce1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 7.10.0 (2026-06-22) + +Full Changelog: [v7.9.0...v7.10.0](https://github.com/Finch-API/finch-api-java/compare/v7.9.0...v7.10.0) + +### Features + +* **api:** manual updates ([129e488](https://github.com/Finch-API/finch-api-java/commit/129e48802a0f06507467b20b85424e41738a3242)) + ## 7.9.0 (2026-06-09) Full Changelog: [v7.8.1...v7.9.0](https://github.com/Finch-API/finch-api-java/compare/v7.8.1...v7.9.0) diff --git a/README.md b/README.md index adb986d5..84e28996 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@ -[![Maven Central](https://img.shields.io/maven-central/v/com.tryfinch.api/finch-java)](https://central.sonatype.com/artifact/com.tryfinch.api/finch-java/7.9.0) -[![javadoc](https://javadoc.io/badge2/com.tryfinch.api/finch-java/7.9.0/javadoc.svg)](https://javadoc.io/doc/com.tryfinch.api/finch-java/7.9.0) +[![Maven Central](https://img.shields.io/maven-central/v/com.tryfinch.api/finch-java)](https://central.sonatype.com/artifact/com.tryfinch.api/finch-java/7.10.0) +[![javadoc](https://javadoc.io/badge2/com.tryfinch.api/finch-java/7.10.0/javadoc.svg)](https://javadoc.io/doc/com.tryfinch.api/finch-java/7.10.0) @@ -24,7 +24,7 @@ Use the Finch MCP Server to enable AI assistants to interact with this API, allo -The REST API documentation can be found on [developer.tryfinch.com](https://developer.tryfinch.com/). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.tryfinch.api/finch-java/7.9.0). +The REST API documentation can be found on [developer.tryfinch.com](https://developer.tryfinch.com/). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.tryfinch.api/finch-java/7.10.0). @@ -35,7 +35,7 @@ The REST API documentation can be found on [developer.tryfinch.com](https://deve ### Gradle ```kotlin -implementation("com.tryfinch.api:finch-java:7.9.0") +implementation("com.tryfinch.api:finch-java:7.10.0") ``` ### Maven @@ -44,7 +44,7 @@ implementation("com.tryfinch.api:finch-java:7.9.0") com.tryfinch.api finch-java - 7.9.0 + 7.10.0 ``` diff --git a/build.gradle.kts b/build.gradle.kts index 5ded9019..8ae139d9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ repositories { allprojects { group = "com.tryfinch.api" - version = "7.9.0" // x-release-please-version + version = "7.10.0" // x-release-please-version } subprojects {