diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 0f02ea1c..db3930fd 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.39" + ".": "0.1.0-alpha.40" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index f2239ea6..97c0d1d0 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 46 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-d5c3e3934333478f55af69889eafaea9b0eeae82a1597c5dec34426e9d55efd5.yml -openapi_spec_hash: 9ec42fee7f3124b3050846f74404b398 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-ded87cb73affcaff9cf779d9cfd119a4026cfc1757b39be95d933edea48a0328.yml +openapi_spec_hash: 0e6394b222fc68d7607114e70b72d23e config_hash: 0892e2e0eeb0343a022afa62e9080dd1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 335ad368..ad7d6c44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,23 @@ # Changelog +## 0.1.0-alpha.40 (2026-01-05) + +Full Changelog: [v0.1.0-alpha.39...v0.1.0-alpha.40](https://github.com/Finch-API/finch-api-ruby/compare/v0.1.0-alpha.39...v0.1.0-alpha.40) + +### Features + +* **api:** api update ([82c2483](https://github.com/Finch-API/finch-api-ruby/commit/82c2483e09e0facae50bc1fc3601b922ae86a5a5)) + + +### Chores + +* **internal:** codegen related update ([74a742a](https://github.com/Finch-API/finch-api-ruby/commit/74a742a5f1c7673a9f8fb06b5daaac5daf204fd5)) + + +### Documentation + +* prominently feature MCP server setup in root SDK readmes ([6d995c9](https://github.com/Finch-API/finch-api-ruby/commit/6d995c9789915687a71b11c33b1b5b8ccc9ffa48)) + ## 0.1.0-alpha.39 (2025-12-19) Full Changelog: [v0.1.0-alpha.38...v0.1.0-alpha.39](https://github.com/Finch-API/finch-api-ruby/compare/v0.1.0-alpha.38...v0.1.0-alpha.39) diff --git a/Gemfile.lock b/Gemfile.lock index b469006b..83076e7f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - finch-api (0.1.0.pre.alpha.39) + finch-api (0.1.0.pre.alpha.40) connection_pool GEM diff --git a/LICENSE b/LICENSE index eee60015..489cf4d3 100644 --- a/LICENSE +++ b/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2025 Finch + Copyright 2026 Finch Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/README.md b/README.md index eea6306a..dfbcdc65 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,15 @@ The Finch Ruby library provides convenient access to the Finch REST API from any It is generated with [Stainless](https://www.stainless.com/). +## MCP Server + +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) + +> Note: You may need to set environment variables in your MCP client. + ## Documentation Documentation for releases of this gem can be found [on RubyDoc](https://gemdocs.org/gems/finch-api). @@ -17,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "finch-api", "~> 0.1.0.pre.alpha.39" +gem "finch-api", "~> 0.1.0.pre.alpha.40" ``` diff --git a/lib/finch_api/models/sandbox/connection_create_response.rb b/lib/finch_api/models/sandbox/connection_create_response.rb index 204cfac4..d8861b36 100644 --- a/lib/finch_api/models/sandbox/connection_create_response.rb +++ b/lib/finch_api/models/sandbox/connection_create_response.rb @@ -38,6 +38,12 @@ class ConnectionCreateResponse < FinchAPI::Internal::Type::BaseModel # @return [String] required :connection_id, String + # @!attribute entity_id + # The ID of the entity for this connection + # + # @return [String] + required :entity_id, String + # @!attribute products # # @return [Array] @@ -54,7 +60,7 @@ class ConnectionCreateResponse < FinchAPI::Internal::Type::BaseModel # @return [String, nil] optional :token_type, String - # @!method initialize(access_token:, account_id:, authentication_type:, company_id:, connection_id:, products:, provider_id:, token_type: nil) + # @!method initialize(access_token:, account_id:, authentication_type:, company_id:, connection_id:, entity_id:, products:, provider_id:, token_type: nil) # @param access_token [String] # # @param account_id [String] [DEPRECATED] Use `connection_id` to associate a connection with an access token @@ -65,6 +71,8 @@ class ConnectionCreateResponse < FinchAPI::Internal::Type::BaseModel # # @param connection_id [String] The ID of the new connection # + # @param entity_id [String] The ID of the entity for this connection + # # @param products [Array] # # @param provider_id [String] The ID of the provider associated with the `access_token`. diff --git a/lib/finch_api/models/sandbox/connections/account_create_response.rb b/lib/finch_api/models/sandbox/connections/account_create_response.rb index ebcd494b..5b07d676 100644 --- a/lib/finch_api/models/sandbox/connections/account_create_response.rb +++ b/lib/finch_api/models/sandbox/connections/account_create_response.rb @@ -39,6 +39,12 @@ class AccountCreateResponse < FinchAPI::Internal::Type::BaseModel # @return [String] required :connection_id, String + # @!attribute entity_id + # The ID of the entity for this connection + # + # @return [String] + required :entity_id, String + # @!attribute products # # @return [Array] @@ -50,7 +56,7 @@ class AccountCreateResponse < FinchAPI::Internal::Type::BaseModel # @return [String] required :provider_id, String - # @!method initialize(access_token:, account_id:, authentication_type:, company_id:, connection_id:, products:, provider_id:) + # @!method initialize(access_token:, account_id:, authentication_type:, company_id:, connection_id:, entity_id:, products:, provider_id:) # @param access_token [String] # # @param account_id [String] [DEPRECATED] Use `connection_id` to associate a connection with an access token @@ -61,6 +67,8 @@ class AccountCreateResponse < FinchAPI::Internal::Type::BaseModel # # @param connection_id [String] The ID of the new connection # + # @param entity_id [String] The ID of the entity for this connection + # # @param products [Array] # # @param provider_id [String] The ID of the provider associated with the `access_token` diff --git a/lib/finch_api/models/sandbox/connections/account_update_response.rb b/lib/finch_api/models/sandbox/connections/account_update_response.rb index d6b3276c..00c71171 100644 --- a/lib/finch_api/models/sandbox/connections/account_update_response.rb +++ b/lib/finch_api/models/sandbox/connections/account_update_response.rb @@ -28,6 +28,18 @@ class AccountUpdateResponse < FinchAPI::Internal::Type::BaseModel # @return [String] required :company_id, String + # @!attribute connection_id + # The ID of the new connection + # + # @return [String] + required :connection_id, String + + # @!attribute entity_id + # The ID of the entity whose status was updated + # + # @return [String] + required :entity_id, String + # @!attribute products # # @return [Array] @@ -39,24 +51,20 @@ class AccountUpdateResponse < FinchAPI::Internal::Type::BaseModel # @return [String] required :provider_id, String - # @!attribute connection_id - # The ID of the new connection - # - # @return [String, nil] - optional :connection_id, String - - # @!method initialize(account_id:, authentication_type:, company_id:, products:, provider_id:, connection_id: nil) + # @!method initialize(account_id:, authentication_type:, company_id:, connection_id:, entity_id:, products:, provider_id:) # @param account_id [String] [DEPRECATED] Use `connection_id` to associate a connection with an access token # # @param authentication_type [Symbol, FinchAPI::Models::Sandbox::Connections::AccountUpdateResponse::AuthenticationType] # # @param company_id [String] [DEPRECATED] Use `connection_id` to associate a connection with an access token # + # @param connection_id [String] The ID of the new connection + # + # @param entity_id [String] The ID of the entity whose status was updated + # # @param products [Array] # # @param provider_id [String] The ID of the provider associated with the `access_token` - # - # @param connection_id [String] The ID of the new connection # @see FinchAPI::Models::Sandbox::Connections::AccountUpdateResponse#authentication_type module AuthenticationType diff --git a/lib/finch_api/version.rb b/lib/finch_api/version.rb index db14622f..5eaa7991 100644 --- a/lib/finch_api/version.rb +++ b/lib/finch_api/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module FinchAPI - VERSION = "0.1.0.pre.alpha.39" + VERSION = "0.1.0.pre.alpha.40" end diff --git a/rbi/finch_api/models/sandbox/connection_create_response.rbi b/rbi/finch_api/models/sandbox/connection_create_response.rbi index f1ae7d81..1709fe3e 100644 --- a/rbi/finch_api/models/sandbox/connection_create_response.rbi +++ b/rbi/finch_api/models/sandbox/connection_create_response.rbi @@ -34,6 +34,10 @@ module FinchAPI sig { returns(String) } attr_accessor :connection_id + # The ID of the entity for this connection + sig { returns(String) } + attr_accessor :entity_id + sig { returns(T::Array[String]) } attr_accessor :products @@ -55,6 +59,7 @@ module FinchAPI FinchAPI::Models::Sandbox::ConnectionCreateResponse::AuthenticationType::OrSymbol, company_id: String, connection_id: String, + entity_id: String, products: T::Array[String], provider_id: String, token_type: String @@ -69,6 +74,8 @@ module FinchAPI company_id:, # The ID of the new connection connection_id:, + # The ID of the entity for this connection + entity_id:, products:, # The ID of the provider associated with the `access_token`. provider_id:, @@ -85,6 +92,7 @@ module FinchAPI FinchAPI::Models::Sandbox::ConnectionCreateResponse::AuthenticationType::TaggedSymbol, company_id: String, connection_id: String, + entity_id: String, products: T::Array[String], provider_id: String, token_type: String diff --git a/rbi/finch_api/models/sandbox/connections/account_create_response.rbi b/rbi/finch_api/models/sandbox/connections/account_create_response.rbi index 17d70435..28441fa0 100644 --- a/rbi/finch_api/models/sandbox/connections/account_create_response.rbi +++ b/rbi/finch_api/models/sandbox/connections/account_create_response.rbi @@ -35,6 +35,10 @@ module FinchAPI sig { returns(String) } attr_accessor :connection_id + # The ID of the entity for this connection + sig { returns(String) } + attr_accessor :entity_id + sig { returns(T::Array[String]) } attr_accessor :products @@ -50,6 +54,7 @@ module FinchAPI FinchAPI::Models::Sandbox::Connections::AccountCreateResponse::AuthenticationType::OrSymbol, company_id: String, connection_id: String, + entity_id: String, products: T::Array[String], provider_id: String ).returns(T.attached_class) @@ -63,6 +68,8 @@ module FinchAPI company_id:, # The ID of the new connection connection_id:, + # The ID of the entity for this connection + entity_id:, products:, # The ID of the provider associated with the `access_token` provider_id: @@ -78,6 +85,7 @@ module FinchAPI FinchAPI::Models::Sandbox::Connections::AccountCreateResponse::AuthenticationType::TaggedSymbol, company_id: String, connection_id: String, + entity_id: String, products: T::Array[String], provider_id: String } diff --git a/rbi/finch_api/models/sandbox/connections/account_update_response.rbi b/rbi/finch_api/models/sandbox/connections/account_update_response.rbi index 41f0b3f3..bace5d56 100644 --- a/rbi/finch_api/models/sandbox/connections/account_update_response.rbi +++ b/rbi/finch_api/models/sandbox/connections/account_update_response.rbi @@ -28,6 +28,14 @@ module FinchAPI sig { returns(String) } attr_accessor :company_id + # The ID of the new connection + sig { returns(String) } + attr_accessor :connection_id + + # The ID of the entity whose status was updated + sig { returns(String) } + attr_accessor :entity_id + sig { returns(T::Array[String]) } attr_accessor :products @@ -35,22 +43,16 @@ module FinchAPI sig { returns(String) } attr_accessor :provider_id - # The ID of the new connection - sig { returns(T.nilable(String)) } - attr_reader :connection_id - - sig { params(connection_id: String).void } - attr_writer :connection_id - sig do params( account_id: String, authentication_type: FinchAPI::Models::Sandbox::Connections::AccountUpdateResponse::AuthenticationType::OrSymbol, company_id: String, + connection_id: String, + entity_id: String, products: T::Array[String], - provider_id: String, - connection_id: String + provider_id: String ).returns(T.attached_class) end def self.new( @@ -59,11 +61,13 @@ module FinchAPI authentication_type:, # [DEPRECATED] Use `connection_id` to associate a connection with an access token company_id:, + # The ID of the new connection + connection_id:, + # The ID of the entity whose status was updated + entity_id:, products:, # The ID of the provider associated with the `access_token` - provider_id:, - # The ID of the new connection - connection_id: nil + provider_id: ) end @@ -74,9 +78,10 @@ module FinchAPI authentication_type: FinchAPI::Models::Sandbox::Connections::AccountUpdateResponse::AuthenticationType::TaggedSymbol, company_id: String, + connection_id: String, + entity_id: String, products: T::Array[String], - provider_id: String, - connection_id: String + provider_id: String } ) end diff --git a/sig/finch_api/models/sandbox/connection_create_response.rbs b/sig/finch_api/models/sandbox/connection_create_response.rbs index 0dc7bddd..06abac4c 100644 --- a/sig/finch_api/models/sandbox/connection_create_response.rbs +++ b/sig/finch_api/models/sandbox/connection_create_response.rbs @@ -8,6 +8,7 @@ module FinchAPI authentication_type: FinchAPI::Models::Sandbox::ConnectionCreateResponse::authentication_type, company_id: String, connection_id: String, + entity_id: String, products: ::Array[String], provider_id: String, token_type: String @@ -24,6 +25,8 @@ module FinchAPI attr_accessor connection_id: String + attr_accessor entity_id: String + attr_accessor products: ::Array[String] attr_accessor provider_id: String @@ -38,6 +41,7 @@ module FinchAPI authentication_type: FinchAPI::Models::Sandbox::ConnectionCreateResponse::authentication_type, company_id: String, connection_id: String, + entity_id: String, products: ::Array[String], provider_id: String, ?token_type: String @@ -49,6 +53,7 @@ module FinchAPI authentication_type: FinchAPI::Models::Sandbox::ConnectionCreateResponse::authentication_type, company_id: String, connection_id: String, + entity_id: String, products: ::Array[String], provider_id: String, token_type: String diff --git a/sig/finch_api/models/sandbox/connections/account_create_response.rbs b/sig/finch_api/models/sandbox/connections/account_create_response.rbs index 4f70fdaa..3f6ba0a8 100644 --- a/sig/finch_api/models/sandbox/connections/account_create_response.rbs +++ b/sig/finch_api/models/sandbox/connections/account_create_response.rbs @@ -9,6 +9,7 @@ module FinchAPI authentication_type: FinchAPI::Models::Sandbox::Connections::AccountCreateResponse::authentication_type, company_id: String, connection_id: String, + entity_id: String, products: ::Array[String], provider_id: String } @@ -24,6 +25,8 @@ module FinchAPI attr_accessor connection_id: String + attr_accessor entity_id: String + attr_accessor products: ::Array[String] attr_accessor provider_id: String @@ -34,6 +37,7 @@ module FinchAPI authentication_type: FinchAPI::Models::Sandbox::Connections::AccountCreateResponse::authentication_type, company_id: String, connection_id: String, + entity_id: String, products: ::Array[String], provider_id: String ) -> void @@ -44,6 +48,7 @@ module FinchAPI authentication_type: FinchAPI::Models::Sandbox::Connections::AccountCreateResponse::authentication_type, company_id: String, connection_id: String, + entity_id: String, products: ::Array[String], provider_id: String } diff --git a/sig/finch_api/models/sandbox/connections/account_update_response.rbs b/sig/finch_api/models/sandbox/connections/account_update_response.rbs index d37f1111..bf6cfae9 100644 --- a/sig/finch_api/models/sandbox/connections/account_update_response.rbs +++ b/sig/finch_api/models/sandbox/connections/account_update_response.rbs @@ -7,9 +7,10 @@ module FinchAPI account_id: String, authentication_type: FinchAPI::Models::Sandbox::Connections::AccountUpdateResponse::authentication_type, company_id: String, + connection_id: String, + entity_id: String, products: ::Array[String], - provider_id: String, - connection_id: String + provider_id: String } class AccountUpdateResponse < FinchAPI::Internal::Type::BaseModel @@ -19,30 +20,32 @@ module FinchAPI attr_accessor company_id: String - attr_accessor products: ::Array[String] + attr_accessor connection_id: String - attr_accessor provider_id: String + attr_accessor entity_id: String - attr_reader connection_id: String? + attr_accessor products: ::Array[String] - def connection_id=: (String) -> String + attr_accessor provider_id: String def initialize: ( account_id: String, authentication_type: FinchAPI::Models::Sandbox::Connections::AccountUpdateResponse::authentication_type, company_id: String, + connection_id: String, + entity_id: String, products: ::Array[String], - provider_id: String, - ?connection_id: String + provider_id: String ) -> void def to_hash: -> { account_id: String, authentication_type: FinchAPI::Models::Sandbox::Connections::AccountUpdateResponse::authentication_type, company_id: String, + connection_id: String, + entity_id: String, products: ::Array[String], - provider_id: String, - connection_id: String + provider_id: String } type authentication_type = diff --git a/test/finch_api/resources/sandbox/connections/accounts_test.rb b/test/finch_api/resources/sandbox/connections/accounts_test.rb index b429300f..0c8d380f 100644 --- a/test/finch_api/resources/sandbox/connections/accounts_test.rb +++ b/test/finch_api/resources/sandbox/connections/accounts_test.rb @@ -23,6 +23,7 @@ def test_create_required_params authentication_type: FinchAPI::Models::Sandbox::Connections::AccountCreateResponse::AuthenticationType, company_id: String, connection_id: String, + entity_id: String, products: ^(FinchAPI::Internal::Type::ArrayOf[String]), provider_id: String } @@ -41,9 +42,10 @@ def test_update account_id: String, authentication_type: FinchAPI::Models::Sandbox::Connections::AccountUpdateResponse::AuthenticationType, company_id: String, + connection_id: String, + entity_id: String, products: ^(FinchAPI::Internal::Type::ArrayOf[String]), - provider_id: String, - connection_id: String | nil + provider_id: String } end end diff --git a/test/finch_api/resources/sandbox/connections_test.rb b/test/finch_api/resources/sandbox/connections_test.rb index 15d1b364..defbcbf1 100644 --- a/test/finch_api/resources/sandbox/connections_test.rb +++ b/test/finch_api/resources/sandbox/connections_test.rb @@ -19,6 +19,7 @@ def test_create_required_params authentication_type: FinchAPI::Models::Sandbox::ConnectionCreateResponse::AuthenticationType, company_id: String, connection_id: String, + entity_id: String, products: ^(FinchAPI::Internal::Type::ArrayOf[String]), provider_id: String, token_type: String | nil