Metadata-Version: 2.4
Name: crypto_service_sdk
Version: 1.0.0
Summary: Crypto Service API
Home-page: 
Author: Your Org Support
Author-email: Your Org Support <support@yourorg.com>
License: MIT
Project-URL: Repository, https://github.com/GIT_USER_ID/GIT_REPO_ID
Keywords: OpenAPI,OpenAPI-Generator,Crypto Service API
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: urllib3<3.0.0,>=2.1.0
Requires-Dist: python-dateutil>=2.8.2
Requires-Dist: pydantic>=2
Requires-Dist: typing-extensions>=4.7.1
Dynamic: author

# crypto-service-sdk
A secure cryptographic service providing encryption, decryption, hashing, and key management operations.

This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1.0
- Package version: 1.0.0
- Generator version: 7.20.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
For more information, please visit [http://yourorg.com/support](http://yourorg.com/support)

## Requirements.

Python 3.9+

## Installation & Usage
### pip install

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

```sh
pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`)

Then import the package:
```python
import crypto_service_sdk
```

### Setuptools

Install via [Setuptools](http://pypi.python.org/pypi/setuptools).

```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)

Then import the package:
```python
import crypto_service_sdk
```

### Tests

Execute `pytest` to run the tests.

## Getting Started

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

```python

import crypto_service_sdk
from crypto_service_sdk.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to http://localhost:8080
# See configuration.py for a list of all supported configuration parameters.
configuration = crypto_service_sdk.Configuration(
    host = "http://localhost:8080"
)

# 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: ApiKeyAuth
configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"]

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

# Configure API key authorization: BearerAuth
configuration.api_key['BearerAuth'] = os.environ["API_KEY"]

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


# Enter a context with an instance of the API client
with crypto_service_sdk.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = crypto_service_sdk.AuditApi(api_client)
    operation = 'operation_example' # str | Filter by operation (e.g. encrypt, decrypt, hash) (optional)
    caller_id = 'caller_id_example' # str | Filter by caller ID (optional)
    limit = 56 # int | Max results (default 50, max 500) (optional)
    offset = 56 # int | Pagination offset (optional)

    try:
        # Query audit logs (admin only)
        api_response = api_instance.query_audit_logs(operation=operation, caller_id=caller_id, limit=limit, offset=offset)
        print("The response of AuditApi->query_audit_logs:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling AuditApi->query_audit_logs: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *http://localhost:8080*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AuditApi* | [**query_audit_logs**](docs/AuditApi.md#query_audit_logs) | **GET** /v1/audit/logs | Query audit logs (admin only)
*AuthApi* | [**issue_token**](docs/AuthApi.md#issue_token) | **POST** /v1/auth/token | Issue a JWT token
*AuthApi* | [**register_api_key**](docs/AuthApi.md#register_api_key) | **POST** /v1/auth/api-keys | Register a new API key (admin only)
*CryptoApi* | [**decrypt**](docs/CryptoApi.md#decrypt) | **POST** /v1/decrypt | Decrypt ciphertext
*CryptoApi* | [**encrypt**](docs/CryptoApi.md#encrypt) | **POST** /v1/encrypt | Encrypt plaintext
*CryptoApi* | [**hash**](docs/CryptoApi.md#hash) | **POST** /v1/hash | Hash data
*HealthApi* | [**get_health**](docs/HealthApi.md#get_health) | **GET** /health | Health check
*KeysApi* | [**generate_key**](docs/KeysApi.md#generate_key) | **POST** /v1/keys | Generate a new encryption key
*KeysApi* | [**list_keys**](docs/KeysApi.md#list_keys) | **GET** /v1/keys | List all keys
*KeysApi* | [**rotate_key**](docs/KeysApi.md#rotate_key) | **POST** /v1/keys/{key_id}/rotate | Rotate an encryption key


## Documentation For Models

 - [ModelsDecryptRequest](docs/ModelsDecryptRequest.md)
 - [ModelsDecryptResponse](docs/ModelsDecryptResponse.md)
 - [ModelsEncryptRequest](docs/ModelsEncryptRequest.md)
 - [ModelsEncryptResponse](docs/ModelsEncryptResponse.md)
 - [ModelsErrorResponse](docs/ModelsErrorResponse.md)
 - [ModelsHashRequest](docs/ModelsHashRequest.md)
 - [ModelsHashResponse](docs/ModelsHashResponse.md)
 - [ModelsHealthResponse](docs/ModelsHealthResponse.md)
 - [ModelsKeyGenerateRequest](docs/ModelsKeyGenerateRequest.md)
 - [ModelsKeyGenerateResponse](docs/ModelsKeyGenerateResponse.md)
 - [ModelsKeyListResponse](docs/ModelsKeyListResponse.md)
 - [ModelsKeyRotateResponse](docs/ModelsKeyRotateResponse.md)
 - [ModelsLogQueryResponse](docs/ModelsLogQueryResponse.md)
 - [ModelsRegisterAPIKeyRequest](docs/ModelsRegisterAPIKeyRequest.md)
 - [ModelsRegisterAPIKeyResponse](docs/ModelsRegisterAPIKeyResponse.md)
 - [ModelsTokenRequest](docs/ModelsTokenRequest.md)
 - [ModelsTokenResponse](docs/ModelsTokenResponse.md)


<a id="documentation-for-authorization"></a>
## Documentation For Authorization


Authentication schemes defined for the API:
<a id="ApiKeyAuth"></a>
### ApiKeyAuth

- **Type**: API key
- **API key parameter name**: X-API-Key
- **Location**: HTTP header

<a id="BearerAuth"></a>
### BearerAuth

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


## Author

support@yourorg.com


