Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
9390e9d
chore(internal): codegen related update
stainless-app[bot] Jan 27, 2026
2263e95
fix(docs): fix mcp installation instructions for remote servers
stainless-app[bot] Jan 28, 2026
5a4b86a
chore(internal): allow passing args to `./scripts/test`
stainless-app[bot] Jan 30, 2026
1969203
chore(internal): upgrade AssertJ
stainless-app[bot] Feb 6, 2026
517681b
chore(api): minor updates
stainless-app[bot] Feb 11, 2026
4f87f8c
chore(internal): update `TestServerExtension` comment
stainless-app[bot] Feb 17, 2026
4817a04
chore(internal): make `OkHttp` constructor internal
stainless-app[bot] Feb 18, 2026
98dfad7
feat(client): add more convenience service method overloads
stainless-app[bot] Feb 18, 2026
b32cb5e
feat(client): add connection pooling option
stainless-app[bot] Feb 18, 2026
0019871
chore: make `Properties` more resilient to `null`
stainless-app[bot] Feb 23, 2026
7e8f6e8
chore: drop apache dependency
stainless-app[bot] Feb 23, 2026
3ee90d0
chore(internal): expand imports
stainless-app[bot] Feb 24, 2026
8e955cc
fix(api): remove invalid transform config
stainless-app[bot] Mar 10, 2026
b81180a
feat(api): api update
stainless-app[bot] Mar 10, 2026
4c0d39d
chore(internal): codegen related update
stainless-app[bot] Mar 10, 2026
511e088
chore(ci): skip uploading artifacts on stainless-internal branches
stainless-app[bot] Mar 10, 2026
184ead0
fix(client): incorrect `Retry-After` parsing
stainless-app[bot] Mar 10, 2026
7e59d99
chore(internal): codegen related update
stainless-app[bot] Mar 13, 2026
0a639b6
chore(internal): tweak CI branches
stainless-app[bot] Mar 16, 2026
74d13c9
chore(internal): update retry delay tests
stainless-app[bot] Mar 17, 2026
c3b19e1
codegen metadata
stainless-app[bot] Mar 17, 2026
a2bef27
fix(client): allow updating header/query affecting fields in `toBuild…
stainless-app[bot] Apr 14, 2026
153f640
refactor(tests): switch from prism to steady
stainless-app[bot] Mar 19, 2026
c5bf4b6
chore(tests): bump steady to v0.19.4
stainless-app[bot] Mar 20, 2026
c41f85e
chore(tests): bump steady to v0.19.5
stainless-app[bot] Mar 20, 2026
c5b3f87
chore(internal): update gitignore
stainless-app[bot] Mar 23, 2026
d0696f6
chore(tests): bump steady to v0.19.6
stainless-app[bot] Mar 23, 2026
097c2e8
chore(ci): skip lint on metadata-only changes
stainless-app[bot] Mar 24, 2026
cc4b8a7
chore(tests): bump steady to v0.19.7
stainless-app[bot] Mar 24, 2026
d591ac6
codegen metadata
stainless-app[bot] Mar 24, 2026
e0941b9
feat(api): api update
stainless-app[bot] Mar 25, 2026
971b625
chore(internal): update multipart form array serialization
stainless-app[bot] Mar 26, 2026
387aa09
codegen metadata
stainless-app[bot] Mar 27, 2026
8ea2902
chore(tests): bump steady to v0.20.1
stainless-app[bot] Mar 31, 2026
62c445f
chore(tests): bump steady to v0.20.2
stainless-app[bot] Mar 31, 2026
9a22d87
feat(api): api update
stainless-app[bot] Apr 10, 2026
5555b9b
codegen metadata
stainless-app[bot] Apr 10, 2026
e79d0da
feat(api): api update
stainless-app[bot] Apr 16, 2026
712b749
chore(tests): bump steady to v0.22.1
stainless-app[bot] Apr 17, 2026
3d5f1bb
feat: support setting headers via env
stainless-app[bot] Apr 27, 2026
ca27137
codegen metadata
stainless-app[bot] Apr 29, 2026
d37a1c7
codegen metadata
stainless-app[bot] Apr 30, 2026
22cb9c3
feat(api): change auth to npm to oidc
stainless-app[bot] Apr 30, 2026
7428d26
feat(api): api update
stainless-app[bot] May 1, 2026
766609c
docs: clarify forwards compat behavior
stainless-app[bot] May 4, 2026
31c1298
feat(client): more robust error parsing
stainless-app[bot] May 4, 2026
a136d65
chore: remove duplicated dokka setup
stainless-app[bot] May 4, 2026
fa5904f
perf(client): create one json mapper
stainless-app[bot] May 4, 2026
164fca2
feat(client): support proxy authentication
stainless-app[bot] May 5, 2026
45718e3
feat(client): improve logging
stainless-app[bot] May 6, 2026
57fb214
chore: redact api-key headers in debug logs
stainless-app[bot] May 7, 2026
48c347d
release: 7.7.0
stainless-app[bot] May 7, 2026
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
26 changes: 16 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
name: CI
on:
push:
branches-ignore:
- 'generated'
- 'codegen/**'
- 'integrated/**'
- 'stl-preview-head/**'
- 'stl-preview-base/**'
branches:
- '**'
- '!integrated/**'
- '!stl-preview-head/**'
- '!stl-preview-base/**'
- '!generated'
- '!codegen/**'
- 'codegen/stl/**'
pull_request:
branches-ignore:
- 'stl-preview-head/**'
Expand All @@ -17,7 +19,7 @@ jobs:
timeout-minutes: 15
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/finch-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')

steps:
- uses: actions/checkout@v6
Expand All @@ -44,7 +46,7 @@ jobs:
contents: read
id-token: write
runs-on: ${{ github.repository == 'stainless-sdks/finch-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')

steps:
- uses: actions/checkout@v6
Expand All @@ -65,14 +67,18 @@ jobs:
run: ./scripts/build

- name: Get GitHub OIDC Token
if: github.repository == 'stainless-sdks/finch-java'
if: |-
github.repository == 'stainless-sdks/finch-java' &&
!startsWith(github.ref, 'refs/heads/stl/')
id: github-oidc
uses: actions/github-script@v8
with:
script: core.setOutput('github_token', await core.getIDToken());

- name: Build and upload Maven artifacts
if: github.repository == 'stainless-sdks/finch-java'
if: |-
github.repository == 'stainless-sdks/finch-java' &&
!startsWith(github.ref, 'refs/heads/stl/')
env:
URL: https://pkg.stainless.com/s
AUTH: ${{ steps.github-oidc.outputs.github_token }}
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.prism.log
.stdy.log
.gradle
.idea
.kotlin
Expand Down
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.6.0"
".": "7.7.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: 45
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-46f433f34d440aa1dfcc48cc8d822c598571b68be2f723ec99e1b4fba6c13b1e.yml
openapi_spec_hash: 5b5cd728776723ac773900f7e8a32c05
config_hash: ccdf6a5b4aaa2a0897c89ac8685d8eb0
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch/finch-c8a0d5eca390ea3ab6e8b5b7d9b46d9a22e34d81aeab444c8ce1b5a94eba0028.yml
openapi_spec_hash: e261a3289242d3ad52542f1491a903ee
config_hash: 429708b67ee9e80003db82611677296c
72 changes: 72 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,77 @@
# Changelog

## 7.7.0 (2026-05-07)

Full Changelog: [v7.6.0...v7.7.0](https://github.com/Finch-API/finch-api-java/compare/v7.6.0...v7.7.0)

### Features

* **api:** api update ([7428d26](https://github.com/Finch-API/finch-api-java/commit/7428d26b5ce8d48cc778572db6d00ea611959210))
* **api:** api update ([e79d0da](https://github.com/Finch-API/finch-api-java/commit/e79d0da99c2159e1f123aa35f1721305dd81947a))
* **api:** api update ([9a22d87](https://github.com/Finch-API/finch-api-java/commit/9a22d87cee43b9e72021f9c0f290135fdc5b0d88))
* **api:** api update ([e0941b9](https://github.com/Finch-API/finch-api-java/commit/e0941b90677171c959aef86ae567e217f7ee2280))
* **api:** api update ([b81180a](https://github.com/Finch-API/finch-api-java/commit/b81180a374d0e2d4515bbc7ced304a2155c57970))
* **api:** change auth to npm to oidc ([22cb9c3](https://github.com/Finch-API/finch-api-java/commit/22cb9c3fec88c8f8613e4333c81acaf1574873b8))
* **client:** add connection pooling option ([b32cb5e](https://github.com/Finch-API/finch-api-java/commit/b32cb5e30dd6c8c6e095bf12c1a35c7346adc363))
* **client:** add more convenience service method overloads ([98dfad7](https://github.com/Finch-API/finch-api-java/commit/98dfad72afb87db1f74daf8599ddd1c4ff9b8a12))
* **client:** improve logging ([45718e3](https://github.com/Finch-API/finch-api-java/commit/45718e35cfb88e46aafec5206b2b925eea6ef2a2))
* **client:** more robust error parsing ([31c1298](https://github.com/Finch-API/finch-api-java/commit/31c1298070aa84ef57221071726792bc101413fe))
* **client:** support proxy authentication ([164fca2](https://github.com/Finch-API/finch-api-java/commit/164fca2658a181686fc63bb7217a671355898912))
* support setting headers via env ([3d5f1bb](https://github.com/Finch-API/finch-api-java/commit/3d5f1bb1b67cff6fc2e6549e554e4a92e6625457))


### Bug Fixes

* **api:** remove invalid transform config ([8e955cc](https://github.com/Finch-API/finch-api-java/commit/8e955cc8ecb96538951c34e69abcc59542d56730))
* **client:** allow updating header/query affecting fields in `toBuilder()` ([a2bef27](https://github.com/Finch-API/finch-api-java/commit/a2bef2796c1853918e215e3181d98a8e85f755a0))
* **client:** incorrect `Retry-After` parsing ([184ead0](https://github.com/Finch-API/finch-api-java/commit/184ead0c155c912e8be8207a200e71b05b9928a6))
* **docs:** fix mcp installation instructions for remote servers ([2263e95](https://github.com/Finch-API/finch-api-java/commit/2263e9537df43a609878091903108ecbf216ea76))


### Performance Improvements

* **client:** create one json mapper ([fa5904f](https://github.com/Finch-API/finch-api-java/commit/fa5904fc90f522bc0685f84b0a80396ed6bb8775))


### Chores

* **api:** minor updates ([517681b](https://github.com/Finch-API/finch-api-java/commit/517681b1ab0f11cfb16e5652597a73734ed94314))
* **ci:** skip lint on metadata-only changes ([097c2e8](https://github.com/Finch-API/finch-api-java/commit/097c2e82ecee3fc1a290a09fde1e36ef63092224))
* **ci:** skip uploading artifacts on stainless-internal branches ([511e088](https://github.com/Finch-API/finch-api-java/commit/511e08806a8b10ff2f9f2646ba57c1b126e82929))
* drop apache dependency ([7e8f6e8](https://github.com/Finch-API/finch-api-java/commit/7e8f6e84b6f957bae05e2f27ba9cf2c46658adcd))
* **internal:** allow passing args to `./scripts/test` ([5a4b86a](https://github.com/Finch-API/finch-api-java/commit/5a4b86a8afa2a0940f3f751ff4927a9f7c649973))
* **internal:** codegen related update ([7e59d99](https://github.com/Finch-API/finch-api-java/commit/7e59d9979522714a8346fed5595bc77d593edcb0))
* **internal:** codegen related update ([4c0d39d](https://github.com/Finch-API/finch-api-java/commit/4c0d39d2d70f43e4b0050c37687b1c90ad307b9f))
* **internal:** codegen related update ([9390e9d](https://github.com/Finch-API/finch-api-java/commit/9390e9d48290fcf34aff35c5f934f609d2afba06))
* **internal:** expand imports ([3ee90d0](https://github.com/Finch-API/finch-api-java/commit/3ee90d078b22210aad648c55d3165b8bd225f97a))
* **internal:** make `OkHttp` constructor internal ([4817a04](https://github.com/Finch-API/finch-api-java/commit/4817a0454a026d3f46018245dcc16bd4f2b850af))
* **internal:** tweak CI branches ([0a639b6](https://github.com/Finch-API/finch-api-java/commit/0a639b6323addc4b26f69eb0b5538325a84d35fe))
* **internal:** update `TestServerExtension` comment ([4f87f8c](https://github.com/Finch-API/finch-api-java/commit/4f87f8c75e35f859abd3f6bb53b0f10d9334c43a))
* **internal:** update gitignore ([c5b3f87](https://github.com/Finch-API/finch-api-java/commit/c5b3f876b0c417adf13f12aac4eb826ff9c1cbb8))
* **internal:** update multipart form array serialization ([971b625](https://github.com/Finch-API/finch-api-java/commit/971b625704582df1c587ddfbb0134b695b49f486))
* **internal:** update retry delay tests ([74d13c9](https://github.com/Finch-API/finch-api-java/commit/74d13c9d830887e3bab570b94d54422d695377ba))
* **internal:** upgrade AssertJ ([1969203](https://github.com/Finch-API/finch-api-java/commit/196920329becccc50491e2daf3ed2dc66df36476))
* make `Properties` more resilient to `null` ([0019871](https://github.com/Finch-API/finch-api-java/commit/0019871d4b03fc59e37876ed1c6b789a26898d42))
* redact api-key headers in debug logs ([57fb214](https://github.com/Finch-API/finch-api-java/commit/57fb2149a865153d8a1096e9bd48bfb1cc674378))
* remove duplicated dokka setup ([a136d65](https://github.com/Finch-API/finch-api-java/commit/a136d65e7fe094dae7c7f21f6cc317736ea84d87))
* **tests:** bump steady to v0.19.4 ([c5bf4b6](https://github.com/Finch-API/finch-api-java/commit/c5bf4b6b4e233046700aac4d7283255987cbf15f))
* **tests:** bump steady to v0.19.5 ([c41f85e](https://github.com/Finch-API/finch-api-java/commit/c41f85ec6c0f686db96ad08c13d30f91b6f134b6))
* **tests:** bump steady to v0.19.6 ([d0696f6](https://github.com/Finch-API/finch-api-java/commit/d0696f688ef503404bd7736173af4619ac3e542e))
* **tests:** bump steady to v0.19.7 ([cc4b8a7](https://github.com/Finch-API/finch-api-java/commit/cc4b8a7db1e6b38a33b0d1e5e1d0f735dbba566d))
* **tests:** bump steady to v0.20.1 ([8ea2902](https://github.com/Finch-API/finch-api-java/commit/8ea290264cdc318aea824ee16e99452395fcd182))
* **tests:** bump steady to v0.20.2 ([62c445f](https://github.com/Finch-API/finch-api-java/commit/62c445f77dc424656b623b5317bd9bee2de78df0))
* **tests:** bump steady to v0.22.1 ([712b749](https://github.com/Finch-API/finch-api-java/commit/712b749d0a26c855a5b4b2971e1e9f57bf86a2f7))


### Documentation

* clarify forwards compat behavior ([766609c](https://github.com/Finch-API/finch-api-java/commit/766609c4199c84faf5df9dc24bb583008a4762f3))


### Refactors

* **tests:** switch from prism to steady ([153f640](https://github.com/Finch-API/finch-api-java/commit/153f6408de564c3ac6e19ef67963f6e11889f289))

## 7.6.0 (2026-01-26)

Full Changelog: [v7.5.2...v7.6.0](https://github.com/Finch-API/finch-api-java/compare/v7.5.2...v7.6.0)
Expand Down
70 changes: 60 additions & 10 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.6.0)
[![javadoc](https://javadoc.io/badge2/com.tryfinch.api/finch-java/7.6.0/javadoc.svg)](https://javadoc.io/doc/com.tryfinch.api/finch-java/7.6.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.7.0)
[![javadoc](https://javadoc.io/badge2/com.tryfinch.api/finch-java/7.7.0/javadoc.svg)](https://javadoc.io/doc/com.tryfinch.api/finch-java/7.7.0)

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

Expand All @@ -17,14 +17,14 @@ It is generated with [Stainless](https://www.stainless.com/).

Use the Finch MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.

[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=%40tryfinch%2Ffinch-api-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkB0cnlmaW5jaC9maW5jaC1hcGktbWNwIl19)
[![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40tryfinch%2Ffinch-api-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40tryfinch%2Ffinch-api-mcp%22%5D%7D)
[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=%40tryfinch%2Ffinch-api-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkB0cnlmaW5jaC9maW5jaC1hcGktbWNwIl0sImVudiI6eyJGSU5DSF9BQ0NFU1NfVE9LRU4iOiJNeSBBY2Nlc3MgVG9rZW4iLCJGSU5DSF9DTElFTlRfSUQiOiI0YWIxNWU1MS0xMWFkLTQ5ZjQtYWNhZS1mMzQzYjc3OTQzNzUiLCJGSU5DSF9DTElFTlRfU0VDUkVUIjoiTXkgQ2xpZW50IFNlY3JldCIsIkZJTkNIX1dFQkhPT0tfU0VDUkVUIjoiTXkgV2ViaG9vayBTZWNyZXQifX0)
[![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40tryfinch%2Ffinch-api-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40tryfinch%2Ffinch-api-mcp%22%5D%2C%22env%22%3A%7B%22FINCH_ACCESS_TOKEN%22%3A%22My%20Access%20Token%22%2C%22FINCH_CLIENT_ID%22%3A%224ab15e51-11ad-49f4-acae-f343b7794375%22%2C%22FINCH_CLIENT_SECRET%22%3A%22My%20Client%20Secret%22%2C%22FINCH_WEBHOOK_SECRET%22%3A%22My%20Webhook%20Secret%22%7D%7D)

> Note: You may need to set environment variables in your MCP client.

<!-- 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.6.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.7.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.6.0")
implementation("com.tryfinch.api:finch-java:7.7.0")
```

### Maven
Expand All @@ -44,7 +44,7 @@ implementation("com.tryfinch.api:finch-java:7.6.0")
<dependency>
<groupId>com.tryfinch.api</groupId>
<artifactId>finch-java</artifactId>
<version>7.6.0</version>
<version>7.7.0</version>
</dependency>
```

Expand Down Expand Up @@ -352,8 +352,6 @@ while (true) {

## Logging

The SDK uses the standard [OkHttp logging interceptor](https://github.com/square/okhttp/tree/master/okhttp-logging-interceptor).

Enable logging by setting the `FINCH_LOG` environment variable to `info`:

```sh
Expand All @@ -366,6 +364,20 @@ Or to `debug` for more verbose logging:
export FINCH_LOG=debug
```

Or configure the client manually using the `logLevel` method:

```java
import com.tryfinch.api.client.FinchClient;
import com.tryfinch.api.client.okhttp.FinchOkHttpClient;
import com.tryfinch.api.core.LogLevel;

FinchClient client = FinchOkHttpClient.builder()
.fromEnv()
.logLevel(LogLevel.INFO)
.accessToken("My Access Token")
.build();
```

## Webhook Verification

We provide helper methods for verifying that a webhook request came from Finch, and not a malicious third party.
Expand Down Expand Up @@ -471,6 +483,42 @@ FinchClient client = FinchOkHttpClient.builder()
.build();
```

If the proxy responds with `407 Proxy Authentication Required`, supply credentials by also configuring `proxyAuthenticator`:

```java
import com.tryfinch.api.client.FinchClient;
import com.tryfinch.api.client.okhttp.FinchOkHttpClient;
import com.tryfinch.api.core.http.ProxyAuthenticator;

FinchClient client = FinchOkHttpClient.builder()
.fromEnv()
.proxy(...)
// Or a custom implementation of `ProxyAuthenticator`.
.proxyAuthenticator(ProxyAuthenticator.basic("username", "password"))
.accessToken("My Access Token")
.build();
```

### Connection pooling

To customize the underlying OkHttp connection pool, configure the client using the `maxIdleConnections` and `keepAliveDuration` methods:

```java
import com.tryfinch.api.client.FinchClient;
import com.tryfinch.api.client.okhttp.FinchOkHttpClient;
import java.time.Duration;

FinchClient client = FinchOkHttpClient.builder()
.fromEnv()
// If `maxIdleConnections` is set, then `keepAliveDuration` must be set, and vice versa.
.maxIdleConnections(10)
.keepAliveDuration(Duration.ofMinutes(2))
.accessToken("My Access Token")
.build();
```

If both options are unset, OkHttp's default connection pool settings are used.

### HTTPS

> [!NOTE]
Expand Down Expand Up @@ -671,7 +719,9 @@ In rare cases, the API may return a response that doesn't match the expected typ

By default, the SDK will not throw an exception in this case. It will throw [`FinchInvalidDataException`](finch-java-core/src/main/kotlin/com/tryfinch/api/errors/FinchInvalidDataException.kt) only if you directly access the property.

If you would prefer to check that the response is completely well-typed upfront, then either call `validate()`:
Validating the response is _not_ forwards compatible with new types from the API for existing fields.

If you would still prefer to check that the response is completely well-typed upfront, then either call `validate()`:

```java
import com.tryfinch.api.models.CreateAccessTokenResponse;
Expand Down
3 changes: 1 addition & 2 deletions 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.6.0" // x-release-please-version
version = "7.7.0" // x-release-please-version
}

subprojects {
Expand All @@ -21,7 +21,6 @@ subprojects {
group = "Verification"
description = "Verifies all source files are formatted."
}
apply(plugin = "org.jetbrains.dokka")
}

subprojects {
Expand Down
2 changes: 1 addition & 1 deletion buildSrc/src/main/kotlin/finch.java.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ tasks.withType<Test>().configureEach {

val palantir by configurations.creating
dependencies {
palantir("com.palantir.javaformat:palantir-java-format:2.73.0")
palantir("com.palantir.javaformat:palantir-java-format:2.89.0")
}

fun registerPalantir(
Expand Down
2 changes: 1 addition & 1 deletion buildSrc/src/main/kotlin/finch.kotlin.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ tasks.withType<Test>().configureEach {

val ktfmt by configurations.creating
dependencies {
ktfmt("com.facebook:ktfmt:0.56")
ktfmt("com.facebook:ktfmt:0.61")
}

fun registerKtfmt(
Expand Down
3 changes: 1 addition & 2 deletions finch-java-client-okhttp/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@ dependencies {
api(project(":finch-java-core"))

implementation("com.squareup.okhttp3:okhttp:4.12.0")
implementation("com.squareup.okhttp3:logging-interceptor:4.12.0")

testImplementation(kotlin("test"))
testImplementation("org.assertj:assertj-core:3.25.3")
testImplementation("org.assertj:assertj-core:3.27.7")
testImplementation("com.github.tomakehurst:wiremock-jre8:2.35.2")
}
Loading
Loading