Documentation Index
Fetch the complete documentation index at: https://docs.corsair.dev/llms.txt
Use this file to discover all available pages before exploring further.
An instance is a hosted Corsair environment (e.g. production). Use the instance id — not the display name — in API calls.
const { id } = await corsair.instances.create({ name: "prod" });
const inst = corsair.instance(id);
Instances
const { instances } = await corsair.instances.list();
const detail = await inst.get();
await inst.update({ name: "prod-v2" });
await inst.delete(); // permanent
Plugins
await inst.plugins.upsert("slack", { mode: "cautious" });
await inst.plugins.upsert("github", { authType: "oauth_2" });
await inst.plugins.delete("slack");
const { plugins } = await inst.plugins.list();
Plugin IDs autocomplete (slack, github, gmail, …). See integrations.
Permissions
await inst.plugins.permissions.setMode("slack", "strict");
await inst.plugins.permissions.setOverride("slack", "api.channels.archive", "deny");
await inst.plugins.permissions.deleteOverride("slack", "api.channels.archive");
Modes: permissive, cautious, strict.
Root credentials (shared)
OAuth app credentials and other instance-level fields:
await inst.plugins.credentials.setRoot("github", "client_id", "Iv1...");
await inst.plugins.credentials.setRoot("github", "client_secret", "...");
await inst.plugins.credentials.clearRoot("github", "client_id");
Runtime
await inst.runtime.refresh();
const status = await inst.runtime.status();
Catalog
const { plugins } = await corsair.catalog.plugins.list();