An unofficial wrapper for the Koyeb REST API, enabling you to interact with apps, services and more.
Designed to have a simple, intuitive syntax using asynchronous functions.
pnpm add koyeb.js
import * as Koyeb from 'koyeb.js' // ESM
const Koyeb = require('koyeb.js') // CommonJS
AUTH_TOKEN
and paste your copied token in the 'value' field.const token = process.env.AUTH_TOKEN
const myApp = await new Koyeb.App(token).fromName('appName')
// Alternatively, you can replace fromName with 2 other methods.
.fromID('13j25-4323b2-671f') // The ID of the application.
.fromIndex(0) // The index of the app in your app list.
// Creating a service from the first in the app list.
const services = await myApp.listServices(),
service = new Koyeb.Service(services[0].id, token)
// Calls `status()` internally and returns a true if we received 'PAUSED'.
console.log(service.paused())
console.log(service.status())
console.log(service.info())
// Each will return true/false if the request succeeded/failed.
// Calling resume/pause when already running/paused will return false.
await service.redeploy()
await service.resume()
await service.pause()
// Returns the application's current instance.
const myInstance = await new Koyeb.Instance(appID, token).latest()
// Or get a specific instance by its ID.
const myInstance = await new Koyeb.Instance.get(instanceID, token)
// Returns a promise containing the command result.
// This example outputs a list of files & directories on the instance.
const ls = await instance.executeCommand({ command: ['ls'] })
console.log(ls)
// You can also pass 3 optional keys (ttyWidth, ttyHeight, data).
// More info -> https://www.koyeb.com/docs/api#operation/ExecCommand