From a73631f53a7419ad4a3e80e35302c047642a320c Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 13 Mar 2026 19:01:16 +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 3f376ee1..7415bfa2 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 236 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-fae765b6b1b34f9c649fec11885e4d0e5b8b1cab0baf0f440dfd5eba040e7047.yml -openapi_spec_hash: 9900b1c763a43261e0288896379541fe +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-456b3255914e823b9e463f97ff81124dfabefae6f102e0f295bf33b7cfb1b780.yml +openapi_spec_hash: ccbeda7ba9b61f9a8c2f9f4cf7a65dce config_hash: 25d7d7aa4882db6189b4b53e8e249e80 From fb7738cf952c59634ae2c60442d3b0060d8c23b8 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 13 Mar 2026 23:12:59 +0000 Subject: [PATCH 2/3] feat(api): api update --- .stats.yml | 4 +- lib/increase/models/entity.rb | 217 +++++++++- rbi/increase/models/entity.rbi | 502 ++++++++++++++++++++++- sig/increase/models/entity.rbs | 190 ++++++++- test/increase/resources/entities_test.rb | 15 +- 5 files changed, 912 insertions(+), 16 deletions(-) diff --git a/.stats.yml b/.stats.yml index 7415bfa2..62f093dc 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 236 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-456b3255914e823b9e463f97ff81124dfabefae6f102e0f295bf33b7cfb1b780.yml -openapi_spec_hash: ccbeda7ba9b61f9a8c2f9f4cf7a65dce +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-d5ad75c7a80acd1cb3ff0483fa0b5b2eb9d73287f107f53a8fb3a3a0b6a32ed8.yml +openapi_spec_hash: da73faf476df3eddcf0ac51c38dd1b17 config_hash: 25d7d7aa4882db6189b4b53e8e249e80 diff --git a/lib/increase/models/entity.rb b/lib/increase/models/entity.rb index b76dfb6a..f2136799 100644 --- a/lib/increase/models/entity.rb +++ b/lib/increase/models/entity.rb @@ -121,12 +121,19 @@ class Entity < Increase::Internal::Type::BaseModel # @return [Symbol, Increase::Models::Entity::Type] required :type, enum: -> { Increase::Entity::Type } - # @!method initialize(id:, corporation:, created_at:, description:, details_confirmed_at:, government_authority:, idempotency_key:, joint:, natural_person:, risk_rating:, status:, structure:, supplemental_documents:, terms_agreements:, third_party_verification:, trust:, type:) + # @!attribute validation + # The validation results for the entity. + # + # @return [Increase::Models::Entity::Validation, nil] + required :validation, -> { Increase::Entity::Validation }, nil?: true + + # @!method initialize(id:, corporation:, created_at:, description:, details_confirmed_at:, government_authority:, idempotency_key:, joint:, natural_person:, risk_rating:, status:, structure:, supplemental_documents:, terms_agreements:, third_party_verification:, trust:, type:, validation:) # Some parameter documentations has been truncated, see {Increase::Models::Entity} # for more details. # # Entities are the legal entities that own accounts. They can be people, - # corporations, partnerships, government authorities, or trusts. + # corporations, partnerships, government authorities, or trusts. To learn more, + # see [Entities](/documentation/entities). # # @param id [String] The entity's identifier. # @@ -161,6 +168,8 @@ class Entity < Increase::Internal::Type::BaseModel # @param trust [Increase::Models::Entity::Trust, nil] Details of the trust entity. Will be present if `structure` is equal to `trust`. # # @param type [Symbol, Increase::Models::Entity::Type] A constant representing the object's type. For this resource it will always be ` + # + # @param validation [Increase::Models::Entity::Validation, nil] The validation results for the entity. # @see Increase::Models::Entity#corporation class Corporation < Increase::Internal::Type::BaseModel @@ -1586,6 +1595,210 @@ module Type # @!method self.values # @return [Array] end + + # @see Increase::Models::Entity#validation + class Validation < Increase::Internal::Type::BaseModel + # @!attribute issues + # The list of issues that need to be addressed. + # + # @return [Array] + required :issues, -> { Increase::Internal::Type::ArrayOf[Increase::Entity::Validation::Issue] } + + # @!attribute status + # The validation status for the entity. If the status is `invalid`, the `issues` + # array will be populated. + # + # @return [Symbol, Increase::Models::Entity::Validation::Status] + required :status, enum: -> { Increase::Entity::Validation::Status } + + # @!method initialize(issues:, status:) + # Some parameter documentations has been truncated, see + # {Increase::Models::Entity::Validation} for more details. + # + # The validation results for the entity. + # + # @param issues [Array] The list of issues that need to be addressed. + # + # @param status [Symbol, Increase::Models::Entity::Validation::Status] The validation status for the entity. If the status is `invalid`, the `issues` a + + class Issue < Increase::Internal::Type::BaseModel + # @!attribute beneficial_owner_address + # Details when the issue is with a beneficial owner's address. + # + # @return [Increase::Models::Entity::Validation::Issue::BeneficialOwnerAddress, nil] + required :beneficial_owner_address, + -> { Increase::Entity::Validation::Issue::BeneficialOwnerAddress }, + nil?: true + + # @!attribute beneficial_owner_identity + # Details when the issue is with a beneficial owner's identity verification. + # + # @return [Increase::Models::Entity::Validation::Issue::BeneficialOwnerIdentity, nil] + required :beneficial_owner_identity, + -> { Increase::Entity::Validation::Issue::BeneficialOwnerIdentity }, + nil?: true + + # @!attribute category + # The type of issue. We may add additional possible values for this enum over + # time; your application should be able to handle such additions gracefully. + # + # @return [Symbol, Increase::Models::Entity::Validation::Issue::Category] + required :category, enum: -> { Increase::Entity::Validation::Issue::Category } + + # @!attribute entity_address + # Details when the issue is with the entity's address. + # + # @return [Increase::Models::Entity::Validation::Issue::EntityAddress, nil] + required :entity_address, -> { Increase::Entity::Validation::Issue::EntityAddress }, nil?: true + + # @!attribute entity_tax_identifier + # Details when the issue is with the entity's tax ID. + # + # @return [Increase::Models::Entity::Validation::Issue::EntityTaxIdentifier, nil] + required :entity_tax_identifier, + -> { Increase::Entity::Validation::Issue::EntityTaxIdentifier }, + nil?: true + + # @!method initialize(beneficial_owner_address:, beneficial_owner_identity:, category:, entity_address:, entity_tax_identifier:) + # Some parameter documentations has been truncated, see + # {Increase::Models::Entity::Validation::Issue} for more details. + # + # @param beneficial_owner_address [Increase::Models::Entity::Validation::Issue::BeneficialOwnerAddress, nil] Details when the issue is with a beneficial owner's address. + # + # @param beneficial_owner_identity [Increase::Models::Entity::Validation::Issue::BeneficialOwnerIdentity, nil] Details when the issue is with a beneficial owner's identity verification. + # + # @param category [Symbol, Increase::Models::Entity::Validation::Issue::Category] The type of issue. We may add additional possible values for this enum over time + # + # @param entity_address [Increase::Models::Entity::Validation::Issue::EntityAddress, nil] Details when the issue is with the entity's address. + # + # @param entity_tax_identifier [Increase::Models::Entity::Validation::Issue::EntityTaxIdentifier, nil] Details when the issue is with the entity's tax ID. + + # @see Increase::Models::Entity::Validation::Issue#beneficial_owner_address + class BeneficialOwnerAddress < Increase::Internal::Type::BaseModel + # @!attribute beneficial_owner_id + # The ID of the beneficial owner. + # + # @return [String] + required :beneficial_owner_id, String + + # @!attribute reason + # The reason the address is invalid. + # + # @return [Symbol, Increase::Models::Entity::Validation::Issue::BeneficialOwnerAddress::Reason] + required :reason, enum: -> { Increase::Entity::Validation::Issue::BeneficialOwnerAddress::Reason } + + # @!method initialize(beneficial_owner_id:, reason:) + # Details when the issue is with a beneficial owner's address. + # + # @param beneficial_owner_id [String] The ID of the beneficial owner. + # + # @param reason [Symbol, Increase::Models::Entity::Validation::Issue::BeneficialOwnerAddress::Reason] The reason the address is invalid. + + # The reason the address is invalid. + # + # @see Increase::Models::Entity::Validation::Issue::BeneficialOwnerAddress#reason + module Reason + extend Increase::Internal::Type::Enum + + # The address is a mailbox or other non-physical address. + MAILBOX_ADDRESS = :mailbox_address + + # @!method self.values + # @return [Array] + end + end + + # @see Increase::Models::Entity::Validation::Issue#beneficial_owner_identity + class BeneficialOwnerIdentity < Increase::Internal::Type::BaseModel + # @!attribute beneficial_owner_id + # The ID of the beneficial owner. + # + # @return [String] + required :beneficial_owner_id, String + + # @!method initialize(beneficial_owner_id:) + # Details when the issue is with a beneficial owner's identity verification. + # + # @param beneficial_owner_id [String] The ID of the beneficial owner. + end + + # The type of issue. We may add additional possible values for this enum over + # time; your application should be able to handle such additions gracefully. + # + # @see Increase::Models::Entity::Validation::Issue#category + module Category + extend Increase::Internal::Type::Enum + + # The entity's tax identifier could not be validated. Update the tax ID with the [update an entity API](/documentation/api/entities#update-an-entity.corporation.tax_identifier). + ENTITY_TAX_IDENTIFIER = :entity_tax_identifier + + # The entity's address could not be validated. Update the address with the [update an entity API](/documentation/api/entities#update-an-entity.corporation.address). + ENTITY_ADDRESS = :entity_address + + # A beneficial owner's identity could not be verified. Update the identification with the [update a beneficial owner API](/documentation/api/beneficial-owners#update-a-beneficial-owner). + BENEFICIAL_OWNER_IDENTITY = :beneficial_owner_identity + + # A beneficial owner's address could not be validated. Update the address with the [update a beneficial owner API](/documentation/api/beneficial-owners#update-a-beneficial-owner). + BENEFICIAL_OWNER_ADDRESS = :beneficial_owner_address + + # @!method self.values + # @return [Array] + end + + # @see Increase::Models::Entity::Validation::Issue#entity_address + class EntityAddress < Increase::Internal::Type::BaseModel + # @!attribute reason + # The reason the address is invalid. + # + # @return [Symbol, Increase::Models::Entity::Validation::Issue::EntityAddress::Reason] + required :reason, enum: -> { Increase::Entity::Validation::Issue::EntityAddress::Reason } + + # @!method initialize(reason:) + # Details when the issue is with the entity's address. + # + # @param reason [Symbol, Increase::Models::Entity::Validation::Issue::EntityAddress::Reason] The reason the address is invalid. + + # The reason the address is invalid. + # + # @see Increase::Models::Entity::Validation::Issue::EntityAddress#reason + module Reason + extend Increase::Internal::Type::Enum + + # The address is a mailbox or other non-physical address. + MAILBOX_ADDRESS = :mailbox_address + + # @!method self.values + # @return [Array] + end + end + + # @see Increase::Models::Entity::Validation::Issue#entity_tax_identifier + class EntityTaxIdentifier < Increase::Internal::Type::BaseModel + # @!method initialize + # Details when the issue is with the entity's tax ID. + end + end + + # The validation status for the entity. If the status is `invalid`, the `issues` + # array will be populated. + # + # @see Increase::Models::Entity::Validation#status + module Status + extend Increase::Internal::Type::Enum + + # The submitted data is being validated. + PENDING = :pending + + # The submitted data is valid. + VALID = :valid + + # Additional information is required to validate the data. + INVALID = :invalid + + # @!method self.values + # @return [Array] + end + end end end end diff --git a/rbi/increase/models/entity.rbi b/rbi/increase/models/entity.rbi index b59f0a6a..ce9f4b5b 100644 --- a/rbi/increase/models/entity.rbi +++ b/rbi/increase/models/entity.rbi @@ -131,8 +131,18 @@ module Increase sig { returns(Increase::Entity::Type::TaggedSymbol) } attr_accessor :type + # The validation results for the entity. + sig { returns(T.nilable(Increase::Entity::Validation)) } + attr_reader :validation + + sig do + params(validation: T.nilable(Increase::Entity::Validation::OrHash)).void + end + attr_writer :validation + # Entities are the legal entities that own accounts. They can be people, - # corporations, partnerships, government authorities, or trusts. + # corporations, partnerships, government authorities, or trusts. To learn more, + # see [Entities](/documentation/entities). sig do params( id: String, @@ -154,7 +164,8 @@ module Increase third_party_verification: T.nilable(Increase::Entity::ThirdPartyVerification::OrHash), trust: T.nilable(Increase::Entity::Trust::OrHash), - type: Increase::Entity::Type::OrSymbol + type: Increase::Entity::Type::OrSymbol, + validation: T.nilable(Increase::Entity::Validation::OrHash) ).returns(T.attached_class) end def self.new( @@ -205,7 +216,9 @@ module Increase trust:, # A constant representing the object's type. For this resource it will always be # `entity`. - type: + type:, + # The validation results for the entity. + validation: ) end @@ -231,7 +244,8 @@ module Increase third_party_verification: T.nilable(Increase::Entity::ThirdPartyVerification), trust: T.nilable(Increase::Entity::Trust), - type: Increase::Entity::Type::TaggedSymbol + type: Increase::Entity::Type::TaggedSymbol, + validation: T.nilable(Increase::Entity::Validation) } ) end @@ -2720,6 +2734,486 @@ module Increase def self.values end end + + class Validation < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Increase::Entity::Validation, Increase::Internal::AnyHash) + end + + # The list of issues that need to be addressed. + sig { returns(T::Array[Increase::Entity::Validation::Issue]) } + attr_accessor :issues + + # The validation status for the entity. If the status is `invalid`, the `issues` + # array will be populated. + sig { returns(Increase::Entity::Validation::Status::TaggedSymbol) } + attr_accessor :status + + # The validation results for the entity. + sig do + params( + issues: T::Array[Increase::Entity::Validation::Issue::OrHash], + status: Increase::Entity::Validation::Status::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The list of issues that need to be addressed. + issues:, + # The validation status for the entity. If the status is `invalid`, the `issues` + # array will be populated. + status: + ) + end + + sig do + override.returns( + { + issues: T::Array[Increase::Entity::Validation::Issue], + status: Increase::Entity::Validation::Status::TaggedSymbol + } + ) + end + def to_hash + end + + class Issue < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::Entity::Validation::Issue, + Increase::Internal::AnyHash + ) + end + + # Details when the issue is with a beneficial owner's address. + sig do + returns( + T.nilable( + Increase::Entity::Validation::Issue::BeneficialOwnerAddress + ) + ) + end + attr_reader :beneficial_owner_address + + sig do + params( + beneficial_owner_address: + T.nilable( + Increase::Entity::Validation::Issue::BeneficialOwnerAddress::OrHash + ) + ).void + end + attr_writer :beneficial_owner_address + + # Details when the issue is with a beneficial owner's identity verification. + sig do + returns( + T.nilable( + Increase::Entity::Validation::Issue::BeneficialOwnerIdentity + ) + ) + end + attr_reader :beneficial_owner_identity + + sig do + params( + beneficial_owner_identity: + T.nilable( + Increase::Entity::Validation::Issue::BeneficialOwnerIdentity::OrHash + ) + ).void + end + attr_writer :beneficial_owner_identity + + # The type of issue. We may add additional possible values for this enum over + # time; your application should be able to handle such additions gracefully. + sig do + returns(Increase::Entity::Validation::Issue::Category::TaggedSymbol) + end + attr_accessor :category + + # Details when the issue is with the entity's address. + sig do + returns( + T.nilable(Increase::Entity::Validation::Issue::EntityAddress) + ) + end + attr_reader :entity_address + + sig do + params( + entity_address: + T.nilable( + Increase::Entity::Validation::Issue::EntityAddress::OrHash + ) + ).void + end + attr_writer :entity_address + + # Details when the issue is with the entity's tax ID. + sig do + returns( + T.nilable( + Increase::Entity::Validation::Issue::EntityTaxIdentifier + ) + ) + end + attr_reader :entity_tax_identifier + + sig do + params( + entity_tax_identifier: + T.nilable( + Increase::Entity::Validation::Issue::EntityTaxIdentifier::OrHash + ) + ).void + end + attr_writer :entity_tax_identifier + + sig do + params( + beneficial_owner_address: + T.nilable( + Increase::Entity::Validation::Issue::BeneficialOwnerAddress::OrHash + ), + beneficial_owner_identity: + T.nilable( + Increase::Entity::Validation::Issue::BeneficialOwnerIdentity::OrHash + ), + category: Increase::Entity::Validation::Issue::Category::OrSymbol, + entity_address: + T.nilable( + Increase::Entity::Validation::Issue::EntityAddress::OrHash + ), + entity_tax_identifier: + T.nilable( + Increase::Entity::Validation::Issue::EntityTaxIdentifier::OrHash + ) + ).returns(T.attached_class) + end + def self.new( + # Details when the issue is with a beneficial owner's address. + beneficial_owner_address:, + # Details when the issue is with a beneficial owner's identity verification. + beneficial_owner_identity:, + # The type of issue. We may add additional possible values for this enum over + # time; your application should be able to handle such additions gracefully. + category:, + # Details when the issue is with the entity's address. + entity_address:, + # Details when the issue is with the entity's tax ID. + entity_tax_identifier: + ) + end + + sig do + override.returns( + { + beneficial_owner_address: + T.nilable( + Increase::Entity::Validation::Issue::BeneficialOwnerAddress + ), + beneficial_owner_identity: + T.nilable( + Increase::Entity::Validation::Issue::BeneficialOwnerIdentity + ), + category: + Increase::Entity::Validation::Issue::Category::TaggedSymbol, + entity_address: + T.nilable(Increase::Entity::Validation::Issue::EntityAddress), + entity_tax_identifier: + T.nilable( + Increase::Entity::Validation::Issue::EntityTaxIdentifier + ) + } + ) + end + def to_hash + end + + class BeneficialOwnerAddress < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::Entity::Validation::Issue::BeneficialOwnerAddress, + Increase::Internal::AnyHash + ) + end + + # The ID of the beneficial owner. + sig { returns(String) } + attr_accessor :beneficial_owner_id + + # The reason the address is invalid. + sig do + returns( + Increase::Entity::Validation::Issue::BeneficialOwnerAddress::Reason::TaggedSymbol + ) + end + attr_accessor :reason + + # Details when the issue is with a beneficial owner's address. + sig do + params( + beneficial_owner_id: String, + reason: + Increase::Entity::Validation::Issue::BeneficialOwnerAddress::Reason::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The ID of the beneficial owner. + beneficial_owner_id:, + # The reason the address is invalid. + reason: + ) + end + + sig do + override.returns( + { + beneficial_owner_id: String, + reason: + Increase::Entity::Validation::Issue::BeneficialOwnerAddress::Reason::TaggedSymbol + } + ) + end + def to_hash + end + + # The reason the address is invalid. + module Reason + extend Increase::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Increase::Entity::Validation::Issue::BeneficialOwnerAddress::Reason + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + # The address is a mailbox or other non-physical address. + MAILBOX_ADDRESS = + T.let( + :mailbox_address, + Increase::Entity::Validation::Issue::BeneficialOwnerAddress::Reason::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Increase::Entity::Validation::Issue::BeneficialOwnerAddress::Reason::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class BeneficialOwnerIdentity < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::Entity::Validation::Issue::BeneficialOwnerIdentity, + Increase::Internal::AnyHash + ) + end + + # The ID of the beneficial owner. + sig { returns(String) } + attr_accessor :beneficial_owner_id + + # Details when the issue is with a beneficial owner's identity verification. + sig do + params(beneficial_owner_id: String).returns(T.attached_class) + end + def self.new( + # The ID of the beneficial owner. + beneficial_owner_id: + ) + end + + sig { override.returns({ beneficial_owner_id: String }) } + def to_hash + end + end + + # The type of issue. We may add additional possible values for this enum over + # time; your application should be able to handle such additions gracefully. + module Category + extend Increase::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Increase::Entity::Validation::Issue::Category) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + # The entity's tax identifier could not be validated. Update the tax ID with the [update an entity API](/documentation/api/entities#update-an-entity.corporation.tax_identifier). + ENTITY_TAX_IDENTIFIER = + T.let( + :entity_tax_identifier, + Increase::Entity::Validation::Issue::Category::TaggedSymbol + ) + + # The entity's address could not be validated. Update the address with the [update an entity API](/documentation/api/entities#update-an-entity.corporation.address). + ENTITY_ADDRESS = + T.let( + :entity_address, + Increase::Entity::Validation::Issue::Category::TaggedSymbol + ) + + # A beneficial owner's identity could not be verified. Update the identification with the [update a beneficial owner API](/documentation/api/beneficial-owners#update-a-beneficial-owner). + BENEFICIAL_OWNER_IDENTITY = + T.let( + :beneficial_owner_identity, + Increase::Entity::Validation::Issue::Category::TaggedSymbol + ) + + # A beneficial owner's address could not be validated. Update the address with the [update a beneficial owner API](/documentation/api/beneficial-owners#update-a-beneficial-owner). + BENEFICIAL_OWNER_ADDRESS = + T.let( + :beneficial_owner_address, + Increase::Entity::Validation::Issue::Category::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Increase::Entity::Validation::Issue::Category::TaggedSymbol + ] + ) + end + def self.values + end + end + + class EntityAddress < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::Entity::Validation::Issue::EntityAddress, + Increase::Internal::AnyHash + ) + end + + # The reason the address is invalid. + sig do + returns( + Increase::Entity::Validation::Issue::EntityAddress::Reason::TaggedSymbol + ) + end + attr_accessor :reason + + # Details when the issue is with the entity's address. + sig do + params( + reason: + Increase::Entity::Validation::Issue::EntityAddress::Reason::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The reason the address is invalid. + reason: + ) + end + + sig do + override.returns( + { + reason: + Increase::Entity::Validation::Issue::EntityAddress::Reason::TaggedSymbol + } + ) + end + def to_hash + end + + # The reason the address is invalid. + module Reason + extend Increase::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Increase::Entity::Validation::Issue::EntityAddress::Reason + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + # The address is a mailbox or other non-physical address. + MAILBOX_ADDRESS = + T.let( + :mailbox_address, + Increase::Entity::Validation::Issue::EntityAddress::Reason::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Increase::Entity::Validation::Issue::EntityAddress::Reason::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class EntityTaxIdentifier < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::Entity::Validation::Issue::EntityTaxIdentifier, + Increase::Internal::AnyHash + ) + end + + # Details when the issue is with the entity's tax ID. + sig { returns(T.attached_class) } + def self.new + end + + sig { override.returns({}) } + def to_hash + end + end + end + + # The validation status for the entity. If the status is `invalid`, the `issues` + # array will be populated. + module Status + extend Increase::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Increase::Entity::Validation::Status) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + # The submitted data is being validated. + PENDING = + T.let(:pending, Increase::Entity::Validation::Status::TaggedSymbol) + + # The submitted data is valid. + VALID = + T.let(:valid, Increase::Entity::Validation::Status::TaggedSymbol) + + # Additional information is required to validate the data. + INVALID = + T.let(:invalid, Increase::Entity::Validation::Status::TaggedSymbol) + + sig do + override.returns( + T::Array[Increase::Entity::Validation::Status::TaggedSymbol] + ) + end + def self.values + end + end + end end end end diff --git a/sig/increase/models/entity.rbs b/sig/increase/models/entity.rbs index 74cb124e..5db60f53 100644 --- a/sig/increase/models/entity.rbs +++ b/sig/increase/models/entity.rbs @@ -18,7 +18,8 @@ module Increase terms_agreements: ::Array[Increase::Entity::TermsAgreement], third_party_verification: Increase::Entity::ThirdPartyVerification?, trust: Increase::Entity::Trust?, - type: Increase::Models::Entity::type_ + type: Increase::Models::Entity::type_, + validation: Increase::Entity::Validation? } class Entity < Increase::Internal::Type::BaseModel @@ -56,6 +57,8 @@ module Increase attr_accessor type: Increase::Models::Entity::type_ + attr_accessor validation: Increase::Entity::Validation? + def initialize: ( id: String, corporation: Increase::Entity::Corporation?, @@ -73,7 +76,8 @@ module Increase terms_agreements: ::Array[Increase::Entity::TermsAgreement], third_party_verification: Increase::Entity::ThirdPartyVerification?, trust: Increase::Entity::Trust?, - type: Increase::Models::Entity::type_ + type: Increase::Models::Entity::type_, + validation: Increase::Entity::Validation? ) -> void def to_hash: -> { @@ -93,7 +97,8 @@ module Increase terms_agreements: ::Array[Increase::Entity::TermsAgreement], third_party_verification: Increase::Entity::ThirdPartyVerification?, trust: Increase::Entity::Trust?, - type: Increase::Models::Entity::type_ + type: Increase::Models::Entity::type_, + validation: Increase::Entity::Validation? } type corporation = @@ -1255,6 +1260,185 @@ module Increase def self?.values: -> ::Array[Increase::Models::Entity::type_] end + + type validation = + { + issues: ::Array[Increase::Entity::Validation::Issue], + status: Increase::Models::Entity::Validation::status + } + + class Validation < Increase::Internal::Type::BaseModel + attr_accessor issues: ::Array[Increase::Entity::Validation::Issue] + + attr_accessor status: Increase::Models::Entity::Validation::status + + def initialize: ( + issues: ::Array[Increase::Entity::Validation::Issue], + status: Increase::Models::Entity::Validation::status + ) -> void + + def to_hash: -> { + issues: ::Array[Increase::Entity::Validation::Issue], + status: Increase::Models::Entity::Validation::status + } + + type issue = + { + beneficial_owner_address: Increase::Entity::Validation::Issue::BeneficialOwnerAddress?, + beneficial_owner_identity: Increase::Entity::Validation::Issue::BeneficialOwnerIdentity?, + category: Increase::Models::Entity::Validation::Issue::category, + entity_address: Increase::Entity::Validation::Issue::EntityAddress?, + entity_tax_identifier: Increase::Entity::Validation::Issue::EntityTaxIdentifier? + } + + class Issue < Increase::Internal::Type::BaseModel + attr_accessor beneficial_owner_address: Increase::Entity::Validation::Issue::BeneficialOwnerAddress? + + attr_accessor beneficial_owner_identity: Increase::Entity::Validation::Issue::BeneficialOwnerIdentity? + + attr_accessor category: Increase::Models::Entity::Validation::Issue::category + + attr_accessor entity_address: Increase::Entity::Validation::Issue::EntityAddress? + + attr_accessor entity_tax_identifier: Increase::Entity::Validation::Issue::EntityTaxIdentifier? + + def initialize: ( + beneficial_owner_address: Increase::Entity::Validation::Issue::BeneficialOwnerAddress?, + beneficial_owner_identity: Increase::Entity::Validation::Issue::BeneficialOwnerIdentity?, + category: Increase::Models::Entity::Validation::Issue::category, + entity_address: Increase::Entity::Validation::Issue::EntityAddress?, + entity_tax_identifier: Increase::Entity::Validation::Issue::EntityTaxIdentifier? + ) -> void + + def to_hash: -> { + beneficial_owner_address: Increase::Entity::Validation::Issue::BeneficialOwnerAddress?, + beneficial_owner_identity: Increase::Entity::Validation::Issue::BeneficialOwnerIdentity?, + category: Increase::Models::Entity::Validation::Issue::category, + entity_address: Increase::Entity::Validation::Issue::EntityAddress?, + entity_tax_identifier: Increase::Entity::Validation::Issue::EntityTaxIdentifier? + } + + type beneficial_owner_address = + { + beneficial_owner_id: String, + reason: Increase::Models::Entity::Validation::Issue::BeneficialOwnerAddress::reason + } + + class BeneficialOwnerAddress < Increase::Internal::Type::BaseModel + attr_accessor beneficial_owner_id: String + + attr_accessor reason: Increase::Models::Entity::Validation::Issue::BeneficialOwnerAddress::reason + + def initialize: ( + beneficial_owner_id: String, + reason: Increase::Models::Entity::Validation::Issue::BeneficialOwnerAddress::reason + ) -> void + + def to_hash: -> { + beneficial_owner_id: String, + reason: Increase::Models::Entity::Validation::Issue::BeneficialOwnerAddress::reason + } + + type reason = :mailbox_address + + module Reason + extend Increase::Internal::Type::Enum + + # The address is a mailbox or other non-physical address. + MAILBOX_ADDRESS: :mailbox_address + + def self?.values: -> ::Array[Increase::Models::Entity::Validation::Issue::BeneficialOwnerAddress::reason] + end + end + + type beneficial_owner_identity = { beneficial_owner_id: String } + + class BeneficialOwnerIdentity < Increase::Internal::Type::BaseModel + attr_accessor beneficial_owner_id: String + + def initialize: (beneficial_owner_id: String) -> void + + def to_hash: -> { beneficial_owner_id: String } + end + + type category = + :entity_tax_identifier + | :entity_address + | :beneficial_owner_identity + | :beneficial_owner_address + + module Category + extend Increase::Internal::Type::Enum + + # The entity's tax identifier could not be validated. Update the tax ID with the [update an entity API](/documentation/api/entities#update-an-entity.corporation.tax_identifier). + ENTITY_TAX_IDENTIFIER: :entity_tax_identifier + + # The entity's address could not be validated. Update the address with the [update an entity API](/documentation/api/entities#update-an-entity.corporation.address). + ENTITY_ADDRESS: :entity_address + + # A beneficial owner's identity could not be verified. Update the identification with the [update a beneficial owner API](/documentation/api/beneficial-owners#update-a-beneficial-owner). + BENEFICIAL_OWNER_IDENTITY: :beneficial_owner_identity + + # A beneficial owner's address could not be validated. Update the address with the [update a beneficial owner API](/documentation/api/beneficial-owners#update-a-beneficial-owner). + BENEFICIAL_OWNER_ADDRESS: :beneficial_owner_address + + def self?.values: -> ::Array[Increase::Models::Entity::Validation::Issue::category] + end + + type entity_address = + { + reason: Increase::Models::Entity::Validation::Issue::EntityAddress::reason + } + + class EntityAddress < Increase::Internal::Type::BaseModel + attr_accessor reason: Increase::Models::Entity::Validation::Issue::EntityAddress::reason + + def initialize: ( + reason: Increase::Models::Entity::Validation::Issue::EntityAddress::reason + ) -> void + + def to_hash: -> { + reason: Increase::Models::Entity::Validation::Issue::EntityAddress::reason + } + + type reason = :mailbox_address + + module Reason + extend Increase::Internal::Type::Enum + + # The address is a mailbox or other non-physical address. + MAILBOX_ADDRESS: :mailbox_address + + def self?.values: -> ::Array[Increase::Models::Entity::Validation::Issue::EntityAddress::reason] + end + end + + type entity_tax_identifier = { } + + class EntityTaxIdentifier < Increase::Internal::Type::BaseModel + def initialize: -> void + + def to_hash: -> { } + end + end + + type status = :pending | :valid | :invalid + + module Status + extend Increase::Internal::Type::Enum + + # The submitted data is being validated. + PENDING: :pending + + # The submitted data is valid. + VALID: :valid + + # Additional information is required to validate the data. + INVALID: :invalid + + def self?.values: -> ::Array[Increase::Models::Entity::Validation::status] + end + end end end end diff --git a/test/increase/resources/entities_test.rb b/test/increase/resources/entities_test.rb index 527db9c1..ae3475ae 100644 --- a/test/increase/resources/entities_test.rb +++ b/test/increase/resources/entities_test.rb @@ -28,7 +28,8 @@ def test_create_required_params terms_agreements: ^(Increase::Internal::Type::ArrayOf[Increase::Entity::TermsAgreement]), third_party_verification: Increase::Entity::ThirdPartyVerification | nil, trust: Increase::Entity::Trust | nil, - type: Increase::Entity::Type + type: Increase::Entity::Type, + validation: Increase::Entity::Validation | nil } end end @@ -58,7 +59,8 @@ def test_retrieve terms_agreements: ^(Increase::Internal::Type::ArrayOf[Increase::Entity::TermsAgreement]), third_party_verification: Increase::Entity::ThirdPartyVerification | nil, trust: Increase::Entity::Trust | nil, - type: Increase::Entity::Type + type: Increase::Entity::Type, + validation: Increase::Entity::Validation | nil } end end @@ -88,7 +90,8 @@ def test_update terms_agreements: ^(Increase::Internal::Type::ArrayOf[Increase::Entity::TermsAgreement]), third_party_verification: Increase::Entity::ThirdPartyVerification | nil, trust: Increase::Entity::Trust | nil, - type: Increase::Entity::Type + type: Increase::Entity::Type, + validation: Increase::Entity::Validation | nil } end end @@ -125,7 +128,8 @@ def test_list terms_agreements: ^(Increase::Internal::Type::ArrayOf[Increase::Entity::TermsAgreement]), third_party_verification: Increase::Entity::ThirdPartyVerification | nil, trust: Increase::Entity::Trust | nil, - type: Increase::Entity::Type + type: Increase::Entity::Type, + validation: Increase::Entity::Validation | nil } end end @@ -155,7 +159,8 @@ def test_archive terms_agreements: ^(Increase::Internal::Type::ArrayOf[Increase::Entity::TermsAgreement]), third_party_verification: Increase::Entity::ThirdPartyVerification | nil, trust: Increase::Entity::Trust | nil, - type: Increase::Entity::Type + type: Increase::Entity::Type, + validation: Increase::Entity::Validation | nil } end end From 53852fb988501d1cea38497391df25a32214e16b Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 13 Mar 2026 23:13:24 +0000 Subject: [PATCH 3/3] release: 1.255.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 8 ++++++++ Gemfile.lock | 2 +- README.md | 2 +- lib/increase/version.rb | 2 +- 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 94694e19..7d24024c 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.254.0" + ".": "1.255.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index e0e1643e..df9e8206 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 1.255.0 (2026-03-13) + +Full Changelog: [v1.254.0...v1.255.0](https://github.com/Increase/increase-ruby/compare/v1.254.0...v1.255.0) + +### Features + +* **api:** api update ([fb7738c](https://github.com/Increase/increase-ruby/commit/fb7738cf952c59634ae2c60442d3b0060d8c23b8)) + ## 1.254.0 (2026-03-13) Full Changelog: [v1.253.0...v1.254.0](https://github.com/Increase/increase-ruby/compare/v1.253.0...v1.254.0) diff --git a/Gemfile.lock b/Gemfile.lock index 1b935ea4..9434193d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - increase (1.254.0) + increase (1.255.0) cgi connection_pool standardwebhooks diff --git a/README.md b/README.md index 098d191c..dd982367 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "increase", "~> 1.254.0" +gem "increase", "~> 1.255.0" ``` diff --git a/lib/increase/version.rb b/lib/increase/version.rb index 96f026a4..283e2a2f 100644 --- a/lib/increase/version.rb +++ b/lib/increase/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Increase - VERSION = "1.254.0" + VERSION = "1.255.0" end