# e_dropin_accounts

EDropinAccounts - JavaScript client for e_dropin_accounts
Accounts service for eDropin
This SDK is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:

- API version: 1.1.0
- Package version: 1.1.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 e_dropin_accounts --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 e_dropin_accounts from, and run:

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

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

var defaultClient = EDropinAccounts.ApiClient.instance;

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

var api = new EDropinAccounts.EaAccountsApi()

var authProps = new EDropinAccounts.EaPasswordAuthentication(); // {EaPasswordAuthentication} Authentication values


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

```

## Documentation for API Endpoints

All URIs are relative to *https://edropin-test.appspot.com*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*EDropinAccounts.EaAccountsApi* | [**authenticatePassword**](docs/EaAccountsApi.md#authenticatePassword) | **POST** /accounts/authenticate/password | Authenticate using email/password
*EDropinAccounts.EaAccountsApi* | [**getAccount**](docs/EaAccountsApi.md#getAccount) | **GET** /accounts | Get Account
*EDropinAccounts.EaAccountsApi* | [**getMultipleAccounts**](docs/EaAccountsApi.md#getMultipleAccounts) | **GET** /accounts/get-multi | Get multiple accounts [service only]
*EDropinAccounts.EaAccountsApi* | [**updateAccount**](docs/EaAccountsApi.md#updateAccount) | **PUT** /accounts | Create/update existing account
*EDropinAccounts.EaAccountsApi* | [**updateAccountClaims**](docs/EaAccountsApi.md#updateAccountClaims) | **PUT** /accounts/{accountId}/claims | Update account claims
*EDropinAccounts.EaFilesApi* | [**createFile**](docs/EaFilesApi.md#createFile) | **POST** /files | Create a file
*EDropinAccounts.EaFilesApi* | [**createImage**](docs/EaFilesApi.md#createImage) | **POST** /files/image | Create an image file
*EDropinAccounts.EaFilesApi* | [**createUnsplashImage**](docs/EaFilesApi.md#createUnsplashImage) | **POST** /files/unsplash-image | Create an unsplash image file
*EDropinAccounts.EaFilesApi* | [**deleteFile**](docs/EaFilesApi.md#deleteFile) | **DELETE** /files/{fileId} | Delete a file
*EDropinAccounts.EaFilesApi* | [**listFiles**](docs/EaFilesApi.md#listFiles) | **GET** /files | List of files
*EDropinAccounts.EaFilesApi* | [**retrieveFile**](docs/EaFilesApi.md#retrieveFile) | **GET** /files/{fileId} | Retrieve a file
*EDropinAccounts.EaPermissionsApi* | [**acceptPermissionInvite**](docs/EaPermissionsApi.md#acceptPermissionInvite) | **POST** /permissions/accept-invite/{inviteToken} | Accept a permission invite
*EDropinAccounts.EaPermissionsApi* | [**hasPermission**](docs/EaPermissionsApi.md#hasPermission) | **GET** /permissions/{entityType}/{entityId}/accounts/{accountId} | Check account has permission
*EDropinAccounts.EaPermissionsApi* | [**paginatePermissions**](docs/EaPermissionsApi.md#paginatePermissions) | **GET** /permissions/{entityType}/{entityId}/accounts | Get permissions for entity
*EDropinAccounts.EaPermissionsApi* | [**removePermissionsForAccount**](docs/EaPermissionsApi.md#removePermissionsForAccount) | **DELETE** /permissions/{entityType}/{entityId}/accounts/{accountId} | Remove all permissions for account
*EDropinAccounts.EaPermissionsApi* | [**sendPermissionInvite**](docs/EaPermissionsApi.md#sendPermissionInvite) | **POST** /permissions/{entityType}/{entityId}/send-invite | Send a permission invite
*EDropinAccounts.EaPermissionsApi* | [**setPermission**](docs/EaPermissionsApi.md#setPermission) | **PUT** /permissions/{entityType}/{entityId}/accounts/{accountId} | Set account permission
*EDropinAccounts.EaProfileInvitesApi* | [**archiveProfileInvite**](docs/EaProfileInvitesApi.md#archiveProfileInvite) | **DELETE** /profile-invites/{inviteId} | Archive a profile invitation
*EDropinAccounts.EaProfileInvitesApi* | [**createProfileFromInvite**](docs/EaProfileInvitesApi.md#createProfileFromInvite) | **POST** /profile-invites/referral/{referralCode} | Create a profile from a profile invite
*EDropinAccounts.EaProfileInvitesApi* | [**createProfileInvite**](docs/EaProfileInvitesApi.md#createProfileInvite) | **POST** /profile-invites | Create a new profile invite
*EDropinAccounts.EaProfileInvitesApi* | [**getMultipleInvites**](docs/EaProfileInvitesApi.md#getMultipleInvites) | **GET** /profile-invites/get-multi | Get Multiple Profile Invites
*EDropinAccounts.EaProfileInvitesApi* | [**getProfileInviteReferral**](docs/EaProfileInvitesApi.md#getProfileInviteReferral) | **GET** /profile-invites/referral/{referralCode} | Get the pre-filled fields for on-boarding an invite
*EDropinAccounts.EaProfileInvitesApi* | [**listProfileInvites**](docs/EaProfileInvitesApi.md#listProfileInvites) | **GET** /profile-invites | Paginate over all invitations made by requested user
*EDropinAccounts.EaProfileTagsApi* | [**listTagRequests**](docs/EaProfileTagsApi.md#listTagRequests) | **GET** /profiles/{profileId}/profile-tags | Paginate over all tag requests for the profile
*EDropinAccounts.EaProfileTagsApi* | [**removeProfileTagRequest**](docs/EaProfileTagsApi.md#removeProfileTagRequest) | **DELETE** /profile-tags/{profileTagId} | Remove a profile tag request
*EDropinAccounts.EaProfileTagsApi* | [**respondToProfileTagRequest**](docs/EaProfileTagsApi.md#respondToProfileTagRequest) | **PUT** /profile-tags/{profileTagId} | Accept or decline a profile tag request
*EDropinAccounts.EaProfileTagsApi* | [**upsertProfileTagRequest**](docs/EaProfileTagsApi.md#upsertProfileTagRequest) | **POST** /profiles/{profileId}/profile-tags | Request to tag a profile in an entity e.g. Event, Course, etc.
*EDropinAccounts.EaProfilesApi* | [**checkUsernameAvailability**](docs/EaProfilesApi.md#checkUsernameAvailability) | **GET** /profiles/usernamecheck | Check username availability
*EDropinAccounts.EaProfilesApi* | [**createProfile**](docs/EaProfilesApi.md#createProfile) | **POST** /profiles | Create profile
*EDropinAccounts.EaProfilesApi* | [**deleteProfile**](docs/EaProfilesApi.md#deleteProfile) | **DELETE** /profiles/{profileId} | Delete an existing profile
*EDropinAccounts.EaProfilesApi* | [**getAllProfiles**](docs/EaProfilesApi.md#getAllProfiles) | **GET** /profiles | List all profiles
*EDropinAccounts.EaProfilesApi* | [**getMultipleProfiles**](docs/EaProfilesApi.md#getMultipleProfiles) | **GET** /profiles/get-multi | Get Multiple Profiles
*EDropinAccounts.EaProfilesApi* | [**getProfile**](docs/EaProfilesApi.md#getProfile) | **GET** /profiles/{profileId} | Get a profile from the directory
*EDropinAccounts.EaProfilesApi* | [**getProfileCategories**](docs/EaProfilesApi.md#getProfileCategories) | **GET** /profiles/categories | Get Profile Categories
*EDropinAccounts.EaProfilesApi* | [**paginateProfileFeed**](docs/EaProfilesApi.md#paginateProfileFeed) | **GET** /profiles/{profileId}/feed | Profile Feed
*EDropinAccounts.EaProfilesApi* | [**searchProfile**](docs/EaProfilesApi.md#searchProfile) | **GET** /profiles/search | Search Profiles
*EDropinAccounts.EaProfilesApi* | [**sendProfileEmailVerification**](docs/EaProfilesApi.md#sendProfileEmailVerification) | **POST** /profiles/{profileId}/email-verification | Send email verification
*EDropinAccounts.EaProfilesApi* | [**setStatus**](docs/EaProfilesApi.md#setStatus) | **PUT** /profiles/{profileId}/status | Set a profile status
*EDropinAccounts.EaProfilesApi* | [**updateProfile**](docs/EaProfilesApi.md#updateProfile) | **PUT** /profiles/{profileId} | Update an existing profile
*EDropinAccounts.EaProfilesApi* | [**verifyProfileEmail**](docs/EaProfilesApi.md#verifyProfileEmail) | **POST** /profiles/email-verification/{code} | Verifiy profile email
*EDropinAccounts.EaUnsplashApi* | [**downloadPhoto**](docs/EaUnsplashApi.md#downloadPhoto) | **POST** /unsplash | Download trigger
*EDropinAccounts.EaUnsplashApi* | [**searchPhotos**](docs/EaUnsplashApi.md#searchPhotos) | **GET** /unsplash | Search unsplash for images


## Documentation for Models

 - [EDropinAccounts.DefaultError](docs/DefaultError.md)
 - [EDropinAccounts.EaAccountUpdate](docs/EaAccountUpdate.md)
 - [EDropinAccounts.EaAuthentication](docs/EaAuthentication.md)
 - [EDropinAccounts.EaBaseId](docs/EaBaseId.md)
 - [EDropinAccounts.EaClaims](docs/EaClaims.md)
 - [EDropinAccounts.EaDSPagination](docs/EaDSPagination.md)
 - [EDropinAccounts.EaEmailVerification](docs/EaEmailVerification.md)
 - [EDropinAccounts.EaFacetSearch](docs/EaFacetSearch.md)
 - [EDropinAccounts.EaFacetSearchFacetHits](docs/EaFacetSearchFacetHits.md)
 - [EDropinAccounts.EaFeedItem](docs/EaFeedItem.md)
 - [EDropinAccounts.EaFileUpdate](docs/EaFileUpdate.md)
 - [EDropinAccounts.EaImage](docs/EaImage.md)
 - [EDropinAccounts.EaPagedAccount](docs/EaPagedAccount.md)
 - [EDropinAccounts.EaPagedFeedItem](docs/EaPagedFeedItem.md)
 - [EDropinAccounts.EaPagedFile](docs/EaPagedFile.md)
 - [EDropinAccounts.EaPagedPermission](docs/EaPagedPermission.md)
 - [EDropinAccounts.EaPagedPermissionInvite](docs/EaPagedPermissionInvite.md)
 - [EDropinAccounts.EaPagedProfile](docs/EaPagedProfile.md)
 - [EDropinAccounts.EaPagedProfileInvite](docs/EaPagedProfileInvite.md)
 - [EDropinAccounts.EaPagedTagRequest](docs/EaPagedTagRequest.md)
 - [EDropinAccounts.EaPagedUnsplashPhoto](docs/EaPagedUnsplashPhoto.md)
 - [EDropinAccounts.EaPagination](docs/EaPagination.md)
 - [EDropinAccounts.EaPasswordAuthentication](docs/EaPasswordAuthentication.md)
 - [EDropinAccounts.EaPermission](docs/EaPermission.md)
 - [EDropinAccounts.EaPermissionAccept](docs/EaPermissionAccept.md)
 - [EDropinAccounts.EaPermissionCheck](docs/EaPermissionCheck.md)
 - [EDropinAccounts.EaPermissionInput](docs/EaPermissionInput.md)
 - [EDropinAccounts.EaPermissionInvite](docs/EaPermissionInvite.md)
 - [EDropinAccounts.EaPermissionInviteCreate](docs/EaPermissionInviteCreate.md)
 - [EDropinAccounts.EaProfileInviteCreate](docs/EaProfileInviteCreate.md)
 - [EDropinAccounts.EaProfileStatus](docs/EaProfileStatus.md)
 - [EDropinAccounts.EaProfileUpdate](docs/EaProfileUpdate.md)
 - [EDropinAccounts.EaSuccess](docs/EaSuccess.md)
 - [EDropinAccounts.EaTagRequestCreate](docs/EaTagRequestCreate.md)
 - [EDropinAccounts.EaTagRespond](docs/EaTagRespond.md)
 - [EDropinAccounts.EaUnsplashPhoto](docs/EaUnsplashPhoto.md)
 - [EDropinAccounts.EaAccount](docs/EaAccount.md)
 - [EDropinAccounts.EaFile](docs/EaFile.md)
 - [EDropinAccounts.EaFileUpload](docs/EaFileUpload.md)
 - [EDropinAccounts.EaProfile](docs/EaProfile.md)
 - [EDropinAccounts.EaProfileCreate](docs/EaProfileCreate.md)
 - [EDropinAccounts.EaProfileInvite](docs/EaProfileInvite.md)
 - [EDropinAccounts.EaTagRequest](docs/EaTagRequest.md)


## Documentation for Authorization


### AdminKey

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

### Authorization

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

### AuthorizationOptional

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

### ClientKey

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

### ServiceKey

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

