Skip to content

Commit aaa00e0

Browse files
feat(api): introduce TransactionSeries and update ShippingMethod fields (#589)
- Add new `transaction_series` schema and fields for Transaction events - Add `expected_release_date` property to Payments - Deprecate various business entity fields and improve documentation - Add new `LOSS_WRITE_OFF` transaction type
1 parent 7cd7c0b commit aaa00e0

17 files changed

Lines changed: 594 additions & 99 deletions

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 157
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-179992b114ffada2cdd2d9d56a8a25e0683bec2297606d32d0f0006b9eb9f21d.yml
3-
openapi_spec_hash: a111418d378ea248892306c81b00f8c8
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-18973e063e9e9233433290bb4d641df8e17e1f21f5b1ec57e00182f0a48dbdec.yml
3+
openapi_spec_hash: ab503dc3772f962b603ade7b91b8534c
44
config_hash: 6729d695e399d14fff4891b6b82ec86c

lithic-java-core/src/main/kotlin/com/lithic/api/models/AccountHolder.kt

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -150,17 +150,21 @@ private constructor(
150150
fun accountToken(): Optional<String> = accountToken.getOptional("account_token")
151151

152152
/**
153-
* Deprecated. Only present when user_type == "BUSINESS".
153+
* Deprecated.
154154
*
155155
* @throws LithicInvalidDataException if the JSON field has an unexpected type (e.g. if the
156156
* server responded with an unexpected value).
157157
*/
158+
@Deprecated("deprecated")
158159
fun beneficialOwnerEntities(): Optional<List<AccountHolderBusinessResponse>> =
159160
beneficialOwnerEntities.getOptional("beneficial_owner_entities")
160161

161162
/**
162-
* Only present when user_type == "BUSINESS". List of all individuals with >25% ownership in the
163-
* company.
163+
* Only present when user_type == "BUSINESS". List of all direct and indirect individuals with
164+
* 25% or more ownership in the company. If no individual owns 25% of the company, please
165+
* identify the largest shareholder in this field. See
166+
* [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
167+
* (Section I) for more background on individuals that should be included.
164168
*
165169
* @throws LithicInvalidDataException if the JSON field has an unexpected type (e.g. if the
166170
* server responded with an unexpected value).
@@ -292,8 +296,8 @@ private constructor(
292296
/**
293297
* The type of Account Holder. If the type is "INDIVIDUAL", the "individual" attribute will be
294298
* present. If the type is "BUSINESS" then the "business_entity", "control_person",
295-
* "beneficial_owner_individuals", "beneficial_owner_entities", "nature_of_business", and
296-
* "website_url" attributes will be present.
299+
* "beneficial_owner_individuals", "nature_of_business", and "website_url" attributes will be
300+
* present.
297301
*
298302
* @throws LithicInvalidDataException if the JSON field has an unexpected type (e.g. if the
299303
* server responded with an unexpected value).
@@ -346,6 +350,7 @@ private constructor(
346350
* Unlike [beneficialOwnerEntities], this method doesn't throw if the JSON field has an
347351
* unexpected type.
348352
*/
353+
@Deprecated("deprecated")
349354
@JsonProperty("beneficial_owner_entities")
350355
@ExcludeMissing
351356
fun _beneficialOwnerEntities(): JsonField<List<AccountHolderBusinessResponse>> =
@@ -612,7 +617,8 @@ private constructor(
612617
this.accountToken = accountToken
613618
}
614619

615-
/** Deprecated. Only present when user_type == "BUSINESS". */
620+
/** Deprecated. */
621+
@Deprecated("deprecated")
616622
fun beneficialOwnerEntities(beneficialOwnerEntities: List<AccountHolderBusinessResponse>) =
617623
beneficialOwnerEntities(JsonField.of(beneficialOwnerEntities))
618624

@@ -623,6 +629,7 @@ private constructor(
623629
* `List<AccountHolderBusinessResponse>` value instead. This method is primarily for setting
624630
* the field to an undocumented or not yet supported value.
625631
*/
632+
@Deprecated("deprecated")
626633
fun beneficialOwnerEntities(
627634
beneficialOwnerEntities: JsonField<List<AccountHolderBusinessResponse>>
628635
) = apply {
@@ -634,6 +641,7 @@ private constructor(
634641
*
635642
* @throws IllegalStateException if the field was previously set to a non-list.
636643
*/
644+
@Deprecated("deprecated")
637645
fun addBeneficialOwnerEntity(beneficialOwnerEntity: AccountHolderBusinessResponse) = apply {
638646
beneficialOwnerEntities =
639647
(beneficialOwnerEntities ?: JsonField.of(mutableListOf())).also {
@@ -642,8 +650,11 @@ private constructor(
642650
}
643651

644652
/**
645-
* Only present when user_type == "BUSINESS". List of all individuals with >25% ownership in
646-
* the company.
653+
* Only present when user_type == "BUSINESS". List of all direct and indirect individuals
654+
* with 25% or more ownership in the company. If no individual owns 25% of the company,
655+
* please identify the largest shareholder in this field. See
656+
* [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
657+
* (Section I) for more background on individuals that should be included.
647658
*/
648659
fun beneficialOwnerIndividuals(
649660
beneficialOwnerIndividuals: List<AccountHolderIndividualResponse>
@@ -911,8 +922,8 @@ private constructor(
911922
/**
912923
* The type of Account Holder. If the type is "INDIVIDUAL", the "individual" attribute will
913924
* be present. If the type is "BUSINESS" then the "business_entity", "control_person",
914-
* "beneficial_owner_individuals", "beneficial_owner_entities", "nature_of_business", and
915-
* "website_url" attributes will be present.
925+
* "beneficial_owner_individuals", "nature_of_business", and "website_url" attributes will
926+
* be present.
916927
*/
917928
fun userType(userType: UserType) = userType(JsonField.of(userType))
918929

@@ -2396,8 +2407,8 @@ private constructor(
23962407
/**
23972408
* The type of Account Holder. If the type is "INDIVIDUAL", the "individual" attribute will be
23982409
* present. If the type is "BUSINESS" then the "business_entity", "control_person",
2399-
* "beneficial_owner_individuals", "beneficial_owner_entities", "nature_of_business", and
2400-
* "website_url" attributes will be present.
2410+
* "beneficial_owner_individuals", "nature_of_business", and "website_url" attributes will be
2411+
* present.
24012412
*/
24022413
class UserType @JsonCreator private constructor(private val value: JsonField<String>) : Enum {
24032414

lithic-java-core/src/main/kotlin/com/lithic/api/models/AccountHolderSimulateEnrollmentReviewResponse.kt

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,7 @@ private constructor(
141141
fun accountToken(): Optional<String> = accountToken.getOptional("account_token")
142142

143143
/**
144-
* Only present when user_type == "BUSINESS". List of all entities with >25% ownership in the
145-
* company.
144+
* Deprecated.
146145
*
147146
* @throws LithicInvalidDataException if the JSON field has an unexpected type (e.g. if the
148147
* server responded with an unexpected value).
@@ -151,8 +150,11 @@ private constructor(
151150
beneficialOwnerEntities.getOptional("beneficial_owner_entities")
152151

153152
/**
154-
* Only present when user_type == "BUSINESS". List of all individuals with >25% ownership in the
155-
* company.
153+
* Only present when user_type == "BUSINESS". List of all direct and indirect individuals with
154+
* 25% or more ownership in the company. If no individual owns 25% of the company, please
155+
* identify the largest shareholder in this field. See
156+
* [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
157+
* (Section I) for more background on individuals that should be included.
156158
*
157159
* @throws LithicInvalidDataException if the JSON field has an unexpected type (e.g. if the
158160
* server responded with an unexpected value).
@@ -297,9 +299,8 @@ private constructor(
297299
* present.
298300
*
299301
* If the type is "BUSINESS" then the "business_entity", "control_person",
300-
* "beneficial_owner_individuals", "beneficial_owner_entities",
301-
*
302-
* "nature_of_business", and "website_url" attributes will be present.
302+
* "beneficial_owner_individuals", "nature_of_business", and "website_url" attributes will be
303+
* present.
303304
*
304305
* @throws LithicInvalidDataException if the JSON field has an unexpected type (e.g. if the
305306
* server responded with an unexpected value).
@@ -609,10 +610,7 @@ private constructor(
609610
this.accountToken = accountToken
610611
}
611612

612-
/**
613-
* Only present when user_type == "BUSINESS". List of all entities with >25% ownership in
614-
* the company.
615-
*/
613+
/** Deprecated. */
616614
fun beneficialOwnerEntities(beneficialOwnerEntities: List<KybBusinessEntity>) =
617615
beneficialOwnerEntities(JsonField.of(beneficialOwnerEntities))
618616

@@ -641,8 +639,11 @@ private constructor(
641639
}
642640

643641
/**
644-
* Only present when user_type == "BUSINESS". List of all individuals with >25% ownership in
645-
* the company.
642+
* Only present when user_type == "BUSINESS". List of all direct and indirect individuals
643+
* with 25% or more ownership in the company. If no individual owns 25% of the company,
644+
* please identify the largest shareholder in this field. See
645+
* [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
646+
* (Section I) for more background on individuals that should be included.
646647
*/
647648
fun beneficialOwnerIndividuals(beneficialOwnerIndividuals: List<Individual>) =
648649
beneficialOwnerIndividuals(JsonField.of(beneficialOwnerIndividuals))
@@ -924,9 +925,8 @@ private constructor(
924925
* be present.
925926
*
926927
* If the type is "BUSINESS" then the "business_entity", "control_person",
927-
* "beneficial_owner_individuals", "beneficial_owner_entities",
928-
*
929-
* "nature_of_business", and "website_url" attributes will be present.
928+
* "beneficial_owner_individuals", "nature_of_business", and "website_url" attributes will
929+
* be present.
930930
*/
931931
fun userType(userType: UserType) = userType(JsonField.of(userType))
932932

@@ -2447,9 +2447,8 @@ private constructor(
24472447
* present.
24482448
*
24492449
* If the type is "BUSINESS" then the "business_entity", "control_person",
2450-
* "beneficial_owner_individuals", "beneficial_owner_entities",
2451-
*
2452-
* "nature_of_business", and "website_url" attributes will be present.
2450+
* "beneficial_owner_individuals", "nature_of_business", and "website_url" attributes will be
2451+
* present.
24532452
*/
24542453
class UserType @JsonCreator private constructor(private val value: JsonField<String>) : Enum {
24552454

lithic-java-core/src/main/kotlin/com/lithic/api/models/AccountHolderUpdateParams.kt

Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -503,28 +503,21 @@ private constructor(
503503
)
504504

505505
/**
506-
* List of all entities with >25% ownership in the company. If no entity or individual
507-
* owns >25% of the company, and the largest shareholder is an entity, please identify
508-
* them in this field. See
509-
* [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)(Section
510-
* I) for more background. If no business owner is an entity, pass in an empty list.
511-
* However, either this parameter or `beneficial_owner_individuals` must be populated.
512-
* on entities that should be included.
506+
* Deprecated.
513507
*
514508
* @throws LithicInvalidDataException if the JSON field has an unexpected type (e.g. if
515509
* the server responded with an unexpected value).
516510
*/
511+
@Deprecated("deprecated")
517512
fun beneficialOwnerEntities(): Optional<List<KybBusinessEntityPatch>> =
518513
beneficialOwnerEntities.getOptional("beneficial_owner_entities")
519514

520515
/**
521-
* List of all individuals with >25% ownership in the company. If no entity or
522-
* individual owns >25% of the company, and the largest shareholder is an individual,
523-
* please identify them in this field. See
524-
* [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)(Section
525-
* I) for more background on individuals that should be included. If no individual is an
526-
* entity, pass in an empty list. However, either this parameter or
527-
* `beneficial_owner_entities` must be populated.
516+
* List of all direct and indirect individuals with 25% or more ownership in the
517+
* company. If no individual owns 25% of the company, please identify the largest
518+
* shareholder in this field. See
519+
* [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
520+
* (Section I) for more background on individuals that should be included.
528521
*
529522
* @throws LithicInvalidDataException if the JSON field has an unexpected type (e.g. if
530523
* the server responded with an unexpected value).
@@ -589,6 +582,7 @@ private constructor(
589582
* Unlike [beneficialOwnerEntities], this method doesn't throw if the JSON field has an
590583
* unexpected type.
591584
*/
585+
@Deprecated("deprecated")
592586
@JsonProperty("beneficial_owner_entities")
593587
@ExcludeMissing
594588
fun _beneficialOwnerEntities(): JsonField<List<KybBusinessEntityPatch>> =
@@ -702,15 +696,8 @@ private constructor(
702696
additionalProperties = kybPatchRequest.additionalProperties.toMutableMap()
703697
}
704698

705-
/**
706-
* List of all entities with >25% ownership in the company. If no entity or
707-
* individual owns >25% of the company, and the largest shareholder is an entity,
708-
* please identify them in this field. See
709-
* [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)(Section
710-
* I) for more background. If no business owner is an entity, pass in an empty list.
711-
* However, either this parameter or `beneficial_owner_individuals` must be
712-
* populated. on entities that should be included.
713-
*/
699+
/** Deprecated. */
700+
@Deprecated("deprecated")
714701
fun beneficialOwnerEntities(beneficialOwnerEntities: List<KybBusinessEntityPatch>) =
715702
beneficialOwnerEntities(JsonField.of(beneficialOwnerEntities))
716703

@@ -721,6 +708,7 @@ private constructor(
721708
* `List<KybBusinessEntityPatch>` value instead. This method is primarily for
722709
* setting the field to an undocumented or not yet supported value.
723710
*/
711+
@Deprecated("deprecated")
724712
fun beneficialOwnerEntities(
725713
beneficialOwnerEntities: JsonField<List<KybBusinessEntityPatch>>
726714
) = apply {
@@ -733,6 +721,7 @@ private constructor(
733721
*
734722
* @throws IllegalStateException if the field was previously set to a non-list.
735723
*/
724+
@Deprecated("deprecated")
736725
fun addBeneficialOwnerEntity(beneficialOwnerEntity: KybBusinessEntityPatch) =
737726
apply {
738727
beneficialOwnerEntities =
@@ -742,13 +731,11 @@ private constructor(
742731
}
743732

744733
/**
745-
* List of all individuals with >25% ownership in the company. If no entity or
746-
* individual owns >25% of the company, and the largest shareholder is an
747-
* individual, please identify them in this field. See
748-
* [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)(Section
749-
* I) for more background on individuals that should be included. If no individual
750-
* is an entity, pass in an empty list. However, either this parameter or
751-
* `beneficial_owner_entities` must be populated.
734+
* List of all direct and indirect individuals with 25% or more ownership in the
735+
* company. If no individual owns 25% of the company, please identify the largest
736+
* shareholder in this field. See
737+
* [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
738+
* (Section I) for more background on individuals that should be included.
752739
*/
753740
fun beneficialOwnerIndividuals(beneficialOwnerIndividuals: List<IndividualPatch>) =
754741
beneficialOwnerIndividuals(JsonField.of(beneficialOwnerIndividuals))

0 commit comments

Comments
 (0)