deploynest
v0.0.2
Published
Programmatic API client for DeployNest.
Readme
DeployNest API Client
Programmatic, type-safe client for the DeployNest HTTP API. Built on Hono's typed client so requests stay in sync with the server route definitions.
Installation
Inside the DeployNest monorepo, the package is available as a workspace dependency:
bun add deploynestQuick start
import { DeployNestClient } from "deploynest"
const api = new DeployNestClient("https://deploynest.app")
const result = await api.v1.servers.getServers("org_abc123")
if (result.success) {
console.log(result.servers)
} else {
console.error(result.message)
}When used from the DeployNest web app, pass the current origin so requests stay same-origin and session cookies are sent automatically:
const api = new DeployNestClient(window.location.origin, {
userAgent: "DeployNest/1.0.0",
})API versions
Resource clients are grouped under version namespaces on DeployNestClient. Today only v1 is available:
| Namespace | Client | Methods |
| -------------------- | ------------- | ----------------------------------------------------------------------- |
| api.v1.servers | Servers | getServers, createServer, setupServer, deleteServer |
| api.v1.credentials | Credentials | getCredentials, createCredential, generatePrivateKey, deleteCredential |
Future API versions will be added alongside v1 (for example api.v2) without breaking existing callers.
Configuration
import { DeployNestClient, type ClientOptions } from "deploynest"
const opts: ClientOptions = {
bearerToken: "your-token", // optional Authorization: Bearer header
userAgent: "MyApp/1.0.0", // optional User-Agent header
}
const api = new DeployNestClient("https://deploynest.app", opts)| Option | Description |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| baseURL | Deployment origin (e.g. https://deploynest.app or http://localhost:3000). Do not include /api — resource paths are appended automatically. |
| bearerToken | Sets an Authorization: Bearer … header on every request. |
| userAgent | Sets a custom User-Agent header on every request. |
Response shape
Every method returns a discriminated result. Check success before reading the payload:
// Success
{ success: true, servers: [...] }
{ success: true, credential: {...} }
// Failure
{ success: false, message: "Forbidden." }Authentication
All endpoints require authentication. When the client runs in the browser against the same origin as the app, session cookies are included automatically.
For server-side or external scripts, pass a bearer token via ClientOptions.bearerToken.
Every organization-scoped method requires an organizationId. The API validates that the authenticated user has the appropriate organization permission before returning data.
