# authy

> Authy.com API lib for node.js

Latest version **1.4.0** (published 2018-07-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install authy
pnpm add authy
yarn add authy
bun add authy
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.4.0 |
| Published | 2018-07-26 |
| First published | 2012-09-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 22 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| Author | Adam Baldwin |
| Maintainers | adam_baldwin, dabarnes, josh-authy |
| Keywords | authentication, auth, authy, security, two factor, 2 factor |

## Links

- npm: https://www.npmjs.com/package/authy
- Repository: https://github.com/evilpacket/node-authy
- Homepage: https://github.com/evilpacket/node-authy#readme
- Issues: https://github.com/evilpacket/node-authy/issues
- npm.io page: https://npm.io/package/authy

## Dependencies (1)

- [request](https://npm.io/package/request.md) ^2.87.0

## Alternatives

- [@clerk/clerk-expo](https://npm.io/package/@clerk/clerk-expo.md) — 133.6K weekly downloads
- [@pothos/plugin-authz](https://npm.io/package/@pothos/plugin-authz.md) — 12.4K weekly downloads
- [@bounded-sh/client](https://npm.io/package/@bounded-sh/client.md) — 3.2K weekly downloads
- [@luigi-project/plugin-auth-oauth2](https://npm.io/package/@luigi-project/plugin-auth-oauth2.md) — 2.3K weekly downloads
- [@nocobase/plugin-verification](https://npm.io/package/@nocobase/plugin-verification.md) — 2.0K weekly downloads

## Recent versions

- 1.4.0 (latest) — 2018-07-26
- 1.3.1 — 2018-06-05
- 1.3.0 — 2017-11-20
- 1.2.0 — 2016-05-13
- 1.1.2 — 2015-04-13
- 1.1.1 — 2015-03-17
- 0.3.2 — 2014-09-15
- 0.2.2 — 2014-07-29
- 0.2.1 — 2014-06-20
- 0.2.0 — 2014-06-12
- 0.1.0 — 2014-01-30
- 0.0.5 — 2013-07-03
- 0.0.4 — 2012-11-01
- 0.0.3 — 2012-09-09
- 0.0.2 — 2012-09-09
- … 1 more at https://npm.io/package/authy/versions

## README

# node-authy [![Dependency Status](https://david-dm.org/evilpacket/node-authy.png)](https://david-dm.org/evilpacket/node-authy)

[Authy](https://www.twilio.com/authy) and [Verify](https://www.twilio.com/verify) API Client for Node.js written by Adam Baldwin.

## Installation

```
npm install authy
```

When in doubt check out the official [Authy](https://www.twilio.com/docs/authy) and [Verify](https://www.twilio.com/docs/verify) docs.

## Usage

#### Requiring node-authy

```javascript
var authy = require('authy')('APIKEY');
```

#### Send OneTouch
[OneTouch API docs](https://www.twilio.com/docs/authy/api/push-authentications) are the source of truth.
send_approval_request(id,user_payload,hidden_details,logos,callback)
```javascript
authy.send_approval_request('1337', user_payload, [hidden_details], [logos], function (err, res) {
    // res = {"approval_request":{"uuid":"########-####-####-####-############"},"success":true}
});
```

* id is the Authy id.
* user_payload:  { 'message': 'user message here', ['details': {...}] }
* hidden_details: optional
* logos: optional 

#### Check Approval Status

check_approval_status (uuid,callback)
```javascript
authy.check_approval_status(uuid, function(err, res) {
    res = {
      "approval_request": {
        "_app_name": YOUR_APP_NAME,
        "_app_serial_id": APP_SERIAL_ID,
        "_authy_id": AUTHY_ID,
        "_id": INTERNAL_ID,
        "_user_email": EMAIL_ID,
        "app_id": APP_ID,
        "created_at": TIME_STAMP,
        "notified": false,
        "processed_at": null,
        "seconds_to_expire": 600,
        "status": 'pending',
        "updated_at": TIME_STAMP,
        "user_id": USER_ID,
        "uuid": UUID
      },
      "success": true
    }
});
```
#### Register New User
[User API Information](https://www.twilio.com/docs/authy/api/users)

register_user(email, cellphone, [country_code], [send_install_link_via_sms], callback);


```javascript
authy.register_user('baldwin@andyet.net', '509-555-1212', function (err, res) {
    // res = {user: {id: 1337}} where 1337 = ID given to use, store this someplace
});
```

If not given, `country_code` defaults to `"1"` and `send_install_link_via_sms` defaults to `true`.

#### Verify Token

verify(id, token, [force], callback);

```javascript
authy.verify('1337', '0000000', function (err, res) {

});
```

#### Request SMS

request_sms(id, [force], callback);

```javascript
authy.request_sms('1337', function (err, res) {

});
```

=======


request_call(id, [force], callback);

```javascript
authy.request_call('1337', function (err, res) {

});
```

#### Delete Registered User

delete_user(id, callback);

```javascript
authy.delete_user('1337', function (err, res) {

});
```

#### Get Registered User Status

user_status(id, callback);

```javascript
authy.user_status('1337', function (err, res) {

});
```

#### Start Phone Verification
Browse the [API docs](https://www.twilio.com/docs/verify/api/verification) for all available params.

phones().verification_start(phone_number, country_code, params, callback);

```javascript
authy.phones().verification_start('111-111-1111', '1', { via: 'sms', locale: 'en', code_length: '6' }, function(err, res) {

});
```

The `params` argument is optional and sets 'sms' as the default `via`, leaving the other two options blank.


#### Check Phone Verification
Browse the [API docs](https://www.twilio.com/docs/verify/api/verification) for all available params.

phones().verification_check(phone_number, country_code, verification_code, callback);

```javascript
authy.phones().verification_check('111-111-1111', '1', '0000', function (err, res) {

});
```

#### Status of Phone Verification
Browse the [API docs](https://www.twilio.com/docs/verify/api/verification) for all available params.

phones().verification_status(phone_number, country_code, callback);

```javascript
authy.phones().verification_status('111-111-1111', '1', function (err, res) {

});
```


##### Contributors

- [Daniel Barnes](https://github.com/DanielBarnes)
- [Josh Staples](https://github.com/josh-authy)
- [Christian Muertz](https://github.com/christian-muertz)

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