Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "7.9.0"
".": "7.10.0"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -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
config_hash: 812b56df3e506bc2af056b2898327b8a
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch/finch-7e39b6a20bf3e1f23ad832300b73ae92b6f6ce7c9d86eaa8fcc0710b51455f17.yml
openapi_spec_hash: 5e0e04e7274494062ff46ac85d358f5b
config_hash: 8b3c2a32014346513c18d98cbb752d2c
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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)
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

<!-- x-release-please-start-version -->

[![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)

<!-- x-release-please-end -->

Expand All @@ -24,7 +24,7 @@ Use the Finch MCP Server to enable AI assistants to interact with this API, allo

<!-- x-release-please-start-version -->

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).

<!-- x-release-please-end -->

Expand All @@ -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
Expand All @@ -44,7 +44,7 @@ implementation("com.tryfinch.api:finch-java:7.9.0")
<dependency>
<groupId>com.tryfinch.api</groupId>
<artifactId>finch-java</artifactId>
<version>7.9.0</version>
<version>7.10.0</version>
</dependency>
```

Expand Down
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<Paging>,
Expand Down Expand Up @@ -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
Expand All @@ -89,18 +89,18 @@ private constructor(
@JvmStatic fun builder() = Builder()
}

/** A builder for [PayStatementResponseBody]. */
/** A builder for [PayStatementData]. */
class Builder internal constructor() {

private var paging: JsonField<Paging>? = null
private var payStatements: JsonField<MutableList<PayStatement>>? = null
private var additionalProperties: MutableMap<String, JsonValue> = 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))
Expand Down Expand Up @@ -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.
*
Expand All @@ -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(),
Expand All @@ -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
}
Expand Down Expand Up @@ -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
Expand All @@ -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}"
}
Original file line number Diff line number Diff line change
Expand Up @@ -136,9 +136,9 @@ private constructor(
*/
fun body(body: JsonField<Body>) = 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))
Expand Down Expand Up @@ -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<PayStatementResponseBody> =
Optional.ofNullable(payStatementResponse)
fun payStatementData(): Optional<PayStatementData> = Optional.ofNullable(payStatementData)

fun batchError(): Optional<BatchError> = Optional.ofNullable(batchError)

fun payStatementDataSyncInProgress(): Optional<PayStatementDataSyncInProgress> =
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")

Expand All @@ -299,8 +297,8 @@ private constructor(
*
* Optional<String> result = body.accept(new Body.Visitor<Optional<String>>() {
* @Override
* public Optional<String> visitPayStatementResponse(PayStatementResponseBody payStatementResponse) {
* return Optional.of(payStatementResponse.toString());
* public Optional<String> visitPayStatementData(PayStatementData payStatementData) {
* return Optional.of(payStatementData.toString());
* }
*
* // ...
Expand All @@ -318,8 +316,7 @@ private constructor(
*/
fun <T> accept(visitor: Visitor<T>): T =
when {
payStatementResponse != null ->
visitor.visitPayStatementResponse(payStatementResponse)
payStatementData != null -> visitor.visitPayStatementData(payStatementData)
batchError != null -> visitor.visitBatchError(batchError)
payStatementDataSyncInProgress != null ->
visitor.visitPayStatementDataSyncInProgress(payStatementDataSyncInProgress)
Expand All @@ -344,10 +341,8 @@ private constructor(

accept(
object : Visitor<Unit> {
override fun visitPayStatementResponse(
payStatementResponse: PayStatementResponseBody
) {
payStatementResponse.validate()
override fun visitPayStatementData(payStatementData: PayStatementData) {
payStatementData.validate()
}

override fun visitBatchError(batchError: BatchError) {
Expand Down Expand Up @@ -382,9 +377,8 @@ private constructor(
internal fun validity(): Int =
accept(
object : Visitor<Int> {
override fun visitPayStatementResponse(
payStatementResponse: PayStatementResponseBody
) = payStatementResponse.validity()
override fun visitPayStatementData(payStatementData: PayStatementData) =
payStatementData.validity()

override fun visitBatchError(batchError: BatchError) = batchError.validity()

Expand All @@ -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}"
Expand All @@ -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)

Expand All @@ -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<out T> {

fun visitPayStatementResponse(payStatementResponse: PayStatementResponseBody): T
fun visitPayStatementData(payStatementData: PayStatementData): T

fun visitBatchError(batchError: BatchError): T

Expand Down Expand Up @@ -466,8 +460,8 @@ private constructor(

val bestMatches =
sequenceOf(
tryDeserialize(node, jacksonTypeRef<PayStatementResponseBody>())?.let {
Body(payStatementResponse = it, _json = json)
tryDeserialize(node, jacksonTypeRef<PayStatementData>())?.let {
Body(payStatementData = it, _json = json)
},
tryDeserialize(node, jacksonTypeRef<BatchError>())?.let {
Body(batchError = it, _json = json)
Expand Down Expand Up @@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down Expand Up @@ -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(
Expand Down Expand Up @@ -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()
Expand Down
Loading
Loading