@marxlnfcs/wildduck-api
Version:
Provides a client to interact with the wildduck api
100 lines (83 loc) • 3.79 kB
Markdown
[](https://www.npmjs.com/package/@marxlnfcs/wildduck-api)
[](https://snyk.io/test/npm/@marxlnfcs/wildduck-api)
[](https://github.com/marxlnfcs/wildduck-api)
> **Warning**
> This library is still in progress and might have some bugs or features that are not working properly.
> If you find some bugs or missing/not working features, please feel free to create an issue.
> You can find all endpoints here: [Wildduck API Documentation](https://docs.wildduck.email)
```
npm i @marxlnfcs/wildduck-api
```
```typescript
import {createWildduckClient} from "./wildduck";
(async () => {
// create a new client instance
const client = createWildduckClient({
baseUrl: 'http://api.wildduck.mail',
accessToken: 'super-secret-access-key'
});
// intercept request for retrieving all users
client.on(client.users.getUsers).subscribe((event) => {
console.log(event.request); // AxiosRequestConfig
console.log(event.response); // AxiosResponse
console.log(event.error); // AxiosError
});
// list all users
console.log(await client.users.getUsers());
});
```
This simple client implements all Wildduck-API endpoints.
* Addresses
* ApplicationPasswords
* Archive
* Archive
* Audit
* Authentication
* AutoReplies
* Certificates
* DKIM
* DomainAccess
* DomainAliases
* Filters
* Mailboxes
* Messages
* Settings
* Storage
* Submission
* TwoFactorAuth
* Users
* Webhooks
* Exports
``` javascript
createWildduckClient({
baseUrl: string,
accessToken: string,
timeout?: number;
proxy?: ClientProxySettings | string;
rejectUnauthorized: boolean;
})
```
#### ClientOptions
| Property | Type | Default | Description |
|--------------------|----------------------------|---------|-------------------------------------------------------------|
| baseUrl | string | - | URL to the wildduck api |
| accessToken | string | - | Access token to authenticate with the wildduck api |
| timeout | number | null | Defines the timeout of api requests in milliseconds |
| proxy | ClientProxyOptions, string | null | Whether to use a proxy or not |
| rejectUnauthorized | boolean | true | If false, the client rejects all unsecure https connections |
#### ClientProxyOptions
| Property | Type | Default | Description |
|---------------|-------------|-----------|-------------------------------|
| protocol | http, https | null | Protocol the proxy uses |
| url | string | null | Proxy URL |
| host | string | null | Hostname of the proxy |
| port | number | null | Port of the proxy |
| auth.username | string | null | Username to authenticate with |
| auth.password | string | null | Password to authenticate with |