# unbound_casp_api

UnboundCaspApi - JavaScript client for unbound_casp_api
Unbounds Crypto Asset Security Platform (\\\"CASP\\\") provides the advanced technology and the architecture to secure crypto asset transactions. The crypto asset solution contains the CASP service and different end points (humans or BOTs).  CASP provides the framework to create **Accounts**, which hold multiple **Vaults** where secrets are stored. Access control is managed by the **Quorum Policy** for all of the **Participants**.   The CASP system manages the following entities:  - Accounts - a container for a set of vaults and participants that manage these vaults. - Participants - a human within the account or a BOT taking part in cryptoasset transactions. Each participant owns a share of the cryptographic material that is part of the different transactions. - Vaults - a secure container for the cryptographic material used to protect a crypto asset (i.e. the seed or private key). - Quorum vault - shares the responsibility of executing a transaction between many different participants in a structure defined by the vault policy.   CASP is a collaboration service, where different participants collaborate to perform crypto asset transactions. As such, it has inherent support for asynchronous operation. When an operation is triggered, it is located in a queue and completed when the relevant set of participants complete their part. CASP supports triggering asynchronous operations, notifying the relevant participants on required actions, and checking the status of operations.   For more information about the CASP SDK, see:  - [Unbound CASP Developers Guide](https://www.unboundtech.com/docs/CASP/CASP_Developers_Guide-HTML/casp-dev-guide.htm) - [Unbound CASP User Guide]( https://www.unboundtech.com/docs/CASP/CASP_User_Guide-HTML/casp-user-guide.htm) - [Unbound CASP Sample Apps]( https://www.unboundtech.com/docs/CASP/CASP_Sample_Apps-HTML/casp-sample-apps.htm)
This SDK is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:

- API version: 0.0.32
- Package version: 0.0.32
- Build package: io.swagger.codegen.languages.JavascriptClientCodegen
For more information, please visit [https://www.unboundtech.com/](https://www.unboundtech.com/)

## Installation

### For [Node.js](https://nodejs.org/)

#### npm

To publish the library as a [npm](https://www.npmjs.com/),
please follow the procedure in ["Publishing npm packages"](https://docs.npmjs.com/getting-started/publishing-npm-packages).

Then install it via:

```shell
npm install unbound_casp_api --save
```

##### Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing
into the directory containing `package.json` (and this README). Let's call this `JAVASCRIPT_CLIENT_DIR`. Then run:

```shell
npm install
```

Next, [link](https://docs.npmjs.com/cli/link) it globally in npm with the following, also from `JAVASCRIPT_CLIENT_DIR`:

```shell
npm link
```

Finally, switch to the directory you want to use your unbound_casp_api from, and run:

```shell
npm link /path/to/<JAVASCRIPT_CLIENT_DIR>
```

You should now be able to `require('unbound_casp_api')` in javascript files from the directory you ran the last
command above from.

#### git
#
If the library is hosted at a git repository, e.g.
https://github.com/GIT_USER_ID/GIT_REPO_ID
then install it via:

```shell
    npm install GIT_USER_ID/GIT_REPO_ID --save
```

### For browser

The library also works in the browser environment via npm and [browserify](http://browserify.org/). After following
the above steps with Node.js and installing browserify with `npm install -g browserify`,
perform the following (assuming *main.js* is your entry file, that's to say your javascript file where you actually
use this library):

```shell
browserify main.js > bundle.js
```

Then include *bundle.js* in the HTML pages.

### Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error:
Cannot resolve module", most certainly you should disable AMD loader. Add/merge
the following section to your webpack config:

```javascript
module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}
```

## Getting Started

Please follow the [installation](#installation) instruction and execute the following JS code:

```javascript
var UnboundCaspApi = require('unbound_casp_api');

var defaultClient = UnboundCaspApi.ApiClient.instance;

// Configure OAuth2 access token for authorization: ApiKeyAuth
var ApiKeyAuth = defaultClient.authentications['ApiKeyAuth'];
ApiKeyAuth.accessToken = "YOUR ACCESS TOKEN"

var api = new UnboundCaspApi.AccountsApi()

var body = new UnboundCaspApi.Body(); // {Body} Create accounts request

api.createAccount(body).then(function(data) {
  console.log('API called successfully. Returned data: ' + data);
}, function(error) {
  console.error(error);
});


```

## Documentation for Authorization


### ApiKeyAuth

- **Type**: OAuth
- **Flow**: password
- **Authorization URL**:
- **Scopes**:
  - /mng: admin manage

### Bearer

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

### basicAuth

- **Type**: HTTP basic authentication
