Skip to content

Commit 413bb22

Browse files
stainless-app[bot]stainless-bot
authored andcommitted
feat: generate more types that are used as request bodies (#649)
1 parent a0d1250 commit 413bb22

File tree

4 files changed

+345
-0
lines changed

4 files changed

+345
-0
lines changed

src/lithic/types/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
from .balance import Balance as Balance
2121
from .dispute import Dispute as Dispute
2222
from .payment import Payment as Payment
23+
from .kyb_param import KYBParam as KYBParam
24+
from .kyc_param import KYCParam as KYCParam
2325
from .api_status import APIStatus as APIStatus
2426
from .owner_type import OwnerType as OwnerType
2527
from .transaction import Transaction as Transaction
@@ -31,6 +33,7 @@
3133
from .digital_card_art import DigitalCardArt as DigitalCardArt
3234
from .dispute_evidence import DisputeEvidence as DisputeEvidence
3335
from .external_payment import ExternalPayment as ExternalPayment
36+
from .kyc_exempt_param import KYCExemptParam as KYCExemptParam
3437
from .aggregate_balance import AggregateBalance as AggregateBalance
3538
from .card_embed_params import CardEmbedParams as CardEmbedParams
3639
from .card_renew_params import CardRenewParams as CardRenewParams

src/lithic/types/kyb_param.py

Lines changed: 219 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,219 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing import List, Iterable
6+
from typing_extensions import Literal, Required, TypedDict
7+
8+
from .shared_params.address import Address
9+
10+
__all__ = ["KYBParam", "BeneficialOwnerEntity", "BeneficialOwnerIndividual", "BusinessEntity", "ControlPerson"]
11+
12+
13+
class BeneficialOwnerEntity(TypedDict, total=False):
14+
address: Required[Address]
15+
"""
16+
Business's physical address - PO boxes, UPS drops, and FedEx drops are not
17+
acceptable; APO/FPO are acceptable.
18+
"""
19+
20+
government_id: Required[str]
21+
"""Government-issued identification number.
22+
23+
US Federal Employer Identification Numbers (EIN) are currently supported,
24+
entered as full nine-digits, with or without hyphens.
25+
"""
26+
27+
legal_business_name: Required[str]
28+
"""Legal (formal) business name."""
29+
30+
phone_numbers: Required[List[str]]
31+
"""
32+
One or more of the business's phone number(s), entered as a list in E.164
33+
format.
34+
"""
35+
36+
dba_business_name: str
37+
"""
38+
Any name that the business operates under that is not its legal business name
39+
(if applicable).
40+
"""
41+
42+
parent_company: str
43+
"""Parent company name (if applicable)."""
44+
45+
46+
class BeneficialOwnerIndividual(TypedDict, total=False):
47+
address: Required[Address]
48+
"""
49+
Individual's current address - PO boxes, UPS drops, and FedEx drops are not
50+
acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
51+
"""
52+
53+
dob: Required[str]
54+
"""Individual's date of birth, as an RFC 3339 date."""
55+
56+
email: Required[str]
57+
"""
58+
Individual's email address. If utilizing Lithic for chargeback processing, this
59+
customer email address may be used to communicate dispute status and resolution.
60+
"""
61+
62+
first_name: Required[str]
63+
"""Individual's first name, as it appears on government-issued identity documents."""
64+
65+
government_id: Required[str]
66+
"""
67+
Government-issued identification number (required for identity verification and
68+
compliance with banking regulations). Social Security Numbers (SSN) and
69+
Individual Taxpayer Identification Numbers (ITIN) are currently supported,
70+
entered as full nine-digits, with or without hyphens
71+
"""
72+
73+
last_name: Required[str]
74+
"""Individual's last name, as it appears on government-issued identity documents."""
75+
76+
phone_number: str
77+
"""Individual's phone number, entered in E.164 format."""
78+
79+
80+
class BusinessEntity(TypedDict, total=False):
81+
address: Required[Address]
82+
"""
83+
Business's physical address - PO boxes, UPS drops, and FedEx drops are not
84+
acceptable; APO/FPO are acceptable.
85+
"""
86+
87+
government_id: Required[str]
88+
"""Government-issued identification number.
89+
90+
US Federal Employer Identification Numbers (EIN) are currently supported,
91+
entered as full nine-digits, with or without hyphens.
92+
"""
93+
94+
legal_business_name: Required[str]
95+
"""Legal (formal) business name."""
96+
97+
phone_numbers: Required[List[str]]
98+
"""
99+
One or more of the business's phone number(s), entered as a list in E.164
100+
format.
101+
"""
102+
103+
dba_business_name: str
104+
"""
105+
Any name that the business operates under that is not its legal business name
106+
(if applicable).
107+
"""
108+
109+
parent_company: str
110+
"""Parent company name (if applicable)."""
111+
112+
113+
class ControlPerson(TypedDict, total=False):
114+
address: Required[Address]
115+
"""
116+
Individual's current address - PO boxes, UPS drops, and FedEx drops are not
117+
acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
118+
"""
119+
120+
dob: Required[str]
121+
"""Individual's date of birth, as an RFC 3339 date."""
122+
123+
email: Required[str]
124+
"""
125+
Individual's email address. If utilizing Lithic for chargeback processing, this
126+
customer email address may be used to communicate dispute status and resolution.
127+
"""
128+
129+
first_name: Required[str]
130+
"""Individual's first name, as it appears on government-issued identity documents."""
131+
132+
government_id: Required[str]
133+
"""
134+
Government-issued identification number (required for identity verification and
135+
compliance with banking regulations). Social Security Numbers (SSN) and
136+
Individual Taxpayer Identification Numbers (ITIN) are currently supported,
137+
entered as full nine-digits, with or without hyphens
138+
"""
139+
140+
last_name: Required[str]
141+
"""Individual's last name, as it appears on government-issued identity documents."""
142+
143+
phone_number: str
144+
"""Individual's phone number, entered in E.164 format."""
145+
146+
147+
class KYBParam(TypedDict, total=False):
148+
beneficial_owner_entities: Required[Iterable[BeneficialOwnerEntity]]
149+
"""List of all entities with >25% ownership in the company.
150+
151+
If no entity or individual owns >25% of the company, and the largest shareholder
152+
is an entity, please identify them in this field. See
153+
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
154+
(Section I) for more background. If no business owner is an entity, pass in an
155+
empty list. However, either this parameter or `beneficial_owner_individuals`
156+
must be populated. on entities that should be included.
157+
"""
158+
159+
beneficial_owner_individuals: Required[Iterable[BeneficialOwnerIndividual]]
160+
"""List of all direct and indirect individuals with >25% ownership in the company.
161+
162+
If no entity or individual owns >25% of the company, and the largest shareholder
163+
is an individual, please identify them in this field. See
164+
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
165+
(Section I) for more background on individuals that should be included. If no
166+
individual is an entity, pass in an empty list. However, either this parameter
167+
or `beneficial_owner_entities` must be populated.
168+
"""
169+
170+
business_entity: Required[BusinessEntity]
171+
"""
172+
Information for business for which the account is being opened and KYB is being
173+
run.
174+
"""
175+
176+
control_person: Required[ControlPerson]
177+
"""
178+
An individual with significant responsibility for managing the legal entity
179+
(e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating
180+
Officer, Managing Member, General Partner, President, Vice President, or
181+
Treasurer). This can be an executive, or someone who will have program-wide
182+
access to the cards that Lithic will provide. In some cases, this individual
183+
could also be a beneficial owner listed above. See
184+
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
185+
(Section II) for more background.
186+
"""
187+
188+
nature_of_business: Required[str]
189+
"""
190+
Short description of the company's line of business (i.e., what does the company
191+
do?).
192+
"""
193+
194+
tos_timestamp: Required[str]
195+
"""
196+
An RFC 3339 timestamp indicating when the account holder accepted the applicable
197+
legal agreements (e.g., cardholder terms) as agreed upon during API customer's
198+
implementation with Lithic.
199+
"""
200+
201+
workflow: Required[Literal["KYB_BASIC", "KYB_BYO"]]
202+
"""Specifies the type of KYB workflow to run."""
203+
204+
external_id: str
205+
"""
206+
A user provided id that can be used to link an account holder with an external
207+
system
208+
"""
209+
210+
kyb_passed_timestamp: str
211+
"""
212+
An RFC 3339 timestamp indicating when precomputed KYC was completed on the
213+
business with a pass result.
214+
215+
This field is required only if workflow type is `KYB_BYO`.
216+
"""
217+
218+
website_url: str
219+
"""Company website URL."""
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing_extensions import Literal, Required, TypedDict
6+
7+
from .shared_params.address import Address
8+
9+
__all__ = ["KYCExemptParam"]
10+
11+
12+
class KYCExemptParam(TypedDict, total=False):
13+
address: Required[Address]
14+
"""
15+
KYC Exempt user's current address - PO boxes, UPS drops, and FedEx drops are not
16+
acceptable; APO/FPO are acceptable.
17+
"""
18+
19+
email: Required[str]
20+
"""The KYC Exempt user's email"""
21+
22+
first_name: Required[str]
23+
"""The KYC Exempt user's first name"""
24+
25+
kyc_exemption_type: Required[Literal["AUTHORIZED_USER", "PREPAID_CARD_USER"]]
26+
"""Specifies the type of KYC Exempt user"""
27+
28+
last_name: Required[str]
29+
"""The KYC Exempt user's last name"""
30+
31+
phone_number: Required[str]
32+
"""The KYC Exempt user's phone number"""
33+
34+
workflow: Required[Literal["KYC_EXEMPT"]]
35+
"""Specifies the workflow type. This must be 'KYC_EXEMPT'"""
36+
37+
business_account_token: str
38+
"""
39+
Only applicable for customers using the KYC-Exempt workflow to enroll authorized
40+
users of businesses. Pass the account_token of the enrolled business associated
41+
with the AUTHORIZED_USER in this field.
42+
"""
43+
44+
external_id: str
45+
"""
46+
A user provided id that can be used to link an account holder with an external
47+
system
48+
"""

src/lithic/types/kyc_param.py

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing_extensions import Literal, Required, TypedDict
6+
7+
from .shared_params.address import Address
8+
9+
__all__ = ["KYCParam", "Individual"]
10+
11+
12+
class Individual(TypedDict, total=False):
13+
address: Required[Address]
14+
"""
15+
Individual's current address - PO boxes, UPS drops, and FedEx drops are not
16+
acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
17+
"""
18+
19+
dob: Required[str]
20+
"""Individual's date of birth, as an RFC 3339 date."""
21+
22+
email: Required[str]
23+
"""
24+
Individual's email address. If utilizing Lithic for chargeback processing, this
25+
customer email address may be used to communicate dispute status and resolution.
26+
"""
27+
28+
first_name: Required[str]
29+
"""Individual's first name, as it appears on government-issued identity documents."""
30+
31+
government_id: Required[str]
32+
"""
33+
Government-issued identification number (required for identity verification and
34+
compliance with banking regulations). Social Security Numbers (SSN) and
35+
Individual Taxpayer Identification Numbers (ITIN) are currently supported,
36+
entered as full nine-digits, with or without hyphens
37+
"""
38+
39+
last_name: Required[str]
40+
"""Individual's last name, as it appears on government-issued identity documents."""
41+
42+
phone_number: Required[str]
43+
"""Individual's phone number, entered in E.164 format."""
44+
45+
46+
class KYCParam(TypedDict, total=False):
47+
individual: Required[Individual]
48+
"""
49+
Information on individual for whom the account is being opened and KYC is being
50+
run.
51+
"""
52+
53+
tos_timestamp: Required[str]
54+
"""
55+
An RFC 3339 timestamp indicating when the account holder accepted the applicable
56+
legal agreements (e.g., cardholder terms) as agreed upon during API customer's
57+
implementation with Lithic.
58+
"""
59+
60+
workflow: Required[Literal["KYC_ADVANCED", "KYC_BASIC", "KYC_BYO"]]
61+
"""Specifies the type of KYC workflow to run."""
62+
63+
external_id: str
64+
"""
65+
A user provided id that can be used to link an account holder with an external
66+
system
67+
"""
68+
69+
kyc_passed_timestamp: str
70+
"""
71+
An RFC 3339 timestamp indicating when precomputed KYC was completed on the
72+
individual with a pass result.
73+
74+
This field is required only if workflow type is `KYC_BYO`.
75+
"""

0 commit comments

Comments
 (0)