# decentro-in-kyc-python-sdk
KYC & Onboarding

This Python package is automatically generated by [Konfig](https://konfigthis.com):

- API version: 1.0.0
- Package version: 3.1.0

## Requirements.

Python >=3.7

## Installation & Usage
### pip install

If the python package is hosted on a repository, you can install directly using:

```sh
pip install decentro-in-kyc-python-sdk==3.1.0
```
(you may need to run `pip` with root permission: `sudo pip install decentro-in-kyc-python-sdk==3.1.0`)

Then import the package:
```python
import decentro_in_kyc_client
```
## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python

import time
import decentro_in_kyc_client
from pprint import pprint
from decentro_in_kyc_client.apis.tags import kyc_api
from decentro_in_kyc_client.models import *
# Defining the host is optional and defaults to https://in.staging.decentro.tech
# See configuration.py for a list of all supported configuration parameters.
configuration = decentro_in_kyc_client.Configuration(
    host = "https://in.staging.decentro.tech"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure API key authorization: client_id
configuration.api_key['client_id'] = 'YOUR_API_KEY'

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['client_id'] = 'Bearer'

# Configure API key authorization: client_secret
configuration.api_key['client_secret'] = 'YOUR_API_KEY'

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['client_secret'] = 'Bearer'

# Configure API key authorization: module_secret
configuration.api_key['module_secret'] = 'YOUR_API_KEY'

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['module_secret'] = 'Bearer'

# Enter a context with an instance of the API client
with decentro_in_kyc_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = kyc_api.KYCApi(api_client)
    body = dict(
        reference_id="ABCDEF12345",
        consent=False,
        consent_purpose="For Testing Purpose Only",
        image=open('/path/to/file', 'rb'),
        quality_parameter="all",
        image_url="image_url_example",
    ) # {str: (bool, date, datetime, dict, float, int, list, str, none_type)} |  (optional)

    try:
        # Image Quality Check
        api_response = api_instance.check_image_quality(body=body)
        pprint(api_response)
    except decentro_in_kyc_client.ApiException as e:
        print("Exception when calling KYCApi->check_image_quality: %s\n" % e)
```

## Documentation for API Endpoints

All URIs are relative to *https://in.staging.decentro.tech*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*KYCApi* | [**check_image_quality**](docs/apis/tags/KYCApi.md#check_image_quality) | **post** /v2/kyc/forensics/image_quality | Image Quality Check
*KYCApi* | [**check_photocopy**](docs/apis/tags/KYCApi.md#check_photocopy) | **post** /v2/kyc/forensics/photocopy_check | Photocopy Check
*KYCApi* | [**check_video_liveness**](docs/apis/tags/KYCApi.md#check_video_liveness) | **post** /v2/kyc/forensics/video_liveness | Liveness Check
*KYCApi* | [**classify_document**](docs/apis/tags/KYCApi.md#classify_document) | **post** /v2/kyc/document_classification | ID Classification
*KYCApi* | [**extract_text**](docs/apis/tags/KYCApi.md#extract_text) | **post** /kyc/scan_extract/ocr | Scan &amp; Extract
*KYCApi* | [**mask_aadhaar_uid**](docs/apis/tags/KYCApi.md#mask_aadhaar_uid) | **post** /v2/kyc/identities/mask_aadhaar_uid | Aadhaar Masking
*KYCApi* | [**match_face**](docs/apis/tags/KYCApi.md#match_face) | **post** /v2/kyc/forensics/face_match | Face Match
*KYCApi* | [**validate**](docs/apis/tags/KYCApi.md#validate) | **post** /kyc/public_registry/validate | Validate

## Documentation For Models

 - [CheckImageQuality400Response](docs/models/CheckImageQuality400Response.md)
 - [CheckImageQualityRequest](docs/models/CheckImageQualityRequest.md)
 - [CheckImageQualityResponse](docs/models/CheckImageQualityResponse.md)
 - [CheckPhotocopy400Response](docs/models/CheckPhotocopy400Response.md)
 - [CheckPhotocopyRequest](docs/models/CheckPhotocopyRequest.md)
 - [CheckPhotocopyResponse](docs/models/CheckPhotocopyResponse.md)
 - [CheckVideoLiveness400Response](docs/models/CheckVideoLiveness400Response.md)
 - [CheckVideoLivenessRequest](docs/models/CheckVideoLivenessRequest.md)
 - [CheckVideoLivenessResponse](docs/models/CheckVideoLivenessResponse.md)
 - [ClassifyDocument400Response](docs/models/ClassifyDocument400Response.md)
 - [ClassifyDocumentResponse](docs/models/ClassifyDocumentResponse.md)
 - [ClassifyIdRequest](docs/models/ClassifyIdRequest.md)
 - [ExtractText400Response](docs/models/ExtractText400Response.md)
 - [ExtractTextRequest](docs/models/ExtractTextRequest.md)
 - [ExtractTextResponse](docs/models/ExtractTextResponse.md)
 - [MaskAadhaarRequest](docs/models/MaskAadhaarRequest.md)
 - [MaskAadhaarResponse](docs/models/MaskAadhaarResponse.md)
 - [MaskAadhaarUidResponse](docs/models/MaskAadhaarUidResponse.md)
 - [MatchFace400Response](docs/models/MatchFace400Response.md)
 - [MatchFaceRequest](docs/models/MatchFaceRequest.md)
 - [MatchFaceResponse](docs/models/MatchFaceResponse.md)
 - [Validate400Response](docs/models/Validate400Response.md)
 - [ValidateRequest](docs/models/ValidateRequest.md)
 - [ValidateResponse](docs/models/ValidateResponse.md)

## Documentation For Authorization


## client_id

- **Type**: API key
- **API key parameter name**: client_id
- **Location**: HTTP header


## client_secret

- **Type**: API key
- **API key parameter name**: client_secret
- **Location**: HTTP header

 Authentication schemes defined for the API:
## module_secret

- **Type**: API key
- **API key parameter name**: module_secret
- **Location**: HTTP header


## Notes for Large OpenAPI documents
If the OpenAPI document is large, imports in decentro_in_kyc_client.apis and decentro_in_kyc_client.models may fail with a
RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions:

Solution 1:
Use specific imports for apis and models like:
- `from decentro_in_kyc_client.apis.default_api import DefaultApi`
- `from decentro_in_kyc_client.model.pet import Pet`

Solution 1:
Before importing the package, adjust the maximum recursion limit as shown below:
```
import sys
sys.setrecursionlimit(1500)
import decentro_in_kyc_client
from decentro_in_kyc_client.apis import *
from decentro_in_kyc_client.models import *
```
