Three ways to build
WEXTL exposes the same workflow primitives — create, run, and inspect workflows — through three surfaces so you can pick whichever fits your integration:
- REST API (v1) — a versioned HTTP API for scripts, backends, and CI pipelines. See the API Reference.
- MCP server — connect Claude, Cursor, ChatGPT, or any MCP-compatible client so an AI assistant can create and run workflows on your behalf. See the MCP setup guide.
- TypeScript SDK — a thin, typed client generated from the same REST contract, for Node/TypeScript projects.
Quickstart
1. Mint a Personal Access Token from Dashboard → API. API access is available on plans that include the API add-on — if your organization's plan doesn't include it yet, you can upgrade from the pricing page.
2. Make your first call with the token as a bearer credential against your organization's regional host (pick a region above — samples update). Keys look like wextl_<shard>_…; the TypeScript SDK derives the host from that prefix.
3. Or skip the API entirely and connect an AI client over MCP — see the MCP setup guide for claude.ai, Claude Code, Cursor, and ChatGPT.
curl https://eu1.wextl.com/api/v1/workflows \
-H "Authorization: Bearer wextl_..." \
-H "Content-Type: application/json"Install the SDK
The TypeScript SDK is a thin, hand-mirrored client over the same v1 contract the REST API serves — zero runtime dependencies, dual ESM/CJS. It ships a typed method for **every** shipped v1 operation, grouped by resource (client.workflows, client.runs, client.credentials, client.databases, client.variables, client.structures, client.functions, client.folders, client.tags, client.webhooks, client.teams, client.members, client.activity, client.invitations, client.catalog). A client.rawRequest({ method, path, query, body }) escape hatch is still there for anything you want to call directly — it shares the SAME auth, 421-region-follow and error handling as the typed methods. v1 is frozen-additive — new fields and endpoints only, no breaking changes — so pinning a semver range is safe; a future breaking change ships as a new /api/v2 surface instead of altering v1.
Pass a wextl_<shard>_… Personal Access Token and the client derives https://<shard>.wextl.com/api/v1 automatically. A call against the wrong regional host still gets a 421 with the correct base_url, and the client retries once — see Regions & base URLs.
npm install @wextl/sdkimport { WextlClient } from '@wextl/sdk';
const client = new WextlClient({ apiKey: process.env.WEXTL_API_KEY! });
const { data: workflows } = await client.workflows.list({ limit: 20 });Getting help
Questions about the API, MCP, or SDK — reach out through your organization's support channel, or open an issue against the SDK if you hit a bug in the generated client.
References
- WEXTL® REST API, MCP server, and TypeScript SDK — our own source implementation.
- Our users' real integrations and automations.
- The machine-readable OpenAPI specification for the REST API.