# authz_sdk

AuthzSdk - JavaScript client for authz_sdk
Sdk for communicating with authz api
This SDK is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:

- API version: 1.0.0
- Package version: 1.0.0
- Build package: io.swagger.codegen.languages.JavascriptClientCodegen

## 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 authz_sdk --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 authz_sdk from, and run:

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

You should now be able to `require('authz_sdk')` 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 AuthzSdk = require('authz_sdk');

var defaultClient = AuthzSdk.ApiClient.instance;

// Configure API key authorization: Authorization
var Authorization = defaultClient.authentications['Authorization'];
Authorization.apiKey = "YOUR API KEY"
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//Authorization.apiKeyPrefix['Authorization'] = "Token"

var api = new AuthzSdk.ApplicationsApi()

var domain = "domain_example"; // {String} Domain for the application you want to get


var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.getApplicationByDomain(domain, callback);

```

## Documentation for API Endpoints

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

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AuthzSdk.ApplicationsApi* | [**getApplicationByDomain**](docs/ApplicationsApi.md#getApplicationByDomain) | **GET** /applications/{domain} | Returns public data for the application specified by its domain
*AuthzSdk.LoggedApplicationApi* | [**getLoggedApplication**](docs/LoggedApplicationApi.md#getLoggedApplication) | **GET** /application | Returns data for the current logged user
*AuthzSdk.UserApi* | [**createUser**](docs/UserApi.md#createUser) | **POST** /users | Creates a new user
*AuthzSdk.UserApi* | [**getUserById**](docs/UserApi.md#getUserById) | **GET** /users/{userId} | Get a single user by id
*AuthzSdk.UserApi* | [**listUsers**](docs/UserApi.md#listUsers) | **GET** /users | Lists all users of an application


## Documentation for Models

 - [AuthzSdk.Application](docs/Application.md)
 - [AuthzSdk.ApplicationNotFoundError](docs/ApplicationNotFoundError.md)
 - [AuthzSdk.BodyValidationError](docs/BodyValidationError.md)
 - [AuthzSdk.BodyValidationErrorContext](docs/BodyValidationErrorContext.md)
 - [AuthzSdk.BodyValidationErrorDetails](docs/BodyValidationErrorDetails.md)
 - [AuthzSdk.CreateUserBody](docs/CreateUserBody.md)
 - [AuthzSdk.EmailAlreadyTakenError](docs/EmailAlreadyTakenError.md)
 - [AuthzSdk.MaximumUsersReachedError](docs/MaximumUsersReachedError.md)
 - [AuthzSdk.MaximumUsersReachedErrorDetails](docs/MaximumUsersReachedErrorDetails.md)
 - [AuthzSdk.User](docs/User.md)


## Documentation for Authorization


### Authorization

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

### basic

- **Type**: HTTP basic authentication

