"""
KYC endpoints for the OpenBankProject API Client.
"""
from typing import Dict, List, Optional, Union, Any
[docs]
class KycEndpoints:
"""KYC-related API endpoints."""
[docs]
def __init__(self, client):
"""
Initialize the endpoint group.
Args:
client: OpenBankProjectClient instance
"""
self.client = client
[docs]
def add_kyc_check(self, bank_id: str, customer_id: str, data: Dict) -> Dict:
"""
Add KYC Check.
Args:
bank_id: Bank identifier
customer_id: Customer identifier
data: KYC check data
Returns:
Dict containing created KYC check information
"""
return self.client.post(f"banks/{bank_id}/customers/{customer_id}/kyc_check", data=data)
[docs]
def add_kyc_document(self, bank_id: str, customer_id: str, data: Dict) -> Dict:
"""
Add KYC Document.
Args:
bank_id: Bank identifier
customer_id: Customer identifier
data: KYC document data
Returns:
Dict containing created KYC document information
"""
return self.client.post(f"banks/{bank_id}/customers/{customer_id}/kyc_documents", data=data)
[docs]
def add_kyc_status(self, bank_id: str, customer_id: str, data: Dict) -> Dict:
"""
Add KYC Status.
Args:
bank_id: Bank identifier
customer_id: Customer identifier
data: KYC status data
Returns:
Dict containing created KYC status information
"""
return self.client.post(f"banks/{bank_id}/customers/{customer_id}/kyc_statuses", data=data)
[docs]
def get_customer_kyc_checks(self, bank_id: str, customer_id: str) -> Dict:
"""
Get Customer KYC Checks.
Args:
bank_id: Bank identifier
customer_id: Customer identifier
Returns:
Dict containing KYC checks information
"""
return self.client.get(f"banks/{bank_id}/customers/{customer_id}/kyc_checks")
[docs]
def get_customer_kyc_documents(self, bank_id: str, customer_id: str) -> Dict:
"""
Get Customer KYC Documents.
Args:
bank_id: Bank identifier
customer_id: Customer identifier
Returns:
Dict containing KYC documents information
"""
return self.client.get(f"banks/{bank_id}/customers/{customer_id}/kyc_documents")
[docs]
def get_customer_kyc_statuses(self, bank_id: str, customer_id: str) -> Dict:
"""
Get Customer KYC statuses.
Args:
bank_id: Bank identifier
customer_id: Customer identifier
Returns:
Dict containing KYC statuses information
"""
return self.client.get(f"banks/{bank_id}/customers/{customer_id}/kyc_statuses")