-
Notifications
You must be signed in to change notification settings - Fork 4
/
document.py
99 lines (79 loc) · 2.88 KB
/
document.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from typing import List
from datetime import datetime
from typing_extensions import Literal
from ..._models import BaseModel
__all__ = ["Document", "RequiredDocumentUpload"]
class RequiredDocumentUpload(BaseModel):
token: str
"""Globally unique identifier for the document upload."""
accepted_entity_status_reasons: List[str]
"""
A list of status reasons associated with a KYB account holder that have been
satisfied by the document upload
"""
created: datetime
"""When the document upload was created"""
image_type: Literal["FRONT", "BACK"]
"""Type of image to upload."""
rejected_entity_status_reasons: List[str]
"""
A list of status reasons associated with a KYB account holder that have not been
satisfied by the document upload
"""
status: Literal["ACCEPTED", "REJECTED", "PENDING_UPLOAD", "UPLOADED", "PARTIAL_APPROVAL"]
"""Status of an account holder's document upload."""
status_reasons: List[
Literal[
"DOCUMENT_MISSING_REQUIRED_DATA",
"DOCUMENT_UPLOAD_TOO_BLURRY",
"FILE_SIZE_TOO_LARGE",
"INVALID_DOCUMENT_TYPE",
"INVALID_DOCUMENT_UPLOAD",
"INVALID_ENTITY",
"DOCUMENT_EXPIRED",
"DOCUMENT_ISSUED_GREATER_THAN_30_DAYS",
"DOCUMENT_TYPE_NOT_SUPPORTED",
"UNKNOWN_FAILURE_REASON",
"UNKNOWN_ERROR",
]
]
"""Reasons for document image upload status."""
updated: datetime
"""When the document upload was last updated"""
upload_url: str
"""URL to upload document image to.
Note that the upload URLs expire after 7 days. If an upload URL expires, you can
refresh the URLs by retrieving the document upload from
`GET /account_holders/{account_holder_token}/documents`.
"""
class Document(BaseModel):
token: str
"""Globally unique identifier for the document."""
account_holder_token: str
"""Globally unique identifier for the account holder."""
document_type: Literal[
"DRIVERS_LICENSE",
"PASSPORT",
"PASSPORT_CARD",
"EIN_LETTER",
"TAX_RETURN",
"OPERATING_AGREEMENT",
"CERTIFICATE_OF_FORMATION",
"CERTIFICATE_OF_GOOD_STANDING",
"ARTICLES_OF_INCORPORATION",
"ARTICLES_OF_ORGANIZATION",
"BYLAWS",
"GOVERNMENT_BUSINESS_LICENSE",
"PARTNERSHIP_AGREEMENT",
"SS4_FORM",
"BANK_STATEMENT",
"UTILITY_BILL_STATEMENT",
"SSN_CARD",
"ITIN_LETTER",
]
"""Type of documentation to be submitted for verification of an account holder"""
entity_token: str
"""Globally unique identifier for an entity."""
required_document_uploads: List[RequiredDocumentUpload]
"""Represents a single image of the document to upload."""