

Full-featured HTTP client to work with Gotify API.
Table of Contents
- π₯ Code gen. The client is fully compliant with the official documentation.
- π Slim. Zero dependencies.
- β¨ Runner. Browser and Node support.
- π Custom Http. If you need a custom http client, you can swap it out.
- π³ Tree shaking. Only use what you need.
- πͺοΈ TypeScript. The library is entirely made in typescript
# Using pnpm
pnpm add gotify-client -D
# Using yarn
yarn add gotify-client -D
# Using npm
npm install gotify-client -D
| Gotify Client | Gotify Server |
|---|
| 0.4.0 | 2.4.0 |
import { GotifyClient } from 'gotify-client'
const client = new GotifyClient('http://gotify.home', {
// You must specify at least 1 key
app: 'app_api_key',
client: 'client_api_key'
})
const message = await gotify.message.createMessage({
message: "Test message!"
})
To execute requests, you need to specify a link to the host gotify, as well as pass api keys.
In Gotify there are two token types:
app: an application is something that sends messages.
client: a client is something that receives message and manages stuff like creating new tokens or delete messages.
constructor(host: string, authKeys: {
app?: string
client?: string
})
The source documentation is fully described in swagger on the official website.
| Method | Description | Http request |
|---|
getApps | Return all applications. | GET /application |
createApp | Create an application. | POST /application |
updateApplication | Update an application. | PUT /application/${id} |
deleteApp | Delete an application. | DELETE /application/${id} |
uploadAppImage | Upload an image for an application. | POST /application/${id}/image |
removeAppImage | Deletes an image of an application. | DELETE /application/${id}/image |
getAppMessages | Return all messages from a specific application. | GET /application/${id}/message |
deleteAppMessages | Delete all messages from a specific application. | DELETE /application/${id}/message |
| Method | Description | Http request |
|---|
getClients | Return all clients. | GET /client |
createClient | Create a client. | POST /client |
updateClient | Update a client. | PUT /client/${id} |
deleteClient | Delete a client. | DELETE /client/${id} |
| Method | Description | Http request |
|---|
currentUser | Return the current user. | GET /current/user |
updateCurrentUser | Update the password of the current user. | POST /current/user/password |
| Method | Description | Http request |
|---|
getHealth | Get health information. | GET /health |
| Method | Description | Http request |
|---|
getMessages | Return all messages. | GET /message |
createMessage | Create a message. | POST /message |
deleteMessages | Delete all messages. | DELETE /message |
deleteMessage | Deletes a message with an id. | DELETE /message/${id} |
| Method | Description | Http request |
|---|
getPlugins | Return all plugins. | GET /plugin |
getPluginConfig | Get YAML configuration for Configurer plugin. | GET /plugin/${id}/config |
updatePluginConfig | Update YAML configuration for Configurer plugin. | POST /plugin/${id}/config |
disablePlugin | Disable a plugin. | POST /plugin/${id}/disable |
getPluginDisplay | Get display info for a Displayer plugin. | GET /plugin/${id}/display |
enablePlugin | Enable a plugin. | POST /plugin/${id}/enable |
| Method | Description | Http request |
|---|
streamMessages | Websocket, return newly created messages. | GET /stream |
| Method | Description | Http request |
|---|
getUsers | Return all users. | GET /user |
createUser | Create a user. | POST /user |
getUser | Get a user. | GET /user/${id} |
updateUser | Update a user. | POST /user/${id} |
deleteUser | Deletes a user. | DELETE /user/${id} |
| Method | Description | Http request |
|---|
getVersion | Get version information. | GET /version |
import { MessageApi } from 'gotify-client'
const httpClient = new CustomHttpClient()
const messageApi = new MessageApi(httpClient)
const message = await messageApi.createMessage({
message: "Test message!"
})
This template was created under the MIT License.