# balena-errors

> Collection of Balena JavaScript errors

Latest version **5.0.1** (published 2026-03-19) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install balena-errors
pnpm add balena-errors
yarn add balena-errors
bun add balena-errors
```

## Health

**Score 60/100 (C)** — status: active.

Positive: has types; no vulnerabilities; has provenance; high quality score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 5.0.1 |
| Published | 2026-03-19 |
| First published | 2018-10-11 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >=18.0.0 |
| Dependencies | 2 |
| Unpacked size | 54.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 1 |
| Author | Juan Cruz Viotti |
| Maintainers | balena.io |
| Keywords | balena, resin, errors |

## Links

- npm: https://www.npmjs.com/package/balena-errors
- Repository: https://github.com/balena-io-modules/balena-errors
- Issues: https://github.com/balena-io-modules/balena-errors/issues
- npm.io page: https://npm.io/package/balena-errors

## Dependencies (2)

- [tslib](https://npm.io/package/tslib.md) ^2.6.2
- [typed-error](https://npm.io/package/typed-error.md) ^3.2.2

## Alternatives

- [@sentry/react-native](https://npm.io/package/@sentry/react-native.md) — 2.6M weekly downloads
- [@ardatan/aggregate-error](https://npm.io/package/@ardatan/aggregate-error.md) — 708.1K weekly downloads
- [custom-error-generator](https://npm.io/package/custom-error-generator.md) — 2.0K weekly downloads
- [@technik-sde/prosemirror-recreate-transform](https://npm.io/package/@technik-sde/prosemirror-recreate-transform.md) — 1.5K weekly downloads
- [@suchipi/error-utils](https://npm.io/package/@suchipi/error-utils.md) — 78 weekly downloads

## Recent versions

- 5.0.1 (latest) — 2026-03-19
- 5.1.0-build-BalenaOSImageNotFound-ddf590002d971a0b6cc5d449d95789ced6db81a5-1 (build-BalenaOSImageNotFound) — 2026-03-19
- 5.0.1-build-id-token-7d403dc8c82b07b600674c6319eb153537db0e8b-1 (build-id-token) — 2026-03-19
- 5.0.0-build-node-18-ad8311fa4813f786292b0e24b1972671d8537769-1 (build-node-18) — 2023-11-01
- 4.9.0-build-responseHeaders-c9e4a8e2124c4e4a95ca6b5eff929cadae860463-1 (build-responseHeaders) — 2023-11-01
- 5.0.0-build-node-18-bec4cf03aff29b6962cfc10db591436b62022ea0-1 (build-node-18-bec4cf03aff29b6962cfc10db591436b62022ea0) — 2023-11-01
- 4.9.0-build-responseHeaders-0a3cf7f5a55a53694d73558e4844579c7985532f-1 (build-responseHeaders-0a3cf7f5a55a53694d73558e4844579c7985532f) — 2023-11-01
- 4.8.1-build-drop-mochainon-0ac1bb548d59a4e293070918932da30c664e975e-1 (build-drop-mochainon-0ac1bb548d59a4e293070918932da30c664e975e) — 2023-11-01
- 4.9.0-build-responseHeaders-e54478708bbbb168ce6270010dd5231abf8dd6c6-1 (build-responseHeaders-e54478708bbbb168ce6270010dd5231abf8dd6c6) — 2023-11-01
- 4.8.0-build-service-not-found-string-param-4a942010b92bd5cd51e2aa3c7dd2759b4f1adec1-1 (build-service-not-found-string-param-4a942010b92bd5cd51e2aa3c7dd2759b4f1adec1) — 2023-07-10
- 4.7.3-disable-source-maps-6c2acaa085ccdf468e1249d08d3e09dba67a3f01-1 (disable-source-maps-6c2acaa085ccdf468e1249d08d3e09dba67a3f01) — 2022-11-01
- 4.7.2-flowzonify-1e9eb201761030c7516a4381301b82cd7f6b5b03-1 (flowzonify-1e9eb201761030c7516a4381301b82cd7f6b5b03) — 2022-11-01
- 4.7.2-rename-application-to-fleet-20dc7003aa7e6928c20530493e2c24ae11e59f4a (rename-application-to-fleet-20dc7003aa7e6928c20530493e2c24ae11e59f4a) — 2021-08-12
- 4.7.2-rename-application-to-fleet-8a1597fec4b2378c93d923bc9406a6ae3dab163b (rename-application-to-fleet-8a1597fec4b2378c93d923bc9406a6ae3dab163b) — 2021-08-12
- 4.7.2-rename-application-to-fleet-89547e99a36c1b5475646dabc5162c9440525085 (rename-application-to-fleet-89547e99a36c1b5475646dabc5162c9440525085) — 2021-08-12
- … 67 more at https://npm.io/package/balena-errors/versions

## README

balena-errors
============

> Balena error collection

[![npm version](https://badge.fury.io/js/balena-errors.svg)](http://badge.fury.io/js/balena-errors)
[![dependencies](https://david-dm.org/balena-io-modules/balena-errors.svg)](https://david-dm.org/balena-io-modules/balena-errors.svg)
[![Build Status](https://travis-ci.org/balena-io-modules/balena-errors.svg?branch=master)](https://travis-ci.org/balena-io-modules/balena-errors)
[![Build status](https://ci.appveyor.com/api/projects/status/c7g2vsshixiw4xw9?svg=true)](https://ci.appveyor.com/project/jviotti/balena-errors)
[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/balena-io/chat)
[![Sauce Test Status](https://saucelabs.com/browser-matrix/balena-errors.svg)](https://saucelabs.com/u/balena-errors)

Role
----

The intention of this module is to provide a collection of `Error` instances to be used by the Balena SDK.

**THIS MODULE IS LOW LEVEL AND IS NOT MEANT TO BE USED BY END USERS DIRECTLY**.

Unless you know what you're doing, use the [Balena SDK](https://github.com/balena-io/balena-sdk) instead.

Deprecation - note to developers / contributors
-----------------------------------------------

While this module has not been [formally deprecated](https://docs.npmjs.com/cli/deprecate),
we now believe that it is not good practice to add error classes to a separate module like
`balena-errors`. Instead, error classes should be added to the same module that throws the
errors. The reason is that downstream applications (like the balena CLI) may end up with
multiple versions of `balena-errors` in the `node_modules` folder, in order to satisfy
dependencies' own dependencies (e.g. a dependency module requires `balena-errors` v4, and
another dependency module requires `balena-errors` v3). When this happens, testing error
instances with `instanceof` fails: For example, an error class like `BalenaExpiredToken`
loaded from `balena-errors` v4 would be considered incompatible (not the same class) as
`BalenaExpiredToken` loaded from `balena-errors` v3. And this leads to bugs...

Installation
------------

Install `balena-errors` by running:

```sh
$ npm install --save balena-errors
```

Documentation
-------------


* [errors](#module_errors)
    * [~BalenaTooManyRequests](#module_errors..BalenaTooManyRequests)
        * [new BalenaTooManyRequests(nextValidRequestDate)](#new_module_errors..BalenaTooManyRequests_new)
    * [~BalenaInvalidLoginCredentials](#module_errors..BalenaInvalidLoginCredentials)
        * [new BalenaInvalidLoginCredentials()](#new_module_errors..BalenaInvalidLoginCredentials_new)
    * [~BalenaInvalidDeviceType](#module_errors..BalenaInvalidDeviceType)
        * [new BalenaInvalidDeviceType(type)](#new_module_errors..BalenaInvalidDeviceType_new)
    * [~BalenaDiscontinuedDeviceType](#module_errors..BalenaDiscontinuedDeviceType)
        * [new BalenaDiscontinuedDeviceType(type)](#new_module_errors..BalenaDiscontinuedDeviceType_new)
    * [~BalenaMalformedToken](#module_errors..BalenaMalformedToken)
        * [new BalenaMalformedToken(token)](#new_module_errors..BalenaMalformedToken_new)
    * [~BalenaSettingsPermissionError](#module_errors..BalenaSettingsPermissionError)
        * [new BalenaSettingsPermissionError(error)](#new_module_errors..BalenaSettingsPermissionError_new)
    * [~BalenaSupervisorLockedError](#module_errors..BalenaSupervisorLockedError)
        * [new BalenaSupervisorLockedError(token)](#new_module_errors..BalenaSupervisorLockedError_new)
    * [~BalenaExpiredToken](#module_errors..BalenaExpiredToken)
        * [new BalenaExpiredToken(token)](#new_module_errors..BalenaExpiredToken_new)
    * [~BalenaApplicationNotFound](#module_errors..BalenaApplicationNotFound)
        * [new BalenaApplicationNotFound(application)](#new_module_errors..BalenaApplicationNotFound_new)
    * [~BalenaReleaseNotFound](#module_errors..BalenaReleaseNotFound)
        * [new BalenaReleaseNotFound(release)](#new_module_errors..BalenaReleaseNotFound_new)
    * [~BalenaOrganizationMembershipRoleNotFound](#module_errors..BalenaOrganizationMembershipRoleNotFound)
        * [new BalenaOrganizationMembershipRoleNotFound(organizationMembershipRole)](#new_module_errors..BalenaOrganizationMembershipRoleNotFound_new)
    * [~BalenaApplicationMembershipRoleNotFound](#module_errors..BalenaApplicationMembershipRoleNotFound)
        * [new BalenaApplicationMembershipRoleNotFound(applicationMembershipRole)](#new_module_errors..BalenaApplicationMembershipRoleNotFound_new)
    * [~BalenaImageNotFound](#module_errors..BalenaImageNotFound)
        * [new BalenaImageNotFound(image)](#new_module_errors..BalenaImageNotFound_new)
    * [~BalenaServiceNotFound](#module_errors..BalenaServiceNotFound)
        * [new BalenaServiceNotFound(service)](#new_module_errors..BalenaServiceNotFound_new)
    * [~BalenaDeviceNotFound](#module_errors..BalenaDeviceNotFound)
        * [new BalenaDeviceNotFound(device)](#new_module_errors..BalenaDeviceNotFound_new)
    * [~BalenaOrganizationNotFound](#module_errors..BalenaOrganizationNotFound)
        * [new BalenaOrganizationNotFound(organization)](#new_module_errors..BalenaOrganizationNotFound_new)
    * [~BalenaAmbiguousDevice](#module_errors..BalenaAmbiguousDevice)
        * [new BalenaAmbiguousDevice(device)](#new_module_errors..BalenaAmbiguousDevice_new)
    * [~BalenaAmbiguousApplication](#module_errors..BalenaAmbiguousApplication)
        * [new BalenaAmbiguousApplication(application)](#new_module_errors..BalenaAmbiguousApplication_new)
    * [~BalenaAmbiguousRelease](#module_errors..BalenaAmbiguousRelease)
        * [new BalenaAmbiguousRelease(release)](#new_module_errors..BalenaAmbiguousRelease_new)
    * [~BalenaKeyNotFound](#module_errors..BalenaKeyNotFound)
        * [new BalenaKeyNotFound(key)](#new_module_errors..BalenaKeyNotFound_new)
    * [~BalenaRequestError](#module_errors..BalenaRequestError)
        * [new BalenaRequestError(body, statusCode, [requestOptions], [responseHeaders])](#new_module_errors..BalenaRequestError_new)
    * [~BalenaNotLoggedIn](#module_errors..BalenaNotLoggedIn)
        * [new BalenaNotLoggedIn()](#new_module_errors..BalenaNotLoggedIn_new)
    * [~BalenaInvalidParameterError](#module_errors..BalenaInvalidParameterError)
        * [new BalenaInvalidParameterError()](#new_module_errors..BalenaInvalidParameterError_new)

<a name="module_errors..BalenaTooManyRequests"></a>

### errors~BalenaTooManyRequests
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena too many requests  
**Access**: public  
<a name="new_module_errors..BalenaTooManyRequests_new"></a>

#### new BalenaTooManyRequests(nextValidRequestDate)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| nextValidRequestDate | <code>String</code> | next valid request string date |

**Example**  
```js
throw new errors.BalenaTooManyRequests()
```
<a name="module_errors..BalenaInvalidLoginCredentials"></a>

### errors~BalenaInvalidLoginCredentials
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena invalid login credentials  
**Access**: public  
<a name="new_module_errors..BalenaInvalidLoginCredentials_new"></a>

#### new BalenaInvalidLoginCredentials()
**Returns**: <code>Error</code> - error instance  
**Example**  
```js
throw new errors.BalenaInvalidLoginCredentials()
```
<a name="module_errors..BalenaInvalidDeviceType"></a>

### errors~BalenaInvalidDeviceType
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena invalid device type  
**Access**: public  
<a name="new_module_errors..BalenaInvalidDeviceType_new"></a>

#### new BalenaInvalidDeviceType(type)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| type | <code>String</code> | device type |

**Example**  
```js
throw new errors.BalenaInvalidDeviceType('raspberry-pi')
```
<a name="module_errors..BalenaDiscontinuedDeviceType"></a>

### errors~BalenaDiscontinuedDeviceType
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena discontinued device type  
**Access**: public  
<a name="new_module_errors..BalenaDiscontinuedDeviceType_new"></a>

#### new BalenaDiscontinuedDeviceType(type)
The device type that you specified is invalid because it is
discontinued, and this operation is no longer supported.

**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| type | <code>String</code> | device type |

**Example**  
```js
throw new errors.BalenaDiscontinuedDeviceType('edge')
```
<a name="module_errors..BalenaMalformedToken"></a>

### errors~BalenaMalformedToken
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena malformed token  
**Access**: public  
<a name="new_module_errors..BalenaMalformedToken_new"></a>

#### new BalenaMalformedToken(token)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| token | <code>String</code> | token |

**Example**  
```js
throw new errors.BalenaMalformedToken('1234')
```
<a name="module_errors..BalenaSettingsPermissionError"></a>

### errors~BalenaSettingsPermissionError
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena settings permission error  
**Access**: public  
<a name="new_module_errors..BalenaSettingsPermissionError_new"></a>

#### new BalenaSettingsPermissionError(error)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| error | <code>Error</code> | usually an EACCESS error |

**Example**  
```js
throw new errors.BalenaSettingsPermissionError()
```
<a name="module_errors..BalenaSupervisorLockedError"></a>

### errors~BalenaSupervisorLockedError
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: The device supervisor is locked  
**Access**: public  
<a name="new_module_errors..BalenaSupervisorLockedError_new"></a>

#### new BalenaSupervisorLockedError(token)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| token | <code>String</code> | token |

**Example**  
```js
throw new errors.BalenaSupervisorLockedError()
```
<a name="module_errors..BalenaExpiredToken"></a>

### errors~BalenaExpiredToken
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena expired token  
**Access**: public  
<a name="new_module_errors..BalenaExpiredToken_new"></a>

#### new BalenaExpiredToken(token)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| token | <code>String</code> | token |

**Example**  
```js
throw new errors.BalenaExpiredToken('1234')
```
<a name="module_errors..BalenaApplicationNotFound"></a>

### errors~BalenaApplicationNotFound
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena application not found  
**Access**: public  
<a name="new_module_errors..BalenaApplicationNotFound_new"></a>

#### new BalenaApplicationNotFound(application)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| application | <code>String</code> \| <code>Number</code> | application name or id |

**Example**  
```js
throw new errors.BalenaApplicationNotFound('MyApp')
```
<a name="module_errors..BalenaReleaseNotFound"></a>

### errors~BalenaReleaseNotFound
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena release not found  
**Access**: public  
<a name="new_module_errors..BalenaReleaseNotFound_new"></a>

#### new BalenaReleaseNotFound(release)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| release | <code>String</code> \| <code>Number</code> | release commit or id |

**Example**  
```js
throw new errors.BalenaReleaseNotFound(123)
```
<a name="module_errors..BalenaOrganizationMembershipRoleNotFound"></a>

### errors~BalenaOrganizationMembershipRoleNotFound
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena organization membership role not found  
**Access**: public  
<a name="new_module_errors..BalenaOrganizationMembershipRoleNotFound_new"></a>

#### new BalenaOrganizationMembershipRoleNotFound(organizationMembershipRole)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| organizationMembershipRole | <code>String</code> \| <code>Number</code> | organization membership role name or id |

**Example**  
```js
throw new errors.BalenaOrganizationMembershipRoleNotFound(123)
```
<a name="module_errors..BalenaApplicationMembershipRoleNotFound"></a>

### errors~BalenaApplicationMembershipRoleNotFound
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena application membership role not found  
**Access**: public  
<a name="new_module_errors..BalenaApplicationMembershipRoleNotFound_new"></a>

#### new BalenaApplicationMembershipRoleNotFound(applicationMembershipRole)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| applicationMembershipRole | <code>String</code> \| <code>Number</code> | application membership role name or id |

**Example**  
```js
throw new errors.BalenaApplicationMembershipRoleNotFound(123)
```
<a name="module_errors..BalenaImageNotFound"></a>

### errors~BalenaImageNotFound
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena image not found  
**Access**: public  
<a name="new_module_errors..BalenaImageNotFound_new"></a>

#### new BalenaImageNotFound(image)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| image | <code>Number</code> | image id |

**Example**  
```js
throw new errors.BalenaImageNotFound(123)
```
<a name="module_errors..BalenaServiceNotFound"></a>

### errors~BalenaServiceNotFound
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena service not found  
**Access**: public  
<a name="new_module_errors..BalenaServiceNotFound_new"></a>

#### new BalenaServiceNotFound(service)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| service | <code>String</code> \| <code>Number</code> | service name or id |

**Example**  
```js
throw new errors.BalenaServiceNotFound(123)
```
<a name="module_errors..BalenaDeviceNotFound"></a>

### errors~BalenaDeviceNotFound
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena device not found  
**Access**: public  
<a name="new_module_errors..BalenaDeviceNotFound_new"></a>

#### new BalenaDeviceNotFound(device)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| device | <code>String</code> \| <code>Number</code> | device name or id |

**Example**  
```js
throw new errors.BalenaDeviceNotFound('MyDevice')
```
<a name="module_errors..BalenaOrganizationNotFound"></a>

### errors~BalenaOrganizationNotFound
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena organization not found  
**Access**: public  
<a name="new_module_errors..BalenaOrganizationNotFound_new"></a>

#### new BalenaOrganizationNotFound(organization)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| organization | <code>String</code> \| <code>Number</code> | organization name or id |

**Example**  
```js
throw new errors.BalenaOrganizationNotFound('MyOrg')
```
<a name="module_errors..BalenaAmbiguousDevice"></a>

### errors~BalenaAmbiguousDevice
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena ambiguous device  
**Access**: public  
<a name="new_module_errors..BalenaAmbiguousDevice_new"></a>

#### new BalenaAmbiguousDevice(device)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| device | <code>String</code> \| <code>Number</code> | device name or id |

**Example**  
```js
throw new errors.BalenaAmbiguousDevice('MyDevice')
```
<a name="module_errors..BalenaAmbiguousApplication"></a>

### errors~BalenaAmbiguousApplication
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena ambiguous application  
**Access**: public  
<a name="new_module_errors..BalenaAmbiguousApplication_new"></a>

#### new BalenaAmbiguousApplication(application)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| application | <code>String</code> \| <code>Number</code> | application name or id |

**Example**  
```js
throw new errors.BalenaAmbiguousApplication('MyApp')
```
<a name="module_errors..BalenaAmbiguousRelease"></a>

### errors~BalenaAmbiguousRelease
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena ambiguous release  
**Access**: public  
<a name="new_module_errors..BalenaAmbiguousRelease_new"></a>

#### new BalenaAmbiguousRelease(release)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| release | <code>String</code> | release hash |

**Example**  
```js
throw new errors.BalenaAmbiguousRelease('7cf02a6')
```
<a name="module_errors..BalenaKeyNotFound"></a>

### errors~BalenaKeyNotFound
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena key not found  
**Access**: public  
<a name="new_module_errors..BalenaKeyNotFound_new"></a>

#### new BalenaKeyNotFound(key)
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| key | <code>String</code> \| <code>Number</code> | key name, id or value |

**Example**  
```js
throw new errors.BalenaKeyNotFound('MyKey')
```
<a name="module_errors..BalenaRequestError"></a>

### errors~BalenaRequestError
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena request error  
**Access**: public  
<a name="new_module_errors..BalenaRequestError_new"></a>

#### new BalenaRequestError(body, statusCode, [requestOptions], [responseHeaders])
**Returns**: <code>Error</code> - error instance  

| Param | Type | Description |
| --- | --- | --- |
| body | <code>String</code> | response body |
| statusCode | <code>Number</code> | http status code |
| [requestOptions] | <code>Object</code> | options used to make the request |
| [responseHeaders] | <code>Object</code> | the Headers that were included in the response |

**Example**  
```js
throw new errors.BalenaRequestError('Unauthorized')
```
<a name="module_errors..BalenaNotLoggedIn"></a>

### errors~BalenaNotLoggedIn
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena not logged in  
**Access**: public  
<a name="new_module_errors..BalenaNotLoggedIn_new"></a>

#### new BalenaNotLoggedIn()
**Returns**: <code>Error</code> - error instance  
**Example**  
```js
throw new errors.BalenaNotLoggedIn()
```
<a name="module_errors..BalenaInvalidParameterError"></a>

### errors~BalenaInvalidParameterError
**Kind**: inner class of [<code>errors</code>](#module_errors)  
**Summary**: Balena invalid parameter  
**Access**: public  
<a name="new_module_errors..BalenaInvalidParameterError_new"></a>

#### new BalenaInvalidParameterError()
**Returns**: <code>Error</code> - error instance  
**Example**  
```js
const checkId = (id) => {
	if (typeof id !== 'number') {
		throw new errors.BalenaInvalidParameterError('id', id)
	}
}
```

Support
-------

If you're having any problem, please [raise an issue](https://github.com/balena-io-modules/balena-errors/issues/new) on GitHub and the Balena team will be happy to help.

Tests
-----

Run the test suite by doing:

```sh
$ gulp test
```

Contribute
----------

- Issue Tracker: [github.com/balena-io-modules/balena-errors/issues](https://github.com/balena-io-modules/balena-errors/issues)
- Source Code: [github.com/balena-io-modules/balena-errors](https://github.com/balena-io-modules/balena-errors)

Before submitting a PR, please make sure that you include tests, and that [coffeelint](http://www.coffeelint.org/) runs without any warning:

```sh
$ gulp lint
```

License
-------

The project is licensed under the Apache 2.0 license.

---
_Source: https://npm.io/package/balena-errors · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
