{"id":22225853,"url":"https://github.com/phara0h/travelling","last_synced_at":"2025-07-27T17:32:45.710Z","repository":{"id":36198381,"uuid":"203826198","full_name":"Phara0h/travelling","owner":"Phara0h","description":"A dynamic route level groups permissions gateway service. ","archived":false,"fork":false,"pushed_at":"2024-02-26T16:13:22.000Z","size":6000,"stargazers_count":5,"open_issues_count":10,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-03-26T02:43:15.572Z","etag":null,"topics":["api","api-gateway","authentication","authorization","authorization-bearer","dynamic","fast","fastify","gateway","groups","hacktober","hacktoberfest","permissions","postgresql","redis","rest","reverse-proxy","travelling"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"Trazi-Ventures/travelling","license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Phara0h.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-22T15:47:16.000Z","updated_at":"2024-08-18T21:45:50.066Z","dependencies_parsed_at":"2024-08-18T21:45:38.403Z","dependency_job_id":"26a361d2-7edd-4e83-930d-df29385888a6","html_url":"https://github.com/Phara0h/travelling","commit_stats":{"total_commits":423,"total_committers":5,"mean_commits":84.6,"dds":"0.40898345153664306","last_synced_commit":"042bc42bdf2c81a64dc986ee28adb81d77144e6b"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Phara0h%2Ftravelling","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Phara0h%2Ftravelling/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Phara0h%2Ftravelling/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Phara0h%2Ftravelling/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Phara0h","download_url":"https://codeload.github.com/Phara0h/travelling/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227825097,"owners_count":17825283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-gateway","authentication","authorization","authorization-bearer","dynamic","fast","fastify","gateway","groups","hacktober","hacktoberfest","permissions","postgresql","redis","rest","reverse-proxy","travelling"],"created_at":"2024-12-03T00:20:16.205Z","updated_at":"2024-12-03T00:20:17.273Z","avatar_url":"https://github.com/Phara0h.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 style=\"display:flex;\"\u003e\n  \u003cspan style=\"margin-right:10px\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/Phara0h/travelling/master/client/assets/logo-invert.svg\" data-canonical-src=\"https://raw.githubusercontent.com/Phara0h/travelling/master/client/assets/logo-invert.svg\" width=\"42\" height=\"42\"/\u003e\n  \u003c/span\u003e\n  Travelling\n\u003c/h1\u003e\n\nA blazing fast dynamic route level groups/permissions api gateway.\n\n\u003c!-- TOC START min:1 max:8 link:true asterisk:false update:true --\u003e\n  - [REST Docs](#rest-docs)\n  - [Install](#install)\n    - [Minimum New Setup](#minimum-new-setup)\n  - [Security](#security)\n  - [Configuration](#configuration)\n  - [SDK](#sdk)\n  - [Changelog](#changelog)\n  - [License](#license)\n\u003c!-- TOC END --\u003e\n\n## REST Docs\n\n[REST Docs](https://documenter.getpostman.com/view/208035/TWDUqyFx?version=latest)\n\n## Install\n\n### Minimum New Setup\n\n1. Download the latest release or run `git clone https://github.com/phara0h/travelling.git`\n\n2. Inside the root Travelling folder run: `npm install`\n\n3. Set the `TRAVELLING_DATABASE_URL` environment variable which needs to be pointing to a new PostgreSQL database to start. Do this by creating a `.env` file inside the root Travelling folder. For example:\n\n   ```EditorConfig\n   TRAVELLING_DATABASE_URL=postgres://postgres@localhost/travelling\n   ```\n\n4. Set the salts and secrets for the following:\n\n   ```EditorConfig\n   ## Cookie Session Settings\n   TRAVELLING_COOKIE_SESSION_SECRET=Yzy)8EbJOUJf+~e^%#7-lo1)RJUs.UVPBu4d3qqd0ZDQ!A~ti%Sq\u003ckPy)nfVSn0;TRBeD0_QeMxKzp]Yn{hQe4j#ZtQ{L$0O\u003e+hBJl^-%TKX\u003cS\u003eu|~xz;hFS(DO32tw#\n\n   ## Cookie Token Settings\n   TRAVELLING_COOKIE_TOKEN_SECRET=qVsI_O|Y0VPz\u003exvW-Uu!\u00265lejE3M4w-l0KvCI!v4q|9|F0W+v9g-hb!*yX8*3O%Ty@4$~:@1!VX*?Sl\u0026c}KW\u0026a4..gceGHg)KoiVpc9-8bCnrmG\u0026\u0026}iI;7VY+-+\u0026U(?:\n   TRAVELLING_COOKIE_TOKEN_SALT=?)WJ.$!570)5[@bDNip!q.t1J#/B.fJ{cyC--Zd/IJwJ/~L+(\u0026#XOz|FuIoc{k;@8wf#gOrn||Ng1+2bDxOuQ6$_6QK{aWUfc-PZ{L62(0JRKizR~Y*/K8YT]?gLHB+S\n\n   ## Postgres Crypto Settings\n   TRAVELLING_PG_CRYPTO_IMPLEMENTATION_SECRET=:Y@K$;nE8r~D]dR-#%\u003cPyI]/]^v\u0026#lIz7T(OHrI@sAA_Y/+C%bYVfoY5(r#3IN6tC_fn9vpy%CKXh?K0k:\u003cM/[PXs*r2CO~:]!2qBmB,9}RW)8i$$P#uFt_\u003eu,v_M9K}\n   TRAVELLING_PG_CRYPTO_IMPLEMENTATION_SALT=Wdwrmww~NxDAFn2/@~1SfV6\u0026Iq7/PR;]k2Me*gK*(|I!sxcr/V,_0Bbys25dIF!sm,}XG)%U!(9|3gS4Hy1Hjo}D.WsF{!6|+x,t{O6T^S):kuglmBokNNqQeHL^bWk%\n   ```\n\n   These are example secrets and salts ***DO NOT USE THESE VALUES*** generate your own. You can use the included script via `./scripts/generateRandom.sh` to generate a 128 character random string to use for salts and secrets. See [Security](#Security) for more details on keeping Travelling secure.\n\nSee [Configuration](#Configuration) for all other configurable options.\n\n## Security\n\nIt is recommended to follow this security tips to help keep Travelling as secure as possible.\n\n* Use HTTPS\n* Use a key and cert signed by a known third party ssl vender. (Make sure chrome supports them)\n* Don't use Cors unless you really have to.\n* Request logs are helpful for tracking down malicious requests\n* Run Travelling behind DDOS protection. For example Cloudflare.\n* Rotate cookie session/token secrets and salts often. (Once a month is a good recommendation)\n* Set username passwords and username's to OWSAP current recommendations.\n* Keep OAuth2 Code Tokens short lived for maximum security.\n* Use strong secret's and salts for Postgres encryption. **KEEP THESE SAFE**.\n* Email authentication helps prevent invalid users and makes it harder for bots to generate accounts.\n\n\n## Configuration\n\n[Configuration](./documents/CONFIG.md) is done through environment variables. All variables have a default values except for what is stated in [Minimum New Setup](#MinimumNewSetup)\n\n\u003c!-- TOC --\u003e\n\n- [Basic](#basic)\n    - [TRAVELLING_PORT](#travelling_port)\n    - [TRAVELLING_IP](#travelling_ip)\n    - [TRAVELLING_KEY](#travelling_key)\n    - [TRAVELLING_CERT](#travelling_cert)\n    - [TRAVELLING_HTTPS](#travelling_https)\n    - [TRAVELLING_SERVICE_NAME](#travelling_service_name)\n- [Misc](#misc)\n    - [TRAVELLING_MISC_CLOUDFLAREIP](#travelling_misc_cloudflareip)\n- [Cors](#cors)\n    - [TRAVELLING_CORS_ENABLE](#travelling_cors_enable)\n    - [TRAVELLING_CORS_HEADER_ORIGIN](#travelling_cors_header_origin)\n    - [TRAVELLING_CORS_HEADER_METHODS](#travelling_cors_header_methods)\n    - [TRAVELLING_CORS_HEADER_CREDENTIALS](#travelling_cors_header_credentials)\n    - [TRAVELLING_CORS_HEADER_MAX_AGE](#travelling_cors_header_max_age)\n- [Logging](#logging)\n    - [TRAVELLING_LOG_ENABLE](#travelling_log_enable)\n    - [TRAVELLING_LOG_LOGGER](#travelling_log_logger)\n    - [TRAVELLING_LOG_COLORS](#travelling_log_colors)\n    - [TRAVELLING_LOG_LEVEL](#travelling_log_level)\n    - [TRAVELLING_LOG_REQUESTS](#travelling_log_requests)\n    - [TRAVELLING_LOG_UNAUTHORIZED_ACCESS](#travelling_log_unauthorized_access)\n- [Fastify Logger](#fastify-logger)\n    - [TRAVELLING_LOG_FASTIFY_LOGGER](#travelling_log_fastify_logger)\n    - [TRAVELLING_LOG_FASTIFY_LOGGER_REQUEST](#travelling_log_fastify_logger_request)\n    - [TRAVELLING_LOG_FASTIFY_LOGGER_REQ_ID_HEADER](#travelling_log_fastify_logger_req_id_header)\n    - [TRAVELLING_LOG_FASTIFY_LOGGER_REQ_ID_LOG_LABEL](#travelling_log_fastify_logger_req_id_log_label)\n- [Portal](#portal)\n    - [TRAVELLING_PORTAL_ENABLE](#travelling_portal_enable)\n    - [TRAVELLING_PORTAL_PATH](#travelling_portal_path)\n    - [TRAVELLING_PORTAL_HOST](#travelling_portal_host)\n    - [TRAVELLING_PORTAL_FILE_PATH](#travelling_portal_file_path)\n    - [TRAVELLING_PORTAL_LOGO](#travelling_portal_logo)\n    - [TRAVELLING_PORTAL_STYLES](#travelling_portal_styles)\n    - [TRAVELLING_PORTAL_ICON](#travelling_portal_icon)\n- [Proxy](#proxy)\n    - [TRAVELLING_PROXY_TIMEOUT](#travelling_proxy_timeout)\n    - [TRAVELLING_PROXY_SEND_TRAVELLING_HEADERS](#travelling_proxy_send_travelling_headers)\n- [Redis](#redis)\n    - [TRAVELLING_REDIS_ENABLE](#travelling_redis_enable)\n    - [TRAVELLING_REDIS_URL](#travelling_redis_url)\n    - [TRAVELLING_REDIS_EVENTS_URL](#travelling_redis_events_url)\n- [Cookie](#cookie)\n    - [TRAVELLING_COOKIE_SESSION_SECRET](#travelling_cookie_session_secret)\n    - [TRAVELLING_COOKIE_SESSION_EXPIRATION](#travelling_cookie_session_expiration)\n    - [TRAVELLING_COOKIE_TOKEN_SECRET](#travelling_cookie_token_secret)\n    - [TRAVELLING_COOKIE_TOKEN_SALT](#travelling_cookie_token_salt)\n    - [TRAVELLING_COOKIE_TOKEN_EXPIRATION](#travelling_cookie_token_expiration)\n    - [TRAVELLING_COOKIE_TOKEN_CHECKABLE](#travelling_cookie_token_checkable)\n    - [TRAVELLING_COOKIE_DOMAIN](#travelling_cookie_domain)\n    - [TRAVELLING_COOKIE_SECURITY_IP_HIJACK_PROTECTION](#travelling_cookie_security_ip_hijack_protection)\n- [USER](#user)\n    - [TRAVELLING_USER_ISOLATE_BY_DOMAIN](#travelling_user_isolate_by_domain)\n    - [TRAVELLING_USER_USERNAME_MINCHAR](#travelling_user_username_minchar)\n    - [TRAVELLING_USER_USERNAME_ENABLE](#travelling_user_username_enable)\n    - [TRAVELLING_USER_LOCKED_MESSAGE](#travelling_user_locked_message)\n- [Authentication](#authentication)\n    - [TRAVELLING_PASSWORD_CONSECUTIVE](#travelling_password_consecutive)\n    - [TRAVELLING_PASSWORD_MINCHAR](#travelling_password_minchar)\n    - [TRAVELLING_PASSWORD_MAXCHAR](#travelling_password_maxchar)\n    - [TRAVELLING_PASSWORD_SPECIAL](#travelling_password_special)\n    - [TRAVELLING_PASSWORD_NUMBER](#travelling_password_number)\n    - [TRAVELLING_PASSWORD_LOWERCASE](#travelling_password_lowercase)\n    - [TRAVELLING_PASSWORD_UPPERCASE](#travelling_password_uppercase)\n    - [TRAVELLING_LOGIN_MAX_LOGIN_ATTEMPTS](#travelling_login_max_login_attempts)\n- [OAUTH2](#oauth2)\n    - [TRAVELLING_TOKEN_ACCESS_EXPIRATION](#travelling_token_access_expiration)\n    - [TRAVELLING_TOKEN_CODE_EXPIRATION](#travelling_token_code_expiration)\n    - [TRAVELLING_TOKEN_CODE_AUTHORIZE_FLOW](#travelling_token_code_authorize_flow)\n- [Postgres](#postgres)\n    - [TRAVELLING_DATABASE_URL](#travelling_database_url)\n    - [TRAVELLING_DATABASE_USER](#travelling_database_user)\n    - [TRAVELLING_DATABASE_PASSWORD](#travelling_database_password)\n    - [TRAVELLING_DATABASE_PORT](#travelling_database_port)\n    - [TRAVELLING_DATABASE_NAME](#travelling_database_name)\n    - [TRAVELLING_DATABASE_HOST](#travelling_database_host)\n    - [TRAVELLING_PG_CRYPTO_IMPLEMENTATION](#travelling_pg_crypto_implementation)\n    - [TRAVELLING_PG_CRYPTO_IMPLEMENTATION_SECRET](#travelling_pg_crypto_implementation_secret)\n    - [TRAVELLING_PG_CRYPTO_IMPLEMENTATION_SALT](#travelling_pg_crypto_implementation_salt)\n    - [TRAVELLING_PG_CRYPTO_ENCRYPT_USER_DATA](#travelling_pg_crypto_encrypt_user_data)\n- [Email](#email)\n    - [TRAVELLING_EMAIL_VALIDATION_EXTERNAL_ENABLE](#travelling_email_validation_external_enable)\n    - [TRAVELLING_EMAIL_VALIDATION_EXTERNAL_ENDPOINT](#travelling_email_validation_external_endpoint)\n    - [TRAVELLING_EMAIL_VALIDATION_EXTERNAL_EMAIL_IN_ENDPOINT](#travelling_email_validation_external_email_in_endpoint)\n    - [TRAVELLING_EMAIL_VALIDATION_EXTERNAL_EMAIL_IN_BODY](#travelling_email_validation_external_email_in_body)\n    - [TRAVELLING_EMAIL_VALIDATION_EXTERNAL_METHOD](#travelling_email_validation_external_method)\n    - [TRAVELLING_EMAIL_FROM](#travelling_email_from)\n    - [TRAVELLING_EMAIL_RECOVERY_EXPIRATION](#travelling_email_recovery_expiration)\n    - [TRAVELLING_EMAIL_ACTIVATION_EXPIRATION](#travelling_email_activation_expiration)\n    - [TRAVELLING_EMAIL_TEST_ENABLE](#travelling_email_test_enable)\n    - [TRAVELLING_EMAIL_SMTP_ENABLE](#travelling_email_smtp_enable)\n    - [TRAVELLING_EMAIL_SMTP_HOST](#travelling_email_smtp_host)\n    - [TRAVELLING_EMAIL_SMTP_PORT](#travelling_email_smtp_port)\n    - [TRAVELLING_EMAIL_SMTP_SECURE](#travelling_email_smtp_secure)\n    - [TRAVELLING_EMAIL_SMTP_AUTH_USER](#travelling_email_smtp_auth_user)\n    - [TRAVELLING_EMAIL_SMTP_SECURE](#travelling_email_smtp_secure-1)\n    - [TRAVELLING_EMAIL_SMTP_TLS_REJECT_UNAUTHORIZED](#travelling_email_smtp_tls_reject_unauthorized)\n    - [TRAVELLING_EMAIL_AWS_ENABLE](#travelling_email_aws_enable)\n    - [TRAVELLING_EMAIL_AWS_CONFIG](#travelling_email_aws_config)\n  - [Templates](#templates)\n    - [TRAVELLING_EMAIL_RESET_PASSWORD_TEMPLATE_BODY](#travelling_email_reset_password_template_body)\n    - [TRAVELLING_EMAIL_RESET_PASSWORD_TEMPLATE_SUBJECT](#travelling_email_reset_password_template_subject)\n    - [TRAVELLING_EMAIL_ACTIVATION_TEMPLATE_BODY](#travelling_email_activation_template_body)\n    - [TRAVELLING_EMAIL_ACTIVATION_TEMPLATE_SUBJECT](#travelling_email_activation_template_subject)\n- [Registration](#registration)\n    - [TRAVELLING_REGISTRATION_REQUIRE_EMAIL_ACTIVATION](#travelling_registration_require_email_activation)\n    - [TRAVELLING_REGISTRATION_REQUIRE_MANUAL_ACTIVATION](#travelling_registration_require_manual_activation)\n\n\u003c!-- /TOC --\u003e\n\n### Basic\n\n##### TRAVELLING_PORT\n\n_Travelling's serving port._ \u003c/br\u003e\n\n\u003e **Default**: `443`\n\n##### TRAVELLING_IP\n\n_Travelling's serving IP._ \u003c/br\u003e\n\n\u003e **Default**: `0.0.0.0`\n\n##### TRAVELLING_KEY\n\n_The path to the SSL key that is used for [https](#TRAVELLING_HTTPS)_ \u003c/br\u003e\n\n\u003e **Default**: `travelling/localhost.key`\n\n##### TRAVELLING_CERT\n\n_The path to the SSL cert that is used for [https](#TRAVELLING_HTTPS)_ \u003c/br\u003e\n\n\u003e **Default**: `travelling/localhost.csr`\n\n##### TRAVELLING_HTTPS\n\n_Enables https serving._ \u003c/br\u003e\n\n\u003e **Default**: `travelling/localhost.csr`\n\n##### TRAVELLING_SERVICE_NAME\n\n_Changes the service's urls and other functionality around it's name._ \u003c/br\u003e\n\n\u003e **Default**: `travelling`\n\n---\n\n### Misc\n\n##### TRAVELLING_MISC_CLOUDFLAREIP\n\n_If cloudflare sits infront of Travelling set this to true, so users have their real IP assigned to them._ \u003c/br\u003e\n\n\u003e **Default**: `false`\n\n---\n\n### Cors\n\nRecommended to keep this disabled due to security reasons. Only enable this if you really need it and know the risks.\n\n##### TRAVELLING_CORS_ENABLE\n\n_Allows external services to make api calls to Travelling._ \u003c/br\u003e\n\n\u003e **Default**: `false`\n\n##### TRAVELLING_CORS_HEADER_ORIGIN\n\n_Full host path or wildstar _ host pathed subdomains to allow. This is returned back with all requests.\\* \u003c/br\u003e\n\n\u003e **Default**: Rewrites the origin to whatever external host is making the call. This allows all external calls allowed and is not recommended. \u003c/br\u003e \u003e **Example**: `*.domain.com`\n\n##### TRAVELLING_CORS_HEADER_METHODS\n\n_`access-control-allow-methods` header that is returned back with all requests._ \u003c/br\u003e\n\n\u003e **Default**: Rewrites it's self to the `access-control-request-method` header request or sets to `*` if there is no request. \u003c/br\u003e \u003e **Example**: `GET,DELETE`\n\n##### TRAVELLING_CORS_HEADER_CREDENTIALS\n\n_`access-control-allow-credentials` header that is returned back with all routes under `/travelling/api/v1/auth/`_ \u003c/br\u003e\n\n\u003e **Default**: `true` \u003c/br\u003e\n\n##### TRAVELLING_CORS_HEADER_MAX_AGE\n\n_`access-control-max-age` header that is returned back with all CORS options request._ \u003c/br\u003e\n\n\u003e **Default**: `3600` \u003c/br\u003e\n\n---\n\n### Logging\n\nFor maximum performance it is recommended to disable [TRAVELLING_LOG_FASTIFY_LOGGER_REQUEST](#TRAVELLING_LOG_FASTIFY_LOGGER_REQUEST) and [TRAVELLING_LOG_FASTIFY_LOGGER](#TRAVELLING_LOG_FASTIFY_LOGGER)\n\n##### TRAVELLING_LOG_ENABLE\n\n_Enables [TRAVELLING_LOG_LOGGER](#TRAVELLING_LOG_LOGGER)._ \u003c/br\u003e\n\n\u003e **Default**: `true`\n\n##### TRAVELLING_LOG_LOGGER\n\n_An absolute file path to a custom node.js logger. This must **not** be set for the settings [TRAVELLING_LOG_LEVEL](#TRAVELLING_LOG_LEVEL) \u0026 [TRAVELLING_LOG_COLORS](#TRAVELLING_LOG_COLORS) to function. It also needs to support the same interface as Node's built in console logger._ \u003c/br\u003e\n\n\u003e **Default**: `travelling/include/utils/logger.js`\n\n##### TRAVELLING_LOG_COLORS\n\n_Enables console colors to be used with [TRAVELLING_LOG_LOGGER](#TRAVELLING_LOG_LOGGER)._ \u003c/br\u003e\n\n\u003e **Default**: `true`\n\n##### TRAVELLING_LOG_LEVEL\n\n_Sets the log level for [TRAVELLING_LOG_LOGGER](#TRAVELLING_LOG_LOGGER). The options are `trace`,`debug`,`info`,`warn`,`error`,`fatal`._ \u003c/br\u003e\n\n\u003e **Default**: `info`\n\n##### TRAVELLING_LOG_REQUESTS\n\n_Enables logging of every request of all requests with [TRAVELLING_LOG_LOGGER](#TRAVELLING_LOG_LOGGER)._ \u003c/br\u003e\n\n\u003e **Default**: `true`\n\n##### TRAVELLING_LOG_UNAUTHORIZED_ACCESS\n\n_Enables logging of every unauthorized access requests made with [TRAVELLING_LOG_LOGGER](#TRAVELLING_LOG_LOGGER)._ \u003c/br\u003e\n\n\u003e **Default**: `true`\n\n---\n\n### Fastify Logger\n\n##### TRAVELLING_LOG_FASTIFY_LOGGER\n\n_Enables logging for fastify's built-in pino logger. This can be set to a true/false value or a absolute path of a javascript file to set pino's settings / implement a custom logger from the pino interface._ \u003c/br\u003e\n\n\u003e **Default**: `false` \u003c/br\u003e \u003e **Example**: js file setting pino settings.\n\n```javascript\nmodule.exports = {\n  level: 'info'\n};\n```\n\n##### TRAVELLING_LOG_FASTIFY_LOGGER_REQUEST\n\n_Enables logging of every request and response in pino's format. Recommended not to have this and [TRAVELLING_LOG_LOGGER](#TRAVELLING_LOG_LOGGER) enabled at once_ \u003c/br\u003e\n\n\u003e **Default**: `true`\n\n##### TRAVELLING_LOG_FASTIFY_LOGGER_REQ_ID_HEADER\n\n_The name of the header that gets set by pino's correlation id system._ \u003c/br\u003e\n\n\u003e **Default**: `travelling-req-id` \u003c/br\u003e\n\n##### TRAVELLING_LOG_FASTIFY_LOGGER_REQ_ID_LOG_LABEL\n\n_The name of the property that gets set by pino's correlation id system._ \u003c/br\u003e\n\n\u003e **Default**: `travellingReqID` \u003c/br\u003e\n\n---\n\n### Portal\n\n##### TRAVELLING_PORTAL_ENABLE\n\n_Enables the portal which has the client for login/logout/register/forgotPassword/oauth2Code functionality. This should always be enabled._ \u003c/br\u003e\n\n\u003e **Default**: `true`\n\n##### TRAVELLING_PORTAL_PATH\n\n_The route that travelling will serve the client at._ \u003c/br\u003e\n\n\u003e **Default**: `/travelling/portal/`\n\n##### TRAVELLING_PORTAL_HOST\n\n_This is used once on the first startup of Travelling during group initialization. This sets the remote host of a custom client to be served under the [TRAVELLING_PORTAL_HOST](#TRAVELLING_PORTAL_HOST) path._ \u003c/br\u003e\n\n\u003e **Default**: `travelling/localhost.key`\n\n##### TRAVELLING_PORTAL_FILE_PATH\n\n_The absolute filepath to the root directory of the client files. Recommended not to be changed unless unless there is a need for a fully custom rewrite of Travelling's client pages._ \u003c/br\u003e\n\n\u003e **Default**: `travelling/client/dist`\n\n##### TRAVELLING_PORTAL_LOGO\n\n_The absolute filepath to the logo to be displayed on the client side._ \u003c/br\u003e\n\n\u003e **Default**: `travelling/client/assets/logo.svg`\n\n##### TRAVELLING_PORTAL_STYLES\n\n_The absolute filepath to the css file to be displayed on the client side._ \u003c/br\u003e\n\n\u003e **Default**: `travelling/client/assets/styles.css`\n\n##### TRAVELLING_PORTAL_ICON\n\n_The absolute filepath to the faveicon to be displayed on the client side._ \u003c/br\u003e\n\n\u003e **Default**: `travelling/client/assets/favicon.ico`\n\n---\n\n### Proxy\n\n##### TRAVELLING_PROXY_TIMEOUT\n\n_How long in seconds the proxy should wait on a request to finish. `0` is Infinity_ \u003c/br\u003e\n\n\u003e **Default**: `0`\n\n##### TRAVELLING_PROXY_SEND_TRAVELLING_HEADERS\n\n_Allows Travelling to send permission/user/group based headers along with the proxy route_ \u003c/br\u003e\n\n\u003e **Default**: `false`\n\n| Header | Description                                   |\n| ------ | --------------------------------------------- |\n| `un`   | User's Username.                              |\n| `uid`  | User's Id.                                    |\n| `gn`   | User's Group's name that allowed the request. |\n| `gt `  | User's Group's type that allowed the request. |\n| `perm` | Permission's name that allowed the request.   |\n\n---\n\n### Redis\n\n##### TRAVELLING_REDIS_ENABLE\n\n_Enables redis to be used when multiple instances of travelling are running and being load balanced against._ \u003c/br\u003e\n\n\u003e **Default**: `false` Uses in memory store which could be problematic depending on how many groups and routes there are.\n\n##### TRAVELLING_REDIS_URL\n\n_The URL to a redis instance to be used by travelling as a data store._ \u003c/br\u003e\n\n\u003e **Default**: `redis://127.0.0.1:6379/`\n\n##### TRAVELLING_REDIS_EVENTS_URL\n\n_The URL to a redis instance to be used by travelling as a pub/sub event system._ \u003c/br\u003e\n\n\u003e **Default**: `redis://127.0.0.1:6379/`\n\n---\n\n### Cookie\n\nTravelling uses a dual cookie system. One is a persistent token cookie for longterm login and the other is a short lived session cookie made to put less load on the system and speed things up making it not need to decrypt the token cookie every request.\n\n##### TRAVELLING_COOKIE_SESSION_SECRET\n\n_The session secret used to generate the session cookie with. This needs to stay a secret and should be changed ever so often for [security](#Security) reasons_ \u003c/br\u003e\n\n\u003e **Default**: ` ` This needs to be set!\n\n##### TRAVELLING_COOKIE_SESSION_EXPIRATION\n\n_How long the session cookie will last for in seconds. Recommended to set it to the average number of seconds a user tends to use your service for._ \u003c/br\u003e\n\n\u003e **Default**: `300`\n\n##### TRAVELLING_COOKIE_TOKEN_SECRET\n\n_The token secret used to generate the persistent token cookie with. This needs to stay a secret and should be changed ever so often for [security](#Security) reasons_ \u003c/br\u003e\n\n\u003e **Default**: `null` This needs to be set!\n\n##### TRAVELLING_COOKIE_TOKEN_SALT\n\n_The token salt used to generate the persistent token cookie with. This needs to stay a secret and should be changed ever so often for [security](#security) reasons_ \u003c/br\u003e\n\n\u003e **Default**: `null` This needs to be set!\n\n##### TRAVELLING_COOKIE_TOKEN_EXPIRATION\n\n_How long the persistent token cookie will last for in days._ \u003c/br\u003e\n\n\u003e **Default**: `30`\n\n#### TRAVELLING_COOKIE_TOKEN_CHECKABLE\n\n_Adds JavaScript accessible cookie, called `trav:ls`, contianing the expiration of the `trav:tok` cookie._ \u003c/br\u003e\n\n\u003e **Default**: `true`\n\n##### TRAVELLING_COOKIE_DOMAIN\n\n_How long the persistent token cookie will last for in days._ \u003c/br\u003e\n\n\u003e **Default**: `null`\n\n##### TRAVELLING_COOKIE_SECURITY_IP_HIJACK_PROTECTION\n\n_Enables cookie linked to remote ip's. Disabling this removes one more layer of protection against CRSF attacks, but might be needed depending on your [Cors](#cors) settings._ \u003c/br\u003e\n\n\u003e **Default**: `true`\n\n---\n\n### USER\n\n##### TRAVELLING_USER_ISOLATE_BY_DOMAIN\n\n_This allows users that have same username/email to register and be isolated by the domain property. This is useful if you have multiple websites and you want to keep your users isolated from each other._ \u003c/br\u003e\n\n\u003e **Default**: `false`\n\n##### TRAVELLING_USER_USERNAME_MINCHAR\n\n_The minimum amount of characters a username has to have._ \u003c/br\u003e\n\n\u003e **Default**: `4`\n\n##### TRAVELLING_USER_USERNAME_ENABLE\n\n_Require users to have usernames_ \u003c/br\u003e\n\n\u003e **Default**: `true`\n\n##### TRAVELLING_USER_LOCKED_MESSAGE\n\n_Require users to have usernames_ \u003c/br\u003e\n\n\u003e **Default**: `Failed login attempts exceeded the limit. Contact your admin to get your account unlocked.`\n\n---\n\n### Authentication\n\n##### TRAVELLING_PASSWORD_CONSECUTIVE\n\n_Disables user's passwords from having any consecutive characters._ \u003c/br\u003e\n\n\u003e **Default**: `false`\n\n##### TRAVELLING_PASSWORD_MINCHAR\n\n_The minimum amount of characters a user's password has to have_ \u003c/br\u003e\n\n\u003e **Default**: `8`\n\n##### TRAVELLING_PASSWORD_MAXCHAR\n\n_The maximum amount of characters a user's password is allowed to have. Leaving this unset makes it unlimited_ \u003c/br\u003e\n\n\u003e **Default**: ` `\n\n##### TRAVELLING_PASSWORD_SPECIAL\n\n_The minimum amount of special characters a user's password has to have._ \u003c/br\u003e\n\n\u003e **Default**: `30`\n\n##### TRAVELLING_PASSWORD_NUMBER\n\n_The minimum amount of numbers characters a user's password has to have._ \u003c/br\u003e\n\n\u003e **Default**: `1`\n\n##### TRAVELLING_PASSWORD_LOWERCASE\n\n_The minimum amount of lowercase characters a user's password has to have._ \u003c/br\u003e\n\n\u003e **Default**: `1`\n\n##### TRAVELLING_PASSWORD_UPPERCASE\n\n_The minimum amount of uppercase characters a user's password has to have._ \u003c/br\u003e\n\n\u003e **Default**: `1`\n\n##### TRAVELLING_LOGIN_MAX_LOGIN_ATTEMPTS\n\n_The maximum amount of failed login attempts until a user is locked._ \u003c/br\u003e\n\n\u003e **Default**: `10`\n\n---\n\n### OAUTH2\n\n##### TRAVELLING_TOKEN_ACCESS_EXPIRATION\n\n_How long a OAUTH2 Access token will last for in minutes._ \u003c/br\u003e\n\n\u003e **Default**: `1440`\n\n##### TRAVELLING_TOKEN_CODE_EXPIRATION\n\n_How long a OAUTH2 Code token will last for in minutes._ \u003c/br\u003e\n\n\u003e **Default**: `5`\n\n##### TRAVELLING_TOKEN_CODE_AUTHORIZE_FLOW\n\n_Enforces the user to click a authorize button to allow a client to login for the user._ \u003c/br\u003e\n\n\u003e **Default**: `true`\n\n---\n\n### Postgres\n\n##### TRAVELLING_DATABASE_URL\n\n_The Postgres connection url for Travelling to connect to._ \u003c/br\u003e\n\n\u003e **Default**: `null`\n\n##### TRAVELLING_DATABASE_USER\n\n_The Postgres user._ \u003c/br\u003e\n\n\u003e **Default**: `null`\n\n##### TRAVELLING_DATABASE_PASSWORD\n\n_The Postgres password._ \u003c/br\u003e\n\n\u003e **Default**: `null`\n\n##### TRAVELLING_DATABASE_PORT\n\n_The Postgres port._ \u003c/br\u003e\n\n\u003e **Default**: `null`\n\n##### TRAVELLING_DATABASE_NAME\n\n_The Postgres databases name._ \u003c/br\u003e\n\n\u003e **Default**: `null`\n\n##### TRAVELLING_DATABASE_HOST\n\n_The Postgres host._ \u003c/br\u003e\n\n\u003e **Default**: `null`\n\n##### TRAVELLING_PG_CRYPTO_IMPLEMENTATION\n\n_The absolute path to the encryption interface that is used for Travelling's database encryption fields. If a custom implementation is wanted please check out `travelling/include/utils/cryptointerface.js` for methods needed to be functional._ \u003c/br\u003e\n\n\u003e **Default**: `travelling/include/utils/cryptointerface.js`\n\n##### TRAVELLING_PG_CRYPTO_IMPLEMENTATION_SECRET\n\n_The secret used inside [TRAVELLING_PG_CRYPTO_IMPLEMENTATION](#TRAVELLING_PG_CRYPTO_IMPLEMENTATION). This needs to stay a secret and should be changed ever so often for [security](#Security) reasons._ \u003c/br\u003e\n\n\u003e **Default**: `null` This needs to be set!\n\n##### TRAVELLING_PG_CRYPTO_IMPLEMENTATION_SALT\n\n_The salt used inside [TRAVELLING_PG_CRYPTO_IMPLEMENTATION](#TRAVELLING_PG_CRYPTO_IMPLEMENTATION). This needs to stay a secret and should be changed ever so often for [security](#security) reasons._ \u003c/br\u003e\n\n\u003e **Default**: `null` This needs to be set!\n\n##### TRAVELLING_PG_CRYPTO_ENCRYPT_USER_DATA\n\n_Enables the `user_data` field inside the user object to be encrypted. If sensitive data is stored in within that field it is recommended to enable this._ \u003c/br\u003e\n\n\u003e **Default**: `false`\n\n---\n\n### Email\n\n##### TRAVELLING_EMAIL_VALIDATION_EXTERNAL_ENABLE\n\n_Enable external email endpoint for email validation_ \u003c/br\u003e\n\n\u003e **Default**: `false`\n\n##### TRAVELLING_EMAIL_VALIDATION_EXTERNAL_ENDPOINT\n\n_Full url for endpoint for email validation_ \u003c/br\u003e\n\n\u003e **Default**: `null`\n\n##### TRAVELLING_EMAIL_VALIDATION_EXTERNAL_EMAIL_IN_ENDPOINT\n\n_Appends the users email to the end of the supplied endpoint. EX: http://test.com/email/test@test.com_ \u003c/br\u003e\n\n\u003e **Default**: `true`\n\n##### TRAVELLING_EMAIL_VALIDATION_EXTERNAL_EMAIL_IN_BODY\n\n_Sends the users email as text as a body to the supplied endpoint_ \u003c/br\u003e\n\n\u003e **Default**: `false`\n\n##### TRAVELLING_EMAIL_VALIDATION_EXTERNAL_METHOD\n\n_Supplied endpoint's HTTP Method to use_ \u003c/br\u003e\n\n\u003e **Default**: `GET`\n\n##### TRAVELLING_EMAIL_FROM\n\n_The email that will be used as the `from` address. Recommended to set it to a no-reply email address_ \u003c/br\u003e\n\n\u003e **Default**: `null`\n\n##### TRAVELLING_EMAIL_RECOVERY_EXPIRATION\n\n_The number of seconds for the email recovery link to last for. Recommended to keep this somewhat short-lived for [security](#security) reasons._ \u003c/br\u003e\n\n\u003e **Default**: `900`\n\n##### TRAVELLING_EMAIL_ACTIVATION_EXPIRATION\n\n_The number of seconds for the email activation link to last for._ \u003c/br\u003e\n\n\u003e **Default**: `86400`\n\n##### TRAVELLING_EMAIL_TEST_ENABLE\n\n_Enables the use of a test email service that will display the login credentials inside the log at start. This is used by our integration test. However, it is helpful to enable this if custom [Templates](#Templates) are written. Only one type of email support should be used `Test`, `SMTP` or `AWS`._ \u003c/br\u003e\n\n\u003e **Default**: `false`\n\n##### TRAVELLING_EMAIL_SMTP_ENABLE\n\n_Enables the use of a SMTP email service. Only one type of email support should be used `Test`, `SMTP` or `AWS`._ \u003c/br\u003e\n\n\u003e **Default**: `false`\n\n##### TRAVELLING_EMAIL_SMTP_HOST\n\n_The host of the SMTP service._ \u003c/br\u003e\n\n\u003e **Default**: `127.0.0.1`\n\n##### TRAVELLING_EMAIL_SMTP_PORT\n\n_The port of the SMTP service._ \u003c/br\u003e\n\n\u003e **Default**: `465`\n\n##### TRAVELLING_EMAIL_SMTP_SECURE\n\n_Enables TLS for SMTP._ \u003c/br\u003e\n\n\u003e **Default**: `true`\n\n##### TRAVELLING_EMAIL_SMTP_AUTH_USER\n\n_Username for SMTP service._ \u003c/br\u003e\n\n\u003e **Default**: `null`\n\n##### TRAVELLING_EMAIL_SMTP_SECURE\n\n_Password for SMTP service._ \u003c/br\u003e\n\n\u003e **Default**: `null`\n\n##### TRAVELLING_EMAIL_SMTP_TLS_REJECT_UNAUTHORIZED\n\n_Enables rejection of TLS certs that are self served or invalid. Recommended to keep it enabled for [security](#security) reasons._ \u003c/br\u003e\n\n\u003e **Default**: `true`\n\n##### TRAVELLING_EMAIL_AWS_ENABLE\n\n_Enables the use of the AWS SES email service. Only one type of email support should be used `Test`, `SMTP` or `AWS`._ \u003c/br\u003e\n\n\u003e **Default**: `false`\n\n##### TRAVELLING_EMAIL_AWS_CONFIG\n\n_The absolute path to the AWS json credentials config to use for accessing the SES service. See AWS's configuration documentation on the format of this file._ \u003c/br\u003e\n\n\u003e **Default**: `null` // This needs to be set to use AWS SES email service.\n\n#### Templates\n\nTemplates all use html/handlebars. Check out the example default templates inside the `travelling/templates/` folder for examples.\n\n**Reset Template Variables**:\n\n| Variable     | Description                                                                                                                                                                                                               |\n| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `{{user}}`   | This is the user object for the reset email. Use dot notation to access any of its properties for example: `{{user.username}}`.                                                                                           |\n| `{{config}}` | This is the config object for Travelling. Use dot notation to access any of its properties for example `{{config.port}}`.                                                                                                 |\n| `{{token}} ` | The reset token that Travelling needs to reset the password. Recommended to just copy and paste the full a href from the [TRAVELLING_EMAIL_RESET_PASSWORD_TEMPLATE_BODY](#TRAVELLING_EMAIL_RESET_PASSWORD_TEMPLATE_BODY). |\n| `{{ip}}`     | This is the IP object from the user requesting the reset password. The following properties are valid. `query`,`city`, `regionName`, `country`.                                                                           |\n\n**Activation Template Variables**:\n\n| Variable     | Description                                                                                                                                                                                                                |\n| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `{{user}}`   | This is the user object for the activation email. Use dot notation to access any of its properties for example: `{{user.username}}`.                                                                                       |\n| `{{config}}` | This is the config object for Travelling. Use dot notation to access any of its properties for example `{{config.port}}`.                                                                                                  |\n| `{{token}} ` | The reset token that Travelling needs to activate the user's account. Recommended to just copy and paste the full a href from the [TRAVELLING_EMAIL_ACTIVATION_TEMPLATE_BODY](#TRAVELLING_EMAIL_ACTIVATION_TEMPLATE_BODY). |\n\n##### TRAVELLING_EMAIL_RESET_PASSWORD_TEMPLATE_BODY\n\n_The absolute path to the email reset password template body. This is used as the body inside all reset password emails._ \u003c/br\u003e\n\n\u003e **Default**: `travelling/templates/email-reset-password-body.html`\n\n##### TRAVELLING_EMAIL_RESET_PASSWORD_TEMPLATE_SUBJECT\n\n_The absolute path to the email reset password template subject. This is used as the subject line inside all reset password emails._ \u003c/br\u003e\n\n\u003e **Default**: `templates/email-reset-password-subject.html`\n\n##### TRAVELLING_EMAIL_ACTIVATION_TEMPLATE_BODY\n\n_The absolute path to the email activation template body. This is used as the body inside all activation emails._ \u003c/br\u003e\n\n\u003e **Default**: `templates/email-activation-body.html`\n\n##### TRAVELLING_EMAIL_ACTIVATION_TEMPLATE_SUBJECT\n\n_The absolute path to the email activation template subject.This is used as the subject line inside all activation emails._ \u003c/br\u003e\n\n\u003e **Default**: `templates/email-activation-subject.html`\n\n---\n\n### Registration\n\n##### TRAVELLING_REGISTRATION_REQUIRE_EMAIL_ACTIVATION\n\n_Enables the requirement of each newly registered user to activate their account through the email link._ \u003c/br\u003e\n\n\u003e **Default**: `false`\n\n##### TRAVELLING_REGISTRATION_REQUIRE_MANUAL_ACTIVATION\n\n_Enables the requirement of each newly registered user to have a active user with permissions to unlock their account for them._ \u003c/br\u003e\n\n\u003e **Default**: `false`\n\n## SDK\n\n[SDK](./sdk/README.md)\n\n## Classes\n\n\u003cdl\u003e\n\u003cdt\u003e\u003ca href=\"#Travelling\"\u003eTravelling\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#Audit\"\u003eAudit\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#AuditUser\"\u003eAuditUser\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#Config\"\u003eConfig\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#Groups\"\u003eGroups\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#GroupsType\"\u003eGroupsType\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#Group\"\u003eGroup\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#GroupUsers\"\u003eGroupUsers\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#GroupUser\"\u003eGroupUser\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#GroupType\"\u003eGroupType\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#GroupTypeUsers\"\u003eGroupTypeUsers\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003cp\u003eBoth requests are disabled. Dont use.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#GroupTypeUser\"\u003eGroupTypeUser\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#GroupRequest\"\u003eGroupRequest\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#GroupRequestUser\"\u003eGroupRequestUser\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#Users\"\u003eUsers\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#UsersDomain\"\u003eUsersDomain\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#User\"\u003eUser\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#UserDomain\"\u003eUserDomain\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#UserCurrent\"\u003eUserCurrent\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#Auth\"\u003eAuth\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003ch4 id=\"auth-endpoints\"\u003eAuth endpoints\u003c/h4\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#AuthToken\"\u003eAuthToken\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#AuthDomain\"\u003eAuthDomain\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#AuthDomainToken\"\u003eAuthDomainToken\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003c/dl\u003e\n\n## Functions\n\n\u003cdl\u003e\n\u003cdt\u003e\u003ca href=\"#SDK\"\u003eSDK(host, opts)\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003cp\u003eSDK - importing the SDK for use\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\n\u003ca name=\"Travelling\"\u003e\u003c/a\u003e\n\n## Travelling\n**Kind**: global class  \n\n* [Travelling](#Travelling)\n    * [.healthCheck(authorization_bearer)](#Travelling.healthCheck)\n    * [.metrics(authorization_bearer)](#Travelling.metrics)\n\n\u003ca name=\"Travelling.healthCheck\"\u003e\u003c/a\u003e\n\n### Travelling.healthCheck(authorization_bearer)\nhealthCheck - server's health check\n\nPath: health\n\n**Kind**: static method of [\u003ccode\u003eTravelling\u003c/code\u003e](#Travelling)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Travelling.metrics\"\u003e\u003c/a\u003e\n\n### Travelling.metrics(authorization_bearer)\nmetrics - servers metrics\n\nPath: metrics\n\n**Kind**: static method of [\u003ccode\u003eTravelling\u003c/code\u003e](#Travelling)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Audit\"\u003e\u003c/a\u003e\n\n## Audit\n**Kind**: global class  \n\n* [Audit](#Audit)\n    * [.byActionAndSubaction(action, subaction, limit, skip, sort, sortdir, filter, resolve, authorization_bearer)](#Audit.byActionAndSubaction)\n    * [.bySubaction(subaction, limit, skip, sort, sortdir, filter, resolve, authorization_bearer)](#Audit.bySubaction)\n    * [.byAction(action, limit, skip, sort, sortdir, filter, resolve, authorization_bearer)](#Audit.byAction)\n\n\u003ca name=\"Audit.byActionAndSubaction\"\u003e\u003c/a\u003e\n\n### Audit.byActionAndSubaction(action, subaction, limit, skip, sort, sortdir, filter, resolve, authorization_bearer)\nbyActionAndSubaction - Gets audits by action and subaction type.\n\n##### Filter Params\n\n\\*Note: you can only use range operators (\u003c,B \u003e,B \u003e=,B \u003c=) on the following columns: created_on.\n\n| Param | Description |\n| --- | --- |\n| id | _optional_ (example: id=415c87e9-eaad-4b8e-8ce8-655c911e20ae) |\n| created_on | _optional_ (example: created_on\u003e=2021-06-09) |\n| prop | _optional_ (example: prop=email) |\n| old_val | _optional_ (example: old_val=swagger@email.69) |\n| new_val | _optional_ (example: new_val=leet@teel.com) |\n\nPath: api/v1/audit/action/:action/subaction/:subaction\n\n**Kind**: static method of [\u003ccode\u003eAudit\u003c/code\u003e](#Audit)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| action | \u003ccode\u003eany\u003c/code\u003e | Audti action type. (example: CREATE) |\n| subaction | \u003ccode\u003eany\u003c/code\u003e | Audit subaction type. (example: GROUP) |\n| limit | \u003ccode\u003eany\u003c/code\u003e | Number of maximum results. (example: 2) (example: 2) |\n| skip | \u003ccode\u003eany\u003c/code\u003e | Number of db rows skipped. (example: 10) (example: 1) |\n| sort | \u003ccode\u003eany\u003c/code\u003e | Sort by any user object key (examples: created_on, action, etc.) (example: created_on) |\n| sortdir | \u003ccode\u003eany\u003c/code\u003e | Sort direction (example ascending order: ASC) (example: ASC) |\n| filter | \u003ccode\u003eany\u003c/code\u003e | Filter parameters (example: action=created_on\u003e2021-06-03,created_on\u003c2021-06-06) (example: created_on\u003e2021-06-03,created_on\u003c2021-06-06) |\n| resolve | \u003ccode\u003eany\u003c/code\u003e | Joins users table to obtain 'by_user_firstname' and 'by_user'lastname' fields (example: true) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Audit.bySubaction\"\u003e\u003c/a\u003e\n\n### Audit.bySubaction(subaction, limit, skip, sort, sortdir, filter, resolve, authorization_bearer)\nbySubaction - Gets audits by subaction type.\n\n##### Filter Params\n\n\\*Note: you can only use range operators (\u003c,B \u003e,B \u003e=,B \u003c=) on the following columns: created_on.\n\n| Param | Description |\n| --- | --- |\n| id | _optional_ (example: id=415c87e9-eaad-4b8e-8ce8-655c911e20ae) |\n| created_on | _optional_ (example: created_on\u003e=2021-06-09) |\n| prop | _optional_ (example: prop=email) |\n| old_val | _optional_ (example: old_val=swagger@email.69) |\n| new_val | _optional_ (example: new_val=leet@teel.com) |\n\nPath: api/v1/audit/subaction/:subaction\n\n**Kind**: static method of [\u003ccode\u003eAudit\u003c/code\u003e](#Audit)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| subaction | \u003ccode\u003eany\u003c/code\u003e | Audit subaction type. (example: USER) |\n| limit | \u003ccode\u003eany\u003c/code\u003e | Number of maximum results. (example: 2) (example: 2) |\n| skip | \u003ccode\u003eany\u003c/code\u003e | Number of db rows skipped. (example: 10) (example: 1) |\n| sort | \u003ccode\u003eany\u003c/code\u003e | Sort by any user object key (examples: created_on, action, etc.) (example: created_on) |\n| sortdir | \u003ccode\u003eany\u003c/code\u003e | Sort direction (example ascending order: ASC) (example: ASC) |\n| filter | \u003ccode\u003eany\u003c/code\u003e | Filter parameters (example: action=created_on\u003e2021-06-03,created_on\u003c2021-06-06) (example: created_on\u003e2021-06-03,created_on\u003c2021-06-06) |\n| resolve | \u003ccode\u003eany\u003c/code\u003e | Joins users table to obtain 'by_user_firstname' and 'by_user'lastname' fields (example: true) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Audit.byAction\"\u003e\u003c/a\u003e\n\n### Audit.byAction(action, limit, skip, sort, sortdir, filter, resolve, authorization_bearer)\nbyAction - Gets audits by action type.\n\n##### Filter Params\n\n\\*Note: you can only use range operators (\u003c,B \u003e,B \u003e=,B \u003c=) on the following columns: created_on.\n\n| Param | Description |\n| --- | --- |\n| id | _optional_ (example: id=415c87e9-eaad-4b8e-8ce8-655c911e20ae) |\n| created_on | _optional_ (example: created_on\u003e=2021-06-09) |\n| prop | _optional_ (example: prop=email) |\n| old_val | _optional_ (example: old_val=swagger@email.69) |\n| new_val | _optional_ (example: new_val=leet@teel.com) |\n\nPath: api/v1/audit/action/:action\n\n**Kind**: static method of [\u003ccode\u003eAudit\u003c/code\u003e](#Audit)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| action | \u003ccode\u003eany\u003c/code\u003e | Audit action type. (example: CREATE) |\n| limit | \u003ccode\u003eany\u003c/code\u003e | Number of maximum results. (example: 2) (example: 2) |\n| skip | \u003ccode\u003eany\u003c/code\u003e | Number of db rows skipped. (example: 10) (example: 1) |\n| sort | \u003ccode\u003eany\u003c/code\u003e | Sort by any user object key (examples: created_on, action, etc.) (example: created_on) |\n| sortdir | \u003ccode\u003eany\u003c/code\u003e | Sort direction (example ascending order: ASC) (example: ASC) |\n| filter | \u003ccode\u003eany\u003c/code\u003e | Filter parameters (example: action=created_on\u003e2021-06-03,created_on\u003c2021-06-06) (example: created_on\u003e2021-06-03,created_on\u003c2021-06-06) |\n| resolve | \u003ccode\u003eany\u003c/code\u003e | Joins users table to obtain 'by_user_firstname' and 'by_user'lastname' fields (example: true) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"AuditUser\"\u003e\u003c/a\u003e\n\n## AuditUser\n**Kind**: global class  \n\n* [AuditUser](#AuditUser)\n    * [.countByuserId(id, filter, limit, skip, sort, sortdir, selfexclusion, authorization_bearer)](#AuditUser.countByuserId)\n    * [.byuserId(id, filter, limit, skip, sort, sortdir, resolve, selfexclusion, authorization_bearer)](#AuditUser.byuserId)\n    * [.countOfuserId(id, filter, limit, skip, sort, sortdir, selfexclusion, authorization_bearer)](#AuditUser.countOfuserId)\n    * [.ofuserId(id, filter, limit, skip, sort, sortdir, resolve, selfexclusion, authorization_bearer)](#AuditUser.ofuserId)\n\n\u003ca name=\"AuditUser.countByuserId\"\u003e\u003c/a\u003e\n\n### AuditUser.countByuserId(id, filter, limit, skip, sort, sortdir, selfexclusion, authorization_bearer)\ncountByuserId - Gets audits by by_user id.\n\n##### Filter Params\n\n\\*Note: you can only use range operators (\u003c,B \u003e,B \u003e=,B \u003c=) on the following columns: created_on.\n\n| Param | Description |\n| --- | --- |\n| id | _optional_ (example: id=415c87e9-eaad-4b8e-8ce8-655c911e20ae) |\n| created_on | _optional_ (example: created_on\u003e=2021-06-09) |\n| action | _optional_ (example: action=CREATE) |\n| subaction | _optional_ (example: subaction=USER) |\n| prop | _optional_ (example: prop=email) |\n| old_val | _optional_ (example: old_val=swagger@email.69) |\n| new_val | _optional_ (example: new_val=leet@teel.com) |\n\nPath: api/v1/audit/count/user/byuser/:id\n\n**Kind**: static method of [\u003ccode\u003eAuditUser\u003c/code\u003e](#AuditUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Id of user that committed the action. (example: bf1b1e49-a105-43dc-b9a2-32c69a17fb5f) |\n| filter | \u003ccode\u003eany\u003c/code\u003e | Filter parameters (example: action=CREATE,subaction=USER,created_on\u003e2021-06-03,created_on\u003c2021-06-06) (example: created_on\u003e2023-01-03,created_on\u003c2023-06-06) |\n| limit | \u003ccode\u003eany\u003c/code\u003e | Number of maximum results. (example: 2) (example: 2) |\n| skip | \u003ccode\u003eany\u003c/code\u003e | Number of db rows skipped. (example: 10) (example: 1) |\n| sort | \u003ccode\u003eany\u003c/code\u003e | Sort by any user object key (examples: created_on, action, etc.) (example: created_on) |\n| sortdir | \u003ccode\u003eany\u003c/code\u003e | Sort direction (example ascending order: ASC) (example: ASC) |\n| selfexclusion | \u003ccode\u003eany\u003c/code\u003e | Excludes audits with the same of_user_id. (example: true) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"AuditUser.byuserId\"\u003e\u003c/a\u003e\n\n### AuditUser.byuserId(id, filter, limit, skip, sort, sortdir, resolve, selfexclusion, authorization_bearer)\nbyuserId - Gets audits by by_user id.\n\n##### Filter Params\n\n\\*Note: you can only use range operators (\u003c,B \u003e,B \u003e=,B \u003c=) on the following columns: created_on.\n\n| Param | Description |\n| --- | --- |\n| id | _optional_ (example: id=415c87e9-eaad-4b8e-8ce8-655c911e20ae) |\n| created_on | _optional_ (example: created_on\u003e=2021-06-09) |\n| action | _optional_ (example: action=CREATE) |\n| subaction | _optional_ (example: subaction=USER) |\n| prop | _optional_ (example: prop=email) |\n| old_val | _optional_ (example: old_val=swagger@email.69) |\n| new_val | _optional_ (example: new_val=leet@teel.com) |\n\nPath: api/v1/audit/user/byuser/:id\n\n**Kind**: static method of [\u003ccode\u003eAuditUser\u003c/code\u003e](#AuditUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Id of user that committed the action. (example: 44aa2ae6-22e9-43ef-a6d3-3d7d39e78064) |\n| filter | \u003ccode\u003eany\u003c/code\u003e | Filter parameters (example: action=CREATE,subaction=USER,created_on\u003e2021-06-03,created_on\u003c2021-06-06) (example: created_on\u003e2021-06-03,created_on\u003c2021-06-06) |\n| limit | \u003ccode\u003eany\u003c/code\u003e | Number of maximum results. (example: 2) (example: 2) |\n| skip | \u003ccode\u003eany\u003c/code\u003e | Number of db rows skipped. (example: 10) (example: 1) |\n| sort | \u003ccode\u003eany\u003c/code\u003e | Sort by any user object key (examples: created_on, action, etc.) (example: created_on) |\n| sortdir | \u003ccode\u003eany\u003c/code\u003e | Sort direction (example ascending order: ASC) (example: ASC) |\n| resolve | \u003ccode\u003eany\u003c/code\u003e | Joins users table to obtain 'by_user_firstname' and 'by_user'lastname' fields (example: true) |\n| selfexclusion | \u003ccode\u003eany\u003c/code\u003e | Excludes audits with the same of_user_id. (example: true) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"AuditUser.countOfuserId\"\u003e\u003c/a\u003e\n\n### AuditUser.countOfuserId(id, filter, limit, skip, sort, sortdir, selfexclusion, authorization_bearer)\ncountOfuserId - Gets audits by of_user id.\n\n##### Filter Params\n\n\\*Note: you can only use range operators (\u003c,B \u003e,B \u003e=,B \u003c=) on the following columns: created_on.\n\n| Param | Description |\n| --- | --- |\n| id | _optional_ (example: id=415c87e9-eaad-4b8e-8ce8-655c911e20ae) |\n| created_on | _optional_ (example: created_on\u003e=2021-06-09) |\n| action | _optional_ (example: action=CREATE) |\n| subaction | _optional_ (example: subaction=USER) |\n| prop | _optional_ (example: prop=email) |\n| old_val | _optional_ (example: old_val=swagger@email.69) |\n| new_val | _optional_ (example: new_val=leet@teel.com) |\n\nPath: api/v1/audit/count/user/ofuser/:id\n\n**Kind**: static method of [\u003ccode\u003eAuditUser\u003c/code\u003e](#AuditUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Id of user that committed the action. (example: bf1b1e49-a105-43dc-b9a2-32c69a17fb5f) |\n| filter | \u003ccode\u003eany\u003c/code\u003e | Filter parameters (example: action=CREATE,subaction=USER,created_on\u003e2021-06-03,created_on\u003c2021-06-06) (example: created_on\u003e2021-06-03,created_on\u003c2021-06-06) |\n| limit | \u003ccode\u003eany\u003c/code\u003e | Number of maximum results. (example: 2) (example: 2) |\n| skip | \u003ccode\u003eany\u003c/code\u003e | Number of db rows skipped. (example: 10) (example: 10) |\n| sort | \u003ccode\u003eany\u003c/code\u003e | Sort by any user object key (examples: created_on, action, etc.) (example: action) |\n| sortdir | \u003ccode\u003eany\u003c/code\u003e | Sort direction (example ascending order: ASC) (example: DESC) |\n| selfexclusion | \u003ccode\u003eany\u003c/code\u003e | Excludes audits with the same by_user_id. (example: true) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"AuditUser.ofuserId\"\u003e\u003c/a\u003e\n\n### AuditUser.ofuserId(id, filter, limit, skip, sort, sortdir, resolve, selfexclusion, authorization_bearer)\nofuserId - Gets audits by of_user id.\n\n##### Filter Params\n\n\\*Note: you can only use range operators (\u003c,B \u003e,B \u003e=,B \u003c=) on the following columns: created_on.\n\n| Param | Description |\n| --- | --- |\n| id | _optional_ (example: id=415c87e9-eaad-4b8e-8ce8-655c911e20ae) |\n| created_on | _optional_ (example: created_on\u003e=2021-06-09) |\n| action | _optional_ (example: action=CREATE) |\n| subaction | _optional_ (example: subaction=USER) |\n| prop | _optional_ (example: prop=email) |\n| old_val | _optional_ (example: old_val=swagger@email.69) |\n| new_val | _optional_ (example: new_val=leet@teel.com) |\n\nPath: api/v1/audit/user/ofuser/:id\n\n**Kind**: static method of [\u003ccode\u003eAuditUser\u003c/code\u003e](#AuditUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Id of user that committed the action. (example: 44aa2ae6-22e9-43ef-a6d3-3d7d39e78064) |\n| filter | \u003ccode\u003eany\u003c/code\u003e | Filter parameters (example: action=CREATE,subaction=USER,created_on\u003e2021-06-03,created_on\u003c2021-06-06) (example: created_on\u003e2021-06-03,created_on\u003c2021-06-06) |\n| limit | \u003ccode\u003eany\u003c/code\u003e | Number of maximum results. (example: 2) (example: 2) |\n| skip | \u003ccode\u003eany\u003c/code\u003e | Number of db rows skipped. (example: 10) (example: 10) |\n| sort | \u003ccode\u003eany\u003c/code\u003e | Sort by any user object key (examples: created_on, action, etc.) (example: action) |\n| sortdir | \u003ccode\u003eany\u003c/code\u003e | Sort direction (example ascending order: ASC) (example: DESC) |\n| resolve | \u003ccode\u003eany\u003c/code\u003e | Joins users table to obtain 'by_user_firstname' and 'by_user'lastname' fields (example: true) |\n| selfexclusion | \u003ccode\u003eany\u003c/code\u003e | Excludes audits with the same by_user_id. (example: true) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Config\"\u003e\u003c/a\u003e\n\n## Config\n**Kind**: global class  \n\u003ca name=\"Config.getProperty\"\u003e\u003c/a\u003e\n\n### Config.getProperty(property, authorization_bearer)\ngetProperty - Gets a property from travellings config.\n\nPath: api/v1/config/:property\n\n**Kind**: static method of [\u003ccode\u003eConfig\u003c/code\u003e](#Config)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| property | \u003ccode\u003eany\u003c/code\u003e | (example: password) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Groups\"\u003e\u003c/a\u003e\n\n## Groups\n**Kind**: global class  \n\n* [Groups](#Groups)\n    * [.export(authorization_bearer)](#Groups.export)\n    * [.import(body, authorization_bearer)](#Groups.import)\n    * [.get(authorization_bearer)](#Groups.get)\n\n\u003ca name=\"Groups.export\"\u003e\u003c/a\u003e\n\n### Groups.export(authorization_bearer)\nexport - Exports all groups in the proper format to be imported.\n\nPath: api/v1/groups/export\n\n**Kind**: static method of [\u003ccode\u003eGroups\u003c/code\u003e](#Groups)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Groups.import\"\u003e\u003c/a\u003e\n\n### Groups.import(body, authorization_bearer)\nimport - Imports all groups from the exported format.\n\nPath: api/v1/groups/import\n\n**Kind**: static method of [\u003ccode\u003eGroups\u003c/code\u003e](#Groups)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| body | \u003ccode\u003eObject\u003c/code\u003e |  |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n**Example**  \nbody\n```json\n{\n  \"group\": {\n    \"anonymous\": {\n      \"allowed\": [\n        {\"method\": \"GET\", \"route\": \"/account/portal/*\"},\n        {\"method\": \"GET\", \"route\": \"/account/assets/*\"},\n        {\"method\": \"GET\", \"route\": \"/favicon.ico\"},\n        {\"method\": \"GET\", \"route\": \"/account/api/v1/auth/logout\"},\n        {\"method\": \"PUT\", \"route\": \"/account/api/v1/auth/password/forgot\"},\n        {\"method\": \"PUT\", \"route\": \"/account/api/v1/auth/password/reset\"},\n        {\"method\": \"GET\", \"route\": \"/account/api/v1/auth/activate\"},\n        {\"method\": \"POST\", \"route\": \"/account/api/v1/auth/token\"},\n        {\"method\": \"GET\", \"route\": \"/account/api/v1/auth/login/otp\"},\n        {\"method\": \"POST\",\"route\":\"/account/api/v1/auth/oauth/authorize\"},\n        {\"method\": \"GET\",\"route\":\"/account/api/v1/auth/oauth/authorize\"},\n        {\"method\": \"GET\", \"route\": \"/account/api/v1/user/me/permission/allowed/*\"},\n        {\"method\": \"GET\", \"route\": \"/account/api/v1/user/me/route/allowed\"},\n        {\"method\": \"GET\", \"route\": \"/account/api/v1/config/password\"},\n        {\"method\": \"GET\", \"route\": \"/account/api/v1/config/portal/webclient\"},\n        {\"method\": \"GET\", \"route\": \"/account/metrics\"},\n        {\"method\": \"GET\", \"route\": \"/account/health\"}\n      ]\n    }\n  }\n}\n\n```\n\u003ca name=\"Groups.get\"\u003e\u003c/a\u003e\n\n### Groups.get(authorization_bearer)\nget - Get all the groups\n\nPath: api/v1/groups\n\n**Kind**: static method of [\u003ccode\u003eGroups\u003c/code\u003e](#Groups)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupsType\"\u003e\u003c/a\u003e\n\n## GroupsType\n**Kind**: global class  \n\n* [GroupsType](#GroupsType)\n    * [.all(type, authorization_bearer)](#GroupsType.all)\n    * [.getTypesList(authorization_bearer)](#GroupsType.getTypesList)\n\n\u003ca name=\"GroupsType.all\"\u003e\u003c/a\u003e\n\n### GroupsType.all(type, authorization_bearer)\nall - Gets all groups of a particular type\n\nPath: api/v1/groups/type/:type\n\n**Kind**: static method of [\u003ccode\u003eGroupsType\u003c/code\u003e](#GroupsType)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupsType.getTypesList\"\u003e\u003c/a\u003e\n\n### GroupsType.getTypesList(authorization_bearer)\ngetTypesList - Gets all the types of groups currently made.\n\nPath: api/v1/groups/types\n\n**Kind**: static method of [\u003ccode\u003eGroupsType\u003c/code\u003e](#GroupsType)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Group\"\u003e\u003c/a\u003e\n\n## Group\n**Kind**: global class  \n\n* [Group](#Group)\n    * [.addPermission(id, permission, authorization_bearer)](#Group.addPermission)\n    * [.deletePermission(id, permission, authorization_bearer)](#Group.deletePermission)\n    * [.addRoute(body, id, authorization_bearer)](#Group.addRoute)\n    * [.removeInheritance(id, inherited, grouptype, authorization_bearer)](#Group.removeInheritance)\n    * [.inheritFrom(id, inherited, grouptype, authorization_bearer)](#Group.inheritFrom)\n    * [.setDefault(id, authorization_bearer)](#Group.setDefault)\n    * [.delete(id, authorization_bearer)](#Group.delete)\n    * [.edit(body, id, authorization_bearer)](#Group.edit)\n    * [.get(id, authorization_bearer)](#Group.get)\n    * [.createByName(id, authorization_bearer)](#Group.createByName)\n    * [.create(body, authorization_bearer)](#Group.create)\n\n\u003ca name=\"Group.addPermission\"\u003e\u003c/a\u003e\n\n### Group.addPermission(id, permission, authorization_bearer)\naddPermission - Adds a permission to a group.\n\nPath: api/v1/group/id/:id/insert/permission/:permission\n\n**Kind**: static method of [\u003ccode\u003eGroup\u003c/code\u003e](#Group)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Name of the group (example: anonymous) |\n| permission | \u003ccode\u003eany\u003c/code\u003e | Permission (example: test-one-two-*) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Group.deletePermission\"\u003e\u003c/a\u003e\n\n### Group.deletePermission(id, permission, authorization_bearer)\ndeletePermission - Removes a permission/route from a group.\n\nPath: api/v1/group/id/:id/permission/:permission\n\n**Kind**: static method of [\u003ccode\u003eGroup\u003c/code\u003e](#Group)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Name of the group (example: anonymous) |\n| permission | \u003ccode\u003eany\u003c/code\u003e | Name or Route (example: test-one-two-*) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Group.addRoute\"\u003e\u003c/a\u003e\n\n### Group.addRoute(body, id, authorization_bearer)\naddRoute - Adds a route to a group.\n\n```javascript\n{\n    \"route\": \"test/permissions/*\", // optional\n    \"host\": null, // optional, defaults to travelling host\n    \"method\": \"*\", // optional, defaults to '*'\n    \"remove_from_path\": 'test/', // optional \n    \"name\": \"test-permissions-*\"  // Required and needs to be unqiue, defaults to method + route seperated by '-' instead of `/`\n}\n```\n\nPath: api/v1/group/id/:id/insert/route\n\n**Kind**: static method of [\u003ccode\u003eGroup\u003c/code\u003e](#Group)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| body | \u003ccode\u003eObject\u003c/code\u003e |  |\n| id | \u003ccode\u003eany\u003c/code\u003e |  |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n**Example**  \nbody\n```json\n{\n\t\"route\": \"test/permissions/*\",\n    \"host\": null, \n    \"method\": \"*\", \n    \"name\": \"test-permissions-*\"  \n}\n```\n\u003ca name=\"Group.removeInheritance\"\u003e\u003c/a\u003e\n\n### Group.removeInheritance(id, inherited, grouptype, authorization_bearer)\nremoveInheritance - Removes an inheritance from a group.\n\nPath: api/v1/group/id/:id/remove/inheritance/:inherited/type/:grouptype\n\n**Kind**: static method of [\u003ccode\u003eGroup\u003c/code\u003e](#Group)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Name of the group (example: test1234) |\n| inherited | \u003ccode\u003eany\u003c/code\u003e | Name of the group to inherit from (example: group4) |\n| grouptype | \u003ccode\u003eany\u003c/code\u003e | The type of the inherited group |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Group.inheritFrom\"\u003e\u003c/a\u003e\n\n### Group.inheritFrom(id, inherited, grouptype, authorization_bearer)\ninheritFrom - Adds an inheritance to a group.\n\nPath: api/v1/group/id/:id/inherit/from/:inherited/type/:grouptype\n\n**Kind**: static method of [\u003ccode\u003eGroup\u003c/code\u003e](#Group)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Name of the group (example: test1234) |\n| inherited | \u003ccode\u003eany\u003c/code\u003e | Name of the group to inherit from (example: group4) |\n| grouptype | \u003ccode\u003eany\u003c/code\u003e | The type of the inherited group |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Group.setDefault\"\u003e\u003c/a\u003e\n\n### Group.setDefault(id, authorization_bearer)\nsetDefault - Sets the group to be the default group for new users.\n\nPath: api/v1/group/id/:id/set/default\n\n**Kind**: static method of [\u003ccode\u003eGroup\u003c/code\u003e](#Group)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name (example: group6) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Group.delete\"\u003e\u003c/a\u003e\n\n### Group.delete(id, authorization_bearer)\ndelete - delete group by its id or name\n\nPath: api/v1/group/id/:id\n\n**Kind**: static method of [\u003ccode\u003eGroup\u003c/code\u003e](#Group)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name  (example: group1) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Group.edit\"\u003e\u003c/a\u003e\n\n### Group.edit(body, id, authorization_bearer)\nedit - Edits a group\n\nPath: api/v1/group/id/:id\n\n**Kind**: static method of [\u003ccode\u003eGroup\u003c/code\u003e](#Group)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| body | \u003ccode\u003eObject\u003c/code\u003e |  |\n| id | \u003ccode\u003eany\u003c/code\u003e | (example: ab31efc8-40a5-4d38-a347-adb4e38d0075) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n**Example**  \nbody\n```json\n{\n    \"allowed\": [\n        {\n            \"route\": \"/travelling/portal/*\",\n            \"host\": null,\n            \"remove_from_path\": \"/travelling/portal\",\n            \"method\": \"*\",\n            \"name\": \"*-travelling-portal-*\"\n        },\n        {\n            \"route\": \"/travelling/api/v1/auth/*\",\n            \"host\": null,\n            \"method\": \"*\",\n            \"name\": \"*-travelling-api-v1-auth-*\"\n        },\n        {\n            \"route\": \"/travelling/api/v1/user/me/route/allowed\",\n            \"host\": null,\n            \"method\": \"GET\",\n            \"name\": \"get-travelling-api-v1-user-me-route-allowed\"\n        },\n        {\n            \"route\": \"/travelling/api/v1/user/me/permission/allowed/*\",\n            \"host\": null,\n            \"method\": \"GET\",\n            \"name\": \"get-travelling-api-v1-user-me-permission-allowed-*\"\n        },\n        {\n            \"route\": \"/travelling/assets/*\",\n            \"host\": null,\n            \"remove_from_path\": \"/travelling/assets/\",\n            \"method\": \"*\",\n            \"name\": \"*-travelling-assets-*\"\n        },\n        {\n            \"route\": \"travelling/api/v1/config/password\",\n            \"host\": null,\n            \"method\": \"get\"\n        }\n    ]\n}\n```\n\u003ca name=\"Group.get\"\u003e\u003c/a\u003e\n\n### Group.get(id, authorization_bearer)\nget - Get a group by it's id or name.\n\nPath: api/v1/group/id/:id\n\n**Kind**: static method of [\u003ccode\u003eGroup\u003c/code\u003e](#Group)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name  (example: group1) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Group.createByName\"\u003e\u003c/a\u003e\n\n### Group.createByName(id, authorization_bearer)\ncreateByName - Add a new blank group with the set name.\n\nPath: api/v1/group/id/:id\n\n**Kind**: static method of [\u003ccode\u003eGroup\u003c/code\u003e](#Group)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Name of the new group (example: test123) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Group.create\"\u003e\u003c/a\u003e\n\n### Group.create(body, authorization_bearer)\ncreate - Add a new group\n\nPath: api/v1/group\n\n**Kind**: static method of [\u003ccode\u003eGroup\u003c/code\u003e](#Group)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| body | \u003ccode\u003eObject\u003c/code\u003e |  |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n**Example**  \nbody\n```json\n{\n    \"name\": \"group1\",\n    \"type\": \"testgroup\",\n    \"allowed\": [\n        {\n            \"route\": \"/test\",\n            \"host\": \"http://127.0.0.1:1237/\",\n            \"remove_from_path\": \"test\",\n            \"method\": \"*\",\n            \"name\": \"all-test\"\n        }\n    ],\n    \"is_default\": false\n}\n```\n\u003ca name=\"GroupUsers\"\u003e\u003c/a\u003e\n\n## GroupUsers\n**Kind**: global class  \n\n* [GroupUsers](#GroupUsers)\n    * [.inherited(id)](#GroupUsers.inherited)\n    * [.count(id, filter, limit, skip, authorization_bearer)](#GroupUsers.count)\n    * [.get(id, filter, limit, skip, sort, sortdir, authorization_bearer)](#GroupUsers.get)\n\n\u003ca name=\"GroupUsers.inherited\"\u003e\u003c/a\u003e\n\n### GroupUsers.inherited(id)\ninherited - Gets all the users that belong to the group and all of its inherited groups.\n\n##### Optional Query Params\n\n| Param | Description |\n| --- | --- |\n| id | *optional* (example:  26c6aeff-ab95-4bdd-8260-534cf92d1c23) |\n| username | *optional* (example:  user7) |\n| locked | *optional* (example:  true) |\n| locked_reason | *optional* (example:  Activation Required email your admin to get your account activated) |\n| group_request | *optional* (example:  superadmin) |\n| failed_login_attempts | *optional* (example:  0) |\n| change_username | *optional* (example:  false) |\n| change_password | *optional* (example:  false) |\n| reset_password | *optional* (example:  false) |\n| email_verify | *optional* (example:  false) |\n| group_id | *optional* (example:  7320292c-627e-4e5a-b059-583eabdd6264) |\n| email | *optional* (example:  test@test.ai) |\n| created_on | *optional* (example:  1568419646794) |\n| last_login | *optional* (example:  null) |\n\nPath: api/v1/group/id/:id/users/inherited\n\n**Kind**: static method of [\u003ccode\u003eGroupUsers\u003c/code\u003e](#GroupUsers)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name (example: superadmin) |\n\n\u003ca name=\"GroupUsers.count\"\u003e\u003c/a\u003e\n\n### GroupUsers.count(id, filter, limit, skip, authorization_bearer)\ncount - Gets all the users that belong to the group.\n\n##### Optional Query Params\n\n\\*Note: you can only use range operators (\u003c,B \u003e,B \u003e=,B \u003c=) on the following columns: created_on, updated_on, dob.\n\n| Param | Description |\n| --- | --- |\n| id | _optional_ (example: 26c6aeff-ab95-4bdd-8260-534cf92d1c23) |\n| username | _optional_ (example: user7) |\n| locked | _optional_ (example: true) |\n| locked_reason | _optional_ (example: Activation Required email your admin to get your account activated) |\n| group_request | _optional_ (example: superadmin) |\n| failed_login_attempts | _optional_ (example: 0) |\n| change_username | _optional_ (example: false) |\n| change_password | _optional_ (example: false) |\n| reset_password | _optional_ (example: false) |\n| email_verify | _optional_ (example: false) |\n| group_id | _optional_ (example: 7320292c-627e-4e5a-b059-583eabdd6264) |\n| email | _optional_ (example: [test@test.ai](mailto:test@test.ai)) |\n| created_on | _optional_ (example: 1568419646794) |\n| last_login | _optional_ (example: null) |\n\nPath: api/v1/group/id/:id/users/count\n\n**Kind**: static method of [\u003ccode\u003eGroupUsers\u003c/code\u003e](#GroupUsers)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Group name or ID. (example: superadmin) |\n| filter | \u003ccode\u003eany\u003c/code\u003e | Filter parameters (example: locked=false,created_on\u003e2021-06-03,created_on\u003c2021-06-06) (example: locked=false,created_on\u003e2021-06-03,created_on\u003c2021-06-06) |\n| limit | \u003ccode\u003eany\u003c/code\u003e | Number of maximum results. (example: 10) (example: 10) |\n| skip | \u003ccode\u003eany\u003c/code\u003e | Number of db rows skipped. (example: 2) (example: 2) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupUsers.get\"\u003e\u003c/a\u003e\n\n### GroupUsers.get(id, filter, limit, skip, sort, sortdir, authorization_bearer)\nget - Gets all the users that belong to the group.\n\n##### Optional Query Params\n\n\\*Note: you can only use range operators (\u003c,B \u003e,B \u003e=,B \u003c=) on the following columns: created_on, updated_on, dob.\n\n| Param | Description |\n| --- | --- |\n| id | _optional_ (example: 26c6aeff-ab95-4bdd-8260-534cf92d1c23) |\n| username | _optional_ (example: user7) |\n| locked | _optional_ (example: true) |\n| locked_reason | _optional_ (example: Activation Required email your admin to get your account activated) |\n| group_request | _optional_ (example: superadmin) |\n| failed_login_attempts | _optional_ (example: 0) |\n| change_username | _optional_ (example: false) |\n| change_password | _optional_ (example: false) |\n| reset_password | _optional_ (example: false) |\n| email_verify | _optional_ (example: false) |\n| group_id | _optional_ (example: 7320292c-627e-4e5a-b059-583eabdd6264) |\n| email | _optional_ (example: [test@test.ai](mailto:test@test.ai)) |\n| created_on | _optional_ (example: 1568419646794) |\n| last_login | _optional_ (example: null) |\n\nPath: api/v1/group/id/:id/users\n\n**Kind**: static method of [\u003ccode\u003eGroupUsers\u003c/code\u003e](#GroupUsers)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Group name or ID. (example: superadmin) |\n| filter | \u003ccode\u003eany\u003c/code\u003e | Filter parameters (example: locked=false,created_on\u003e2021-06-03,created_on\u003c2021-06-06) (example: locked=false,created_on\u003e2021-06-03,created_on\u003c2021-06-06) |\n| limit | \u003ccode\u003eany\u003c/code\u003e | Number of maximum results. (example: 10) (example: 10) |\n| skip | \u003ccode\u003eany\u003c/code\u003e | Number of db rows skipped. (example: 2) (example: 2) |\n| sort | \u003ccode\u003eany\u003c/code\u003e | Sort by any user object key (examples: id, domain, locked, etc.) (example: created_on) |\n| sortdir | \u003ccode\u003eany\u003c/code\u003e | Sort direction (example ascending order: ASC) (example: ASC) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupUser\"\u003e\u003c/a\u003e\n\n## GroupUser\n**Kind**: global class  \n\n* [GroupUser](#GroupUser)\n    * [.delete(group, type, id, authorization_bearer)](#GroupUser.delete)\n    * [.removeGroupInheritance(group, type, id, inheritgroupid, inheritgrouptype, authorization_bearer)](#GroupUser.removeGroupInheritance)\n    * [.addGroupInheritance(group, type, id, inheritgroupid, inheritgrouptype, authorization_bearer)](#GroupUser.addGroupInheritance)\n    * [.editPropertyValue(group, type, id, property, value, authorization_bearer)](#GroupUser.editPropertyValue)\n    * [.editProperty(body, group, type, id, property, authorization_bearer)](#GroupUser.editProperty)\n    * [.edit(body, group, type, id, authorization_bearer)](#GroupUser.edit)\n    * [.getProperty(group, type, id, property, authorization_bearer)](#GroupUser.getProperty)\n    * [.get(group, type, id, authorization_bearer)](#GroupUser.get)\n\n\u003ca name=\"GroupUser.delete\"\u003e\u003c/a\u003e\n\n### GroupUser.delete(group, type, id, authorization_bearer)\ndelete - Delete a user by it's id or username from group of a particular type.\n\nPath: api/v1/group/id/:group/type/:type/user/:id\n\n**Kind**: static method of [\u003ccode\u003eGroupUser\u003c/code\u003e](#GroupUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| group | \u003ccode\u003eany\u003c/code\u003e | id or name of the group |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: accounts) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name (example: user7) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupUser.removeGroupInheritance\"\u003e\u003c/a\u003e\n\n### GroupUser.removeGroupInheritance(group, type, id, inheritgroupid, inheritgrouptype, authorization_bearer)\nremoveGroupInheritance - Remove a user to a group of a particular type of group.\n\nPath: api/v1/group/id/:group/type/:type/user/:id/inheritance/group/:inheritgroupid/type/:inheritgrouptype\n\n**Kind**: static method of [\u003ccode\u003eGroupUser\u003c/code\u003e](#GroupUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| group | \u003ccode\u003eany\u003c/code\u003e | id or name of the group (example: group1) |\n| type | \u003ccode\u003eany\u003c/code\u003e | type of group (example: group) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name of the user (example: user5) |\n| inheritgroupid | \u003ccode\u003eany\u003c/code\u003e | id or name of the  group to inherit (example: group2) |\n| inheritgrouptype | \u003ccode\u003eany\u003c/code\u003e | type of the  group to inherit (example: group) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupUser.addGroupInheritance\"\u003e\u003c/a\u003e\n\n### GroupUser.addGroupInheritance(group, type, id, inheritgroupid, inheritgrouptype, authorization_bearer)\naddGroupInheritance - Add a group for the current user from a group of a particular type.\n\nPath: api/v1/group/id/:group/type/:type/user/:id/inheritance/group/:inheritgroupid/type/:inheritgrouptype\n\n**Kind**: static method of [\u003ccode\u003eGroupUser\u003c/code\u003e](#GroupUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| group | \u003ccode\u003eany\u003c/code\u003e | id or name of the group (example: group1) |\n| type | \u003ccode\u003eany\u003c/code\u003e | type of group (example: group) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name of the user (example: user5) |\n| inheritgroupid | \u003ccode\u003eany\u003c/code\u003e | id or name of the  group to inherit (example: group2) |\n| inheritgrouptype | \u003ccode\u003eany\u003c/code\u003e | type of the  group to inherit (example: group) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupUser.editPropertyValue\"\u003e\u003c/a\u003e\n\n### GroupUser.editPropertyValue(group, type, id, property, value, authorization_bearer)\neditPropertyValue - Edit a current user's property data as a path param from a group of a particular type.\n\nPath: api/v1/group/id/:group/type/:type/user/:id/property/:property/:value\n\n**Kind**: static method of [\u003ccode\u003eGroupUser\u003c/code\u003e](#GroupUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| group | \u003ccode\u003eany\u003c/code\u003e | id or name of the group |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: group) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name (example: user5) |\n| property | \u003ccode\u003eany\u003c/code\u003e | (example: email) |\n| value | \u003ccode\u003eany\u003c/code\u003e | (example: swag@yolo.com) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupUser.editProperty\"\u003e\u003c/a\u003e\n\n### GroupUser.editProperty(body, group, type, id, property, authorization_bearer)\neditProperty - Edit a user's property by it's id or username from a group of a particular type.\n\nPath: api/v1/group/id/:group/type/:type/user/:id/property/:property\n\n**Kind**: static method of [\u003ccode\u003eGroupUser\u003c/code\u003e](#GroupUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| body | \u003ccode\u003eObject\u003c/code\u003e |  |\n| group | \u003ccode\u003eany\u003c/code\u003e | id or name of the group |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: accounts) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name (example: user6) |\n| property | \u003ccode\u003eany\u003c/code\u003e | (example: email) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n**Example**  \nbody\n```json\n{\n\t\"locked\": false\n}\n```\n\u003ca name=\"GroupUser.edit\"\u003e\u003c/a\u003e\n\n### GroupUser.edit(body, group, type, id, authorization_bearer)\nedit - Edit a user by it's id or username from group of a particular type.\n\nPath: api/v1/group/id/:group/type/:type/user/:id\n\n**Kind**: static method of [\u003ccode\u003eGroupUser\u003c/code\u003e](#GroupUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| body | \u003ccode\u003eObject\u003c/code\u003e |  |\n| group | \u003ccode\u003eany\u003c/code\u003e | id or name of the group |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: accounts) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name (example: user6) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n**Example**  \nbody\n```json\n{\n\t\"locked\": false\n}\n```\n\u003ca name=\"GroupUser.getProperty\"\u003e\u003c/a\u003e\n\n### GroupUser.getProperty(group, type, id, property, authorization_bearer)\ngetProperty - Get a user's property by it's id or username from group of a particular type.\n\nPath: api/v1/group/id/:group/type/:type/user/:id/property/:property\n\n**Kind**: static method of [\u003ccode\u003eGroupUser\u003c/code\u003e](#GroupUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| group | \u003ccode\u003eany\u003c/code\u003e | id or name of the group |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: accounts) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name (example: user6) |\n| property | \u003ccode\u003eany\u003c/code\u003e | (example: email) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupUser.get\"\u003e\u003c/a\u003e\n\n### GroupUser.get(group, type, id, authorization_bearer)\nget - Get a user by it's id or username from group of a particular type.\n\nPath: api/v1/group/id/:group/type/:type/user/:id\n\n**Kind**: static method of [\u003ccode\u003eGroupUser\u003c/code\u003e](#GroupUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| group | \u003ccode\u003eany\u003c/code\u003e | id or name of the group |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: accounts) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name (example: user6) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupType\"\u003e\u003c/a\u003e\n\n## GroupType\n**Kind**: global class  \n\n* [GroupType](#GroupType)\n    * [.deletePermission(id, type, permission, authorization_bearer)](#GroupType.deletePermission)\n    * [.addPermission(id, type, permission, authorization_bearer)](#GroupType.addPermission)\n    * [.addRoute(body, id, type, authorization_bearer)](#GroupType.addRoute)\n    * [.removeInheritance(id, type, inherited, grouptype, authorization_bearer)](#GroupType.removeInheritance)\n    * [.inheritFrom(id, type, inherited, grouptype, authorization_bearer)](#GroupType.inheritFrom)\n    * [.setDefault(id, type)](#GroupType.setDefault)\n    * [.delete(id, type, authorization_bearer)](#GroupType.delete)\n    * [.get(id, type, authorization_bearer)](#GroupType.get)\n    * [.edit(body, id, type, authorization_bearer)](#GroupType.edit)\n    * [.createByName(id, type, authorization_bearer)](#GroupType.createByName)\n    * [.create(body, type, authorization_bearer)](#GroupType.create)\n\n\u003ca name=\"GroupType.deletePermission\"\u003e\u003c/a\u003e\n\n### GroupType.deletePermission(id, type, permission, authorization_bearer)\ndeletePermission - Removes a permission/route from a group of a particular type.\n\nPath: api/v1/group/id/:id/type/:type/permission/:permission\n\n**Kind**: static method of [\u003ccode\u003eGroupType\u003c/code\u003e](#GroupType)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Name of the group (example: anonymous) |\n| type | \u003ccode\u003eany\u003c/code\u003e | Type of the group (example: group) |\n| permission | \u003ccode\u003eany\u003c/code\u003e | Name or Route (example: test-one-three-*) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupType.addPermission\"\u003e\u003c/a\u003e\n\n### GroupType.addPermission(id, type, permission, authorization_bearer)\naddPermission - Adds a permission to a group of a particular type.\n\nPath: api/v1/group/id/:id/type/:type/insert/permission/:permission\n\n**Kind**: static method of [\u003ccode\u003eGroupType\u003c/code\u003e](#GroupType)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Name of the group (example: anonymous) |\n| type | \u003ccode\u003eany\u003c/code\u003e | Type of the group (example: group) |\n| permission | \u003ccode\u003eany\u003c/code\u003e | Permission  (example: test-one-three-*) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupType.addRoute\"\u003e\u003c/a\u003e\n\n### GroupType.addRoute(body, id, type, authorization_bearer)\naddRoute - Adds a route to a group of a particular type.\n\n```javascript\n{\n    \"route\": \"test/permissions/*\", // optional\n    \"host\": null, // optional, defaults to travelling host\n    \"method\": \"*\", // optional, defaults to '*'\n    \"remove_from_path\": 'test/', // optional \n    \"name\": \"test-permissions-*\"  // Required and needs to be unqiue, defaults to method + route seperated by '-' instead of `/`\n}\n```\n\nPath: api/v1/group/id/:id/type/:type/insert/route\n\n**Kind**: static method of [\u003ccode\u003eGroupType\u003c/code\u003e](#GroupType)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| body | \u003ccode\u003eObject\u003c/code\u003e |  |\n| id | \u003ccode\u003eany\u003c/code\u003e | Name of the group |\n| type | \u003ccode\u003eany\u003c/code\u003e |  |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n**Example**  \nbody\n```json\n{\n\t\"route\": \"test/permissions/*\",\n    \"host\": null, \n    \"method\": \"*\", \n    \"name\": \"test-permissions-*\"  \n}\n```\n\u003ca name=\"GroupType.removeInheritance\"\u003e\u003c/a\u003e\n\n### GroupType.removeInheritance(id, type, inherited, grouptype, authorization_bearer)\nremoveInheritance - Removes an inheritance from a group of a particular type.\n\nPath: api/v1/group/id/:id/type/:type/remove/inheritance/:inherited/type/:grouptype\n\n**Kind**: static method of [\u003ccode\u003eGroupType\u003c/code\u003e](#GroupType)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Name of the group (example: test1234) |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: accounts) |\n| inherited | \u003ccode\u003eany\u003c/code\u003e | Name of the group to inherit from (example: superadmin) |\n| grouptype | \u003ccode\u003eany\u003c/code\u003e | The type of the inherited group |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupType.inheritFrom\"\u003e\u003c/a\u003e\n\n### GroupType.inheritFrom(id, type, inherited, grouptype, authorization_bearer)\ninheritFrom - Adds an inheritance to a group of a particular type.\n\nPath: api/v1/group/id/:id/type/:type/inherit/from/:inherited/type/:grouptype\n\n**Kind**: static method of [\u003ccode\u003eGroupType\u003c/code\u003e](#GroupType)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Name of the group (example: group1) |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: testgroup) |\n| inherited | \u003ccode\u003eany\u003c/code\u003e | Name of the group to inherit from (example: test123) |\n| grouptype | \u003ccode\u003eany\u003c/code\u003e | The type of the inherited group |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupType.setDefault\"\u003e\u003c/a\u003e\n\n### GroupType.setDefault(id, type)\nsetDefault - Sets the group of a particular type to be the default group for new users.\n\nPath: api/v1/group/id/:id/type/:type/set/default\n\n**Kind**: static method of [\u003ccode\u003eGroupType\u003c/code\u003e](#GroupType)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name (example: group1) |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: account) |\n\n\u003ca name=\"GroupType.delete\"\u003e\u003c/a\u003e\n\n### GroupType.delete(id, type, authorization_bearer)\ndelete - delete group of a particular type by its name or id\n\nPath: api/v1/group/id/:id/type/:type\n\n**Kind**: static method of [\u003ccode\u003eGroupType\u003c/code\u003e](#GroupType)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupType.get\"\u003e\u003c/a\u003e\n\n### GroupType.get(id, type, authorization_bearer)\nget - Get a group by it's id or name of a particular type.\n\nPath: api/v1/group/id/:id/type/:type\n\n**Kind**: static method of [\u003ccode\u003eGroupType\u003c/code\u003e](#GroupType)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name  (example: group1) |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: accounts) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupType.edit\"\u003e\u003c/a\u003e\n\n### GroupType.edit(body, id, type, authorization_bearer)\nedit - Edits a group of a particular type\n\nPath: api/v1/group/id/:id/type/:type\n\n**Kind**: static method of [\u003ccode\u003eGroupType\u003c/code\u003e](#GroupType)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| body | \u003ccode\u003eObject\u003c/code\u003e |  |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n**Example**  \nbody\n```json\n{\"inherited\":[\"a717b880-b17b-4995-9610-cf451a06d015\",\"7ec8c351-7b8a-4ea8-95cc-0d990b225768\"]}\n```\n\u003ca name=\"GroupType.createByName\"\u003e\u003c/a\u003e\n\n### GroupType.createByName(id, type, authorization_bearer)\ncreateByName - Add a new blank group with the set name and type\n\nPath: api/v1/group/id/:id/type/:type\n\n**Kind**: static method of [\u003ccode\u003eGroupType\u003c/code\u003e](#GroupType)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Name of the new group (example: test1234) |\n| type | \u003ccode\u003eany\u003c/code\u003e | Type of the new group (example: accounts) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupType.create\"\u003e\u003c/a\u003e\n\n### GroupType.create(body, type, authorization_bearer)\ncreate - Add a new group of a particular type\n\nPath: api/v1/group/type/:type\n\n**Kind**: static method of [\u003ccode\u003eGroupType\u003c/code\u003e](#GroupType)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| body | \u003ccode\u003eObject\u003c/code\u003e |  |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n**Example**  \nbody\n```json\n{\n    \"name\": \"group1\",\n    \"type\": \"accounts\",\n    \"allowed\": [\n        {\n            \"route\": \"/test\",\n            \"host\": \"http://127.0.0.1:1237/\",\n            \"remove_from_path\": \"test\",\n            \"method\": \"*\",\n            \"name\": \"all-test\"\n        }\n    ],\n    \"is_default\": false\n}\n```\n\u003ca name=\"GroupTypeUsers\"\u003e\u003c/a\u003e\n\n## GroupTypeUsers\nBoth requests are disabled. Dont use.\n\n**Kind**: global class  \n\n* [GroupTypeUsers](#GroupTypeUsers)\n    * [.inherited(id, type)](#GroupTypeUsers.inherited)\n    * [.count(id, type, filter, limit, skip, authorization_bearer)](#GroupTypeUsers.count)\n    * [.get(id, type, filter, limit, skip, sort, sortdir, authorization_bearer)](#GroupTypeUsers.get)\n\n\u003ca name=\"GroupTypeUsers.inherited\"\u003e\u003c/a\u003e\n\n### GroupTypeUsers.inherited(id, type)\ninherited - Gets all the users that belong to the group  of a particular type by its name or id and all of its inherited groups.\n\n##### Optional Query Params\n\n| Param | Description |\n| --- | --- |\n| id | *optional* (example:  26c6aeff-ab95-4bdd-8260-534cf92d1c23) |\n| username | *optional* (example:  user7) |\n| locked | *optional* (example:  true) |\n| locked_reason | *optional* (example:  Activation Required email your admin to get your account activated) |\n| group_request | *optional* (example:  superadmin) |\n| failed_login_attempts | *optional* (example:  0) |\n| change_username | *optional* (example:  false) |\n| change_password | *optional* (example:  false) |\n| reset_password | *optional* (example:  false) |\n| email_verify | *optional* (example:  false) |\n| group_id | *optional* (example:  7320292c-627e-4e5a-b059-583eabdd6264) |\n| email | *optional* (example:  test@test.ai) |\n| created_on | *optional* (example:  1568419646794) |\n| last_login | *optional* (example:  null) |\n\nPath: api/v1/group/id/:id/type/:type/users/inherited\n\n**Kind**: static method of [\u003ccode\u003eGroupTypeUsers\u003c/code\u003e](#GroupTypeUsers)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | (example: group4) |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: groups) |\n\n\u003ca name=\"GroupTypeUsers.count\"\u003e\u003c/a\u003e\n\n### GroupTypeUsers.count(id, type, filter, limit, skip, authorization_bearer)\ncount - Gets all the users that belong to the group of a particular type by its name or id.\n\n##### Optional Query Params\n\n\\*Note: you can only use range operators (\u003c,B \u003e,B \u003e=,B \u003c=) on the following columns: created_on, updated_on, dob.\n\n| Param | Description |\n| --- | --- |\n| id | _optional_ (example: 26c6aeff-ab95-4bdd-8260-534cf92d1c23) |\n| username | _optional_ (example: user7) |\n| locked | _optional_ (example: true) |\n| locked_reason | _optional_ (example: Activation Required email your admin to get your account activated) |\n| group_request | _optional_ (example: superadmin) |\n| failed_login_attempts | _optional_ (example: 0) |\n| change_username | _optional_ (example: false) |\n| change_password | _optional_ (example: false) |\n| reset_password | _optional_ (example: false) |\n| email_verify | _optional_ (example: false) |\n| group_id | _optional_ (example: 7320292c-627e-4e5a-b059-583eabdd6264) |\n| email | _optional_ (example: [test@test.ai](mailto:test@test.ai)) |\n| created_on | _optional_ (example: 1568419646794) |\n| last_login | _optional_ (example: null) |\n\nPath: api/v1/group/id/:id/type/:type/users/count\n\n**Kind**: static method of [\u003ccode\u003eGroupTypeUsers\u003c/code\u003e](#GroupTypeUsers)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Group name or ID. (example: superadmin) |\n| type | \u003ccode\u003eany\u003c/code\u003e | Group type. (example: group) |\n| filter | \u003ccode\u003eany\u003c/code\u003e | Filter parameters (example: locked=false,created_on\u003e2021-06-03,created_on\u003c2021-06-06) (example: locked=false,created_on\u003e2021-06-03,created_on\u003c2021-06-06) |\n| limit | \u003ccode\u003eany\u003c/code\u003e | Number of maximum results. (example: 10) (example: 10) |\n| skip | \u003ccode\u003eany\u003c/code\u003e | Number of db rows skipped. (example: 2) (example: 2) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupTypeUsers.get\"\u003e\u003c/a\u003e\n\n### GroupTypeUsers.get(id, type, filter, limit, skip, sort, sortdir, authorization_bearer)\nget - Gets all the users that belong to the group of a particular type by its name or id.\n\n##### Optional Query Params\n\n\\*Note: you can only use range operators (\u003c,B \u003e,B \u003e=,B \u003c=) on the following columns: created_on, updated_on, dob.\n\n| Param | Description |\n| --- | --- |\n| id | _optional_ (example: 26c6aeff-ab95-4bdd-8260-534cf92d1c23) |\n| username | _optional_ (example: user7) |\n| locked | _optional_ (example: true) |\n| locked_reason | _optional_ (example: Activation Required email your admin to get your account activated) |\n| group_request | _optional_ (example: superadmin) |\n| failed_login_attempts | _optional_ (example: 0) |\n| change_username | _optional_ (example: false) |\n| change_password | _optional_ (example: false) |\n| reset_password | _optional_ (example: false) |\n| email_verify | _optional_ (example: false) |\n| group_id | _optional_ (example: 7320292c-627e-4e5a-b059-583eabdd6264) |\n| email | _optional_ (example: [test@test.ai](mailto:test@test.ai)) |\n| created_on | _optional_ (example: 1568419646794) |\n| last_login | _optional_ (example: null) |\n\nPath: api/v1/group/id/:id/type/:type/users\n\n**Kind**: static method of [\u003ccode\u003eGroupTypeUsers\u003c/code\u003e](#GroupTypeUsers)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | \u003ccode\u003eany\u003c/code\u003e | Group name or ID. (example: superadmin) |\n| type | \u003ccode\u003eany\u003c/code\u003e | Group type. (example: group) |\n| filter | \u003ccode\u003eany\u003c/code\u003e | Filter parameters (example: locked=false,created_on\u003e2021-06-03,created_on\u003c2021-06-06) (example: locked=false,created_on\u003e2021-06-03,created_on\u003c2021-06-06) |\n| limit | \u003ccode\u003eany\u003c/code\u003e | Number of maximum results. (example: 10) (example: 10) |\n| skip | \u003ccode\u003eany\u003c/code\u003e | Number of db rows skipped. (example: 2) (example: 2) |\n| sort | \u003ccode\u003eany\u003c/code\u003e | Sort by any user object key (examples: id, domain, locked, etc.) (example: created_on) |\n| sortdir | \u003ccode\u003eany\u003c/code\u003e | Sort direction (example ascending order: ASC) (example: ASC) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupTypeUser\"\u003e\u003c/a\u003e\n\n## GroupTypeUser\n**Kind**: global class  \n\n* [GroupTypeUser](#GroupTypeUser)\n    * [.delete(type, id, authorization_bearer)](#GroupTypeUser.delete)\n    * [.removeGroupInheritance(type, id, inheritgroupid, inheritgrouptype, authorization_bearer)](#GroupTypeUser.removeGroupInheritance)\n    * [.addGroupInheritance(type, id, inheritgroupid, inheritgrouptype, authorization_bearer)](#GroupTypeUser.addGroupInheritance)\n    * [.editPropertyValue(type, id, property, value, authorization_bearer)](#GroupTypeUser.editPropertyValue)\n    * [.editProperty(body, type, id, property, authorization_bearer)](#GroupTypeUser.editProperty)\n    * [.edit(body, type, id, authorization_bearer)](#GroupTypeUser.edit)\n    * [.getProperty(type, id, property, authorization_bearer)](#GroupTypeUser.getProperty)\n    * [.get(type, id, authorization_bearer)](#GroupTypeUser.get)\n\n\u003ca name=\"GroupTypeUser.delete\"\u003e\u003c/a\u003e\n\n### GroupTypeUser.delete(type, id, authorization_bearer)\ndelete - Delete a user by it's id or username from group of a particular type.\n\nPath: api/v1/group/type/:type/user/:id\n\n**Kind**: static method of [\u003ccode\u003eGroupTypeUser\u003c/code\u003e](#GroupTypeUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: accounts) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name (example: user7) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupTypeUser.removeGroupInheritance\"\u003e\u003c/a\u003e\n\n### GroupTypeUser.removeGroupInheritance(type, id, inheritgroupid, inheritgrouptype, authorization_bearer)\nremoveGroupInheritance - Remove a user to a group of a particular type of group.\n\nPath: api/v1/group/type/:type/user/:id/inheritance/group/:inheritgroupid/type/:inheritgrouptype\n\n**Kind**: static method of [\u003ccode\u003eGroupTypeUser\u003c/code\u003e](#GroupTypeUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| type | \u003ccode\u003eany\u003c/code\u003e | type of group (example: group) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name of the user (example: user5) |\n| inheritgroupid | \u003ccode\u003eany\u003c/code\u003e | id or name of the  group to inherit (example: group2) |\n| inheritgrouptype | \u003ccode\u003eany\u003c/code\u003e | type of the  group to inherit (example: group) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupTypeUser.addGroupInheritance\"\u003e\u003c/a\u003e\n\n### GroupTypeUser.addGroupInheritance(type, id, inheritgroupid, inheritgrouptype, authorization_bearer)\naddGroupInheritance - Add a user to a group of a particular type of group.\n\nPath: api/v1/group/type/:type/user/:id/inheritance/group/:inheritgroupid/type/:inheritgrouptype\n\n**Kind**: static method of [\u003ccode\u003eGroupTypeUser\u003c/code\u003e](#GroupTypeUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| type | \u003ccode\u003eany\u003c/code\u003e | type of group (example: group) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name of the user (example: user5) |\n| inheritgroupid | \u003ccode\u003eany\u003c/code\u003e | id or name of the  group to inherit (example: group2) |\n| inheritgrouptype | \u003ccode\u003eany\u003c/code\u003e | type of the  group to inherit (example: group) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupTypeUser.editPropertyValue\"\u003e\u003c/a\u003e\n\n### GroupTypeUser.editPropertyValue(type, id, property, value, authorization_bearer)\neditPropertyValue - Edit a current user's property data as a path param from a group of a particular type.\n\nPath: api/v1/group/type/:type/user/:id/property/:property/:value\n\n**Kind**: static method of [\u003ccode\u003eGroupTypeUser\u003c/code\u003e](#GroupTypeUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: group) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name (example: user5) |\n| property | \u003ccode\u003eany\u003c/code\u003e | (example: email) |\n| value | \u003ccode\u003eany\u003c/code\u003e | (example: swag@yolo.com) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupTypeUser.editProperty\"\u003e\u003c/a\u003e\n\n### GroupTypeUser.editProperty(body, type, id, property, authorization_bearer)\neditProperty - Edit a user's property by it's id or username from a group of a particular type.\n\nPath: api/v1/group/type/:type/user/:id/property/:property\n\n**Kind**: static method of [\u003ccode\u003eGroupTypeUser\u003c/code\u003e](#GroupTypeUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| body | \u003ccode\u003eObject\u003c/code\u003e |  |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: accounts) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name (example: user6) |\n| property | \u003ccode\u003eany\u003c/code\u003e | (example: email) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n**Example**  \nbody\n```json\n{\n\t\"locked\": false\n}\n```\n\u003ca name=\"GroupTypeUser.edit\"\u003e\u003c/a\u003e\n\n### GroupTypeUser.edit(body, type, id, authorization_bearer)\nedit - Edit a user by it's id or username from group of a particular type.\n\nPath: api/v1/group/type/:type/user/:id\n\n**Kind**: static method of [\u003ccode\u003eGroupTypeUser\u003c/code\u003e](#GroupTypeUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| body | \u003ccode\u003eObject\u003c/code\u003e |  |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: accounts) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name (example: user6) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n**Example**  \nbody\n```json\n{\n\t\"locked\": false\n}\n```\n\u003ca name=\"GroupTypeUser.getProperty\"\u003e\u003c/a\u003e\n\n### GroupTypeUser.getProperty(type, id, property, authorization_bearer)\ngetProperty - Get a user's property by it's id or username from group of a particular type.\n\nPath: api/v1/group/type/:type/user/:id/property/:property\n\n**Kind**: static method of [\u003ccode\u003eGroupTypeUser\u003c/code\u003e](#GroupTypeUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: accounts) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name (example: user6) |\n| property | \u003ccode\u003eany\u003c/code\u003e | (example: email) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupTypeUser.get\"\u003e\u003c/a\u003e\n\n### GroupTypeUser.get(type, id, authorization_bearer)\nget - Get a user by it's id or username from group of a particular type.\n\nPath: api/v1/group/type/:type/user/:id\n\n**Kind**: static method of [\u003ccode\u003eGroupTypeUser\u003c/code\u003e](#GroupTypeUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| type | \u003ccode\u003eany\u003c/code\u003e | The type of the group (example: accounts) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name (example: user6) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupRequest\"\u003e\u003c/a\u003e\n\n## GroupRequest\n**Kind**: global class  \n\u003ca name=\"GroupRequestUser\"\u003e\u003c/a\u003e\n\n## GroupRequestUser\n**Kind**: global class  \n\n* [GroupRequestUser](#GroupRequestUser)\n    * [.delete(body, type, id, authorization_bearer)](#GroupRequestUser.delete)\n    * [.addGroupInheritance(type, id, inheritgroupid, inheritgrouptype, authorization_bearer)](#GroupRequestUser.addGroupInheritance)\n    * [.editProperty(body, type, id, property, authorization_bearer)](#GroupRequestUser.editProperty)\n    * [.edit(body, type, id, authorization_bearer)](#GroupRequestUser.edit)\n\n\u003ca name=\"GroupRequestUser.delete\"\u003e\u003c/a\u003e\n\n### GroupRequestUser.delete(body, type, id, authorization_bearer)\ndelete - Delete a user by it's id or username from the user's `group_request` of a particular type.\n\nPath: api/v1/group/request/type/:type/user/:id\n\n**Kind**: static method of [\u003ccode\u003eGroupRequestUser\u003c/code\u003e](#GroupRequestUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| body | \u003ccode\u003eObject\u003c/code\u003e |  |\n| type | \u003ccode\u003eany\u003c/code\u003e | (example: testgroup) |\n| id | \u003ccode\u003eany\u003c/code\u003e | (example: user69) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n**Example**  \nbody\n```json\n{\n\t\"locked\": false\n}\n```\n\u003ca name=\"GroupRequestUser.addGroupInheritance\"\u003e\u003c/a\u003e\n\n### GroupRequestUser.addGroupInheritance(type, id, inheritgroupid, inheritgrouptype, authorization_bearer)\naddGroupInheritance - Add a user to a group from the user's `group_request` of a particular type.\n\nPath: api/v1/group/request/type/:type/user/:id/inheritance/group/:inheritgroupid/type/:inheritgrouptype\n\n**Kind**: static method of [\u003ccode\u003eGroupRequestUser\u003c/code\u003e](#GroupRequestUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| type | \u003ccode\u003eany\u003c/code\u003e | type of group (example: group) |\n| id | \u003ccode\u003eany\u003c/code\u003e | id or name of the user (example: user5) |\n| inheritgroupid | \u003ccode\u003eany\u003c/code\u003e | id or name of the  group to inherit (example: group2) |\n| inheritgrouptype | \u003ccode\u003eany\u003c/code\u003e | type of the  group to inherit (example: group) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"GroupRequestUser.editProperty\"\u003e\u003c/a\u003e\n\n### GroupRequestUser.editProperty(body, type, id, property, authorization_bearer)\neditProperty - Edit a user's property by it's id or username from the user's `group_request` of a particular type.\n\nPath: api/v1/group/request/type/:type/user/:id/property/:property\n\n**Kind**: static method of [\u003ccode\u003eGroupRequestUser\u003c/code\u003e](#GroupRequestUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| body | \u003ccode\u003eObject\u003c/code\u003e |  |\n| type | \u003ccode\u003eany\u003c/code\u003e | (example: accounts) |\n| id | \u003ccode\u003eany\u003c/code\u003e | (example: user6) |\n| property | \u003ccode\u003eany\u003c/code\u003e | (example: email) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n**Example**  \nbody\n```json\n\"chad@yolo.com\"\n```\n\u003ca name=\"GroupRequestUser.edit\"\u003e\u003c/a\u003e\n\n### GroupRequestUser.edit(body, type, id, authorization_bearer)\nedit - Edit a user by it's id or username from the user's `group_request` of a particular type.\n\nPath: api/v1/group/request/type/:type/user/:id\n\n**Kind**: static method of [\u003ccode\u003eGroupRequestUser\u003c/code\u003e](#GroupRequestUser)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| body | \u003ccode\u003eObject\u003c/code\u003e |  |\n| type | \u003ccode\u003eany\u003c/code\u003e | (example: accounts) |\n| id | \u003ccode\u003eany\u003c/code\u003e | (example: user6) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n**Example**  \nbody\n```json\n{\n\t\"locked\": false\n}\n```\n\u003ca name=\"Users\"\u003e\u003c/a\u003e\n\n## Users\n**Kind**: global class  \n\n* [Users](#Users)\n    * [.byGroupRequest(group_request, authorization_bearer)](#Users.byGroupRequest)\n    * [.count(limit, skip, filter, ids, authorization_bearer)](#Users.count)\n    * [.get(sort, limit, skip, filter, sortdir, ids, params, authorization_bearer)](#Users.get)\n\n\u003ca name=\"Users.byGroupRequest\"\u003e\u003c/a\u003e\n\n### Users.byGroupRequest(group_request, authorization_bearer)\nbyGroupRequest - Gets all the users that have the specified group request\n\n##### Optional Query Params\n\n| Param | Description |\n| --- | --- |\n| id | *optional* (example:  26c6aeff-ab95-4bdd-8260-534cf92d1c23) |\n| username | *optional* (example:  user7) |\n| locked | *optional* (example:  true) |\n| locked_reason | *optional* (example:  Activation Required email your admin to get your account activated) |\n| group_request | *optional* (example:  superadmin) |\n| failed_login_attempts | *optional* (example:  0) |\n| change_username | *optional* (example:  false) |\n| change_password | *optional* (example:  false) |\n| reset_password | *optional* (example:  false) |\n| email_verify | *optional* (example:  false) |\n| group_id | *optional* (example:  7320292c-627e-4e5a-b059-583eabdd6264) |\n| email | *optional* (example:  test@test.ai) |\n| created_on | *optional* (example:  1568419646794) |\n| last_login | *optional* (example:  null) |\n\nPath: api/v1/users/group/request/:group_request\n\n**Kind**: static method of [\u003ccode\u003eUsers\u003c/code\u003e](#Users)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| group_request | \u003ccode\u003eany\u003c/code\u003e | name of the group  (example: superadmin) |\n| authorization_bearer | \u003ccode\u003estring\u003c/code\u003e | The client_credentials generated OAUth2 access token. |\n\n\u003ca name=\"Users.count\"\u003e\u003c/a\u003e\n\n### Users.count(limit, skip, filter, ids, authorization_bearer)\ncount - Gets all the users\n\n##### Optional Query Params\n\n\\*Note: you can only use range operators (\u003c,B \u003e,B \u003e=,B \u003c=) on the following columns: created_on, updated_on, dob.\n\n| Param | Description |\n| --- | --- |\n| id | _optional_ (example: 26c6aeff-ab95-4bdd-8260-534cf92d1c23) |\n| username | _optional_ (example: user7) |\n| locked | _optional_ (example: true) |\n| locked_reason | _optional_ (example: Activation Required email your admin to get your account activated) |\n| group_request | _optional_ (example: superadmin) |\n| failed_login_attempts | _optional_ (example: 0) |\n| change_username | _optional_ (example: false) |\n| change_password | _optional_ (example: false) |\n| reset_password | _optional_ (example: false) |\n| email_verify | _optional_ (example: false) |\n| group_id | _optional_ (example: 7320292c-627e-4e5a-b059-583eabdd6264) |\n| email | _optional_ (example: [test@test.ai](mailto:test@test.ai)) |\n| created_on | _optional_ (example: 1568419646794) |\n| last_login | _optional_ (example: null) |\n\nPath: api/v1/users/count\n\n**Kind**: static method of [\u003ccode\u003eUsers\u003c/code\u003e](#Users)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| limit | \u003ccode\u003eany\u003c/code\u003e | Number of maximum results. (example: 2) (example: 2) |\n| skip | \u003ccode\u003eany\u003c/code\u003e | Number of db rows skipped. (example: 10) (example: 10) |\n| filter | \u003ccode\u003eany\u003c/code\u003e | Filter parameters (example: locked=false,created_o","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphara0h%2Ftravelling","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphara0h%2Ftravelling","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphara0h%2Ftravelling/lists"}