Skip to main content

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();