Clients
Plug
A one-way HTTP client from your app to an external API. Auth, retry, pagination, typed vars, and lifecycle hooks — built for serverless.
your app
authed
stripe api
Install
$ npx khotan add plug// Bearer token ─────────────────────────────────────────────────────import { plug, bearer } from "@/lib/khotan/plugs/plug"; export const stripe = plug({ baseUrl: "https://api.stripe.com/v1", auth: bearer(process.env.STRIPE_SECRET_KEY!),}); const customers = await stripe.get<{ data: Customer[] }>("/customers"); // API key ──────────────────────────────────────────────────────────import { plug, apiKey } from "@/lib/khotan/plugs/plug"; export const cin7 = plug({ baseUrl: "https://api.cin7.com/api/v1", auth: apiKey("Authorization", process.env.CIN7_API_KEY!), retry: { attempts: 3, backoff: 1000 }, timeout: 30000,}); // Basic auth ───────────────────────────────────────────────────────import { plug, basic } from "@/lib/khotan/plugs/plug"; export const jira = plug({ baseUrl: "https://myorg.atlassian.net/rest/api/3", auth: basic(process.env.JIRA_EMAIL!, process.env.JIRA_TOKEN!),});Documentation
See the full integration guide — schema, generated files, helper API, and configuration — in the Plug docs.