# dmss-api
API for basic data modelling interaction

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

- API version: 0.1.0
- Package version: 0.3.22
- Build package: org.openapitools.codegen.languages.PythonClientCodegen

## Requirements.

Python >= 3.6

## 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 dmss_api
```

### 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 dmss_api
```

## Getting Started

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

```python

import time
import dmss_api
from pprint import pprint
from dmss_api.api import access_control_api
from dmss_api.model.acl import ACL
from dmss_api.model.error_response import ErrorResponse
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = dmss_api.Configuration(
    host = "http://localhost"
)

# 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: APIKeyHeader
configuration.api_key['APIKeyHeader'] = 'YOUR_API_KEY'

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

# Configure OAuth2 access token for authorization: OAuth2AuthorizationCodeBearer
configuration = dmss_api.Configuration(
    host = "http://localhost"
)
configuration.access_token = 'YOUR_ACCESS_TOKEN'


# Enter a context with an instance of the API client
with dmss_api.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = access_control_api.AccessControlApi(api_client)
    data_source_id = "data_source_id_example" # str | 
document_id = "document_id_example" # str | 

    try:
        # Get Acl
        api_response = api_instance.get_acl(data_source_id, document_id)
        pprint(api_response)
    except dmss_api.ApiException as e:
        print("Exception when calling AccessControlApi->get_acl: %s\n" % e)
```

## Documentation for API Endpoints

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

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AccessControlApi* | [**get_acl**](docs/AccessControlApi.md#get_acl) | **GET** /api/v1/acl/{data_source_id}/{document_id} | Get Acl
*AccessControlApi* | [**set_acl**](docs/AccessControlApi.md#set_acl) | **PUT** /api/v1/acl/{data_source_id}/{document_id} | Set Acl
*BlobApi* | [**blob_get_by_id**](docs/BlobApi.md#blob_get_by_id) | **GET** /api/v1/blobs/{data_source_id}/{blob_id} | Get By Id
*BlobApi* | [**blob_upload**](docs/BlobApi.md#blob_upload) | **PUT** /api/v1/blobs/{data_source_id}/{blob_id} | Upload
*BlueprintApi* | [**blueprint_get**](docs/BlueprintApi.md#blueprint_get) | **GET** /api/v1/blueprint/{type_ref} | Get Blueprint
*BlueprintApi* | [**blueprint_resolve**](docs/BlueprintApi.md#blueprint_resolve) | **GET** /api/v1/resolve-path/{absolute_id} | Resolve Blueprint Id
*DatasourceApi* | [**data_source_get**](docs/DatasourceApi.md#data_source_get) | **GET** /api/v1/data-sources/{data_source_id} | Get
*DatasourceApi* | [**data_source_get_all**](docs/DatasourceApi.md#data_source_get_all) | **GET** /api/v1/data-sources | Get All
*DatasourceApi* | [**data_source_save**](docs/DatasourceApi.md#data_source_save) | **POST** /api/v1/data-sources/{data_source_id} | Save
*DefaultApi* | [**blob_get_by_id**](docs/DefaultApi.md#blob_get_by_id) | **GET** /api/v1/blobs/{data_source_id}/{blob_id} | Get By Id
*DefaultApi* | [**blob_upload**](docs/DefaultApi.md#blob_upload) | **PUT** /api/v1/blobs/{data_source_id}/{blob_id} | Upload
*DefaultApi* | [**blueprint_get**](docs/DefaultApi.md#blueprint_get) | **GET** /api/v1/blueprint/{type_ref} | Get Blueprint
*DefaultApi* | [**blueprint_resolve**](docs/DefaultApi.md#blueprint_resolve) | **GET** /api/v1/resolve-path/{absolute_id} | Resolve Blueprint Id
*DefaultApi* | [**data_source_get**](docs/DefaultApi.md#data_source_get) | **GET** /api/v1/data-sources/{data_source_id} | Get
*DefaultApi* | [**data_source_get_all**](docs/DefaultApi.md#data_source_get_all) | **GET** /api/v1/data-sources | Get All
*DefaultApi* | [**data_source_save**](docs/DefaultApi.md#data_source_save) | **POST** /api/v1/data-sources/{data_source_id} | Save
*DefaultApi* | [**document_add**](docs/DefaultApi.md#document_add) | **POST** /api/v1/documents/{absolute_ref} | Add By Parent Id
*DefaultApi* | [**document_add_simple**](docs/DefaultApi.md#document_add_simple) | **POST** /api/v1/documents/{data_source_id}/add-raw | Add Raw
*DefaultApi* | [**document_add_to_path**](docs/DefaultApi.md#document_add_to_path) | **POST** /api/v1/documents/{data_source_id}/add-to-path | Add To Path
*DefaultApi* | [**document_get_by_id**](docs/DefaultApi.md#document_get_by_id) | **GET** /api/v1/documents/{data_source_id}/{document_id} | Get By Id
*DefaultApi* | [**document_get_by_path**](docs/DefaultApi.md#document_get_by_path) | **GET** /api/v1/documents-by-path/{data_source_id} | Get By Path
*DefaultApi* | [**document_remove**](docs/DefaultApi.md#document_remove) | **DELETE** /api/v1/documents/{data_source_id}/{dotted_id} | Remove
*DefaultApi* | [**document_remove_by_path**](docs/DefaultApi.md#document_remove_by_path) | **DELETE** /api/v1/documents/{data_source_id}/remove-by-path/{directory} | Remove By Path
*DefaultApi* | [**document_update**](docs/DefaultApi.md#document_update) | **PUT** /api/v1/documents/{data_source_id}/{document_id} | Update
*DefaultApi* | [**export**](docs/DefaultApi.md#export) | **GET** /api/v1/export/{absolute_document_ref} | Export
*DefaultApi* | [**get_acl**](docs/DefaultApi.md#get_acl) | **GET** /api/v1/acl/{data_source_id}/{document_id} | Get Acl
*DefaultApi* | [**get_api_v1_healthcheck_get**](docs/DefaultApi.md#get_api_v1_healthcheck_get) | **GET** /api/v1/healthcheck | Get
*DefaultApi* | [**instantiate_entity**](docs/DefaultApi.md#instantiate_entity) | **POST** /api/v1/entity | Instantiate
*DefaultApi* | [**reference_delete**](docs/DefaultApi.md#reference_delete) | **DELETE** /api/v1/reference/{data_source_id}/{document_dotted_id} | Delete Reference
*DefaultApi* | [**reference_insert**](docs/DefaultApi.md#reference_insert) | **PUT** /api/v1/reference/{data_source_id}/{document_dotted_id} | Insert Reference
*DefaultApi* | [**search**](docs/DefaultApi.md#search) | **POST** /api/v1/search | Search
*DefaultApi* | [**set_acl**](docs/DefaultApi.md#set_acl) | **PUT** /api/v1/acl/{data_source_id}/{document_id} | Set Acl
*DefaultApi* | [**token_create**](docs/DefaultApi.md#token_create) | **POST** /api/v1/token | New Personal Access Token
*DefaultApi* | [**token_delete**](docs/DefaultApi.md#token_delete) | **DELETE** /api/v1/token/{token_id} | Revoke Personal Access Token
*DefaultApi* | [**token_list_all**](docs/DefaultApi.md#token_list_all) | **GET** /api/v1/token | List All Pats
*DefaultApi* | [**whoami**](docs/DefaultApi.md#whoami) | **GET** /api/v1/whoami | Get Information On Authenticated User
*DocumentApi* | [**document_add**](docs/DocumentApi.md#document_add) | **POST** /api/v1/documents/{absolute_ref} | Add By Parent Id
*DocumentApi* | [**document_add_simple**](docs/DocumentApi.md#document_add_simple) | **POST** /api/v1/documents/{data_source_id}/add-raw | Add Raw
*DocumentApi* | [**document_add_to_path**](docs/DocumentApi.md#document_add_to_path) | **POST** /api/v1/documents/{data_source_id}/add-to-path | Add To Path
*DocumentApi* | [**document_get_by_id**](docs/DocumentApi.md#document_get_by_id) | **GET** /api/v1/documents/{data_source_id}/{document_id} | Get By Id
*DocumentApi* | [**document_get_by_path**](docs/DocumentApi.md#document_get_by_path) | **GET** /api/v1/documents-by-path/{data_source_id} | Get By Path
*DocumentApi* | [**document_remove**](docs/DocumentApi.md#document_remove) | **DELETE** /api/v1/documents/{data_source_id}/{dotted_id} | Remove
*DocumentApi* | [**document_remove_by_path**](docs/DocumentApi.md#document_remove_by_path) | **DELETE** /api/v1/documents/{data_source_id}/remove-by-path/{directory} | Remove By Path
*DocumentApi* | [**document_update**](docs/DocumentApi.md#document_update) | **PUT** /api/v1/documents/{data_source_id}/{document_id} | Update
*EntityApi* | [**instantiate_entity**](docs/EntityApi.md#instantiate_entity) | **POST** /api/v1/entity | Instantiate
*ExportApi* | [**export**](docs/ExportApi.md#export) | **GET** /api/v1/export/{absolute_document_ref} | Export
*HealthCheckApi* | [**get_api_v1_healthcheck_get**](docs/HealthCheckApi.md#get_api_v1_healthcheck_get) | **GET** /api/v1/healthcheck | Get
*PersonalAccessTokenApi* | [**token_create**](docs/PersonalAccessTokenApi.md#token_create) | **POST** /api/v1/token | New Personal Access Token
*PersonalAccessTokenApi* | [**token_delete**](docs/PersonalAccessTokenApi.md#token_delete) | **DELETE** /api/v1/token/{token_id} | Revoke Personal Access Token
*PersonalAccessTokenApi* | [**token_list_all**](docs/PersonalAccessTokenApi.md#token_list_all) | **GET** /api/v1/token | List All Pats
*ReferenceApi* | [**reference_delete**](docs/ReferenceApi.md#reference_delete) | **DELETE** /api/v1/reference/{data_source_id}/{document_dotted_id} | Delete Reference
*ReferenceApi* | [**reference_insert**](docs/ReferenceApi.md#reference_insert) | **PUT** /api/v1/reference/{data_source_id}/{document_dotted_id} | Insert Reference
*SearchApi* | [**search**](docs/SearchApi.md#search) | **POST** /api/v1/search | Search
*WhoamiApi* | [**whoami**](docs/WhoamiApi.md#whoami) | **GET** /api/v1/whoami | Get Information On Authenticated User


## Documentation For Models

 - [ACL](docs/ACL.md)
 - [AccessLevel](docs/AccessLevel.md)
 - [BasicEntity](docs/BasicEntity.md)
 - [DataSourceInformation](docs/DataSourceInformation.md)
 - [DataSourceRequest](docs/DataSourceRequest.md)
 - [ErrorResponse](docs/ErrorResponse.md)
 - [PATData](docs/PATData.md)
 - [Reference](docs/Reference.md)
 - [Repository](docs/Repository.md)
 - [RepositoryType](docs/RepositoryType.md)
 - [StorageDataTypes](docs/StorageDataTypes.md)


## Documentation For Authorization


## APIKeyHeader

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


## OAuth2AuthorizationCodeBearer

- **Type**: OAuth
- **Flow**: accessCode
- **Authorization URL**: 
- **Scopes**: N/A


## Author




## Notes for Large OpenAPI documents
If the OpenAPI document is large, imports in dmss_api.apis and dmss_api.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 dmss_api.api.default_api import DefaultApi`
- `from dmss_api.model.pet import Pet`

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

