Quickstart
Install Curviate, connect a LinkedIn account and make a first call. Five minutes, no code.
1. Install
Paste this into your agent. It reads the file and sets everything up:
Set up https://curviate.com/INSTALL.mdOr do it yourself:
Install the CLI from npm (Node.js 18 or later), then sign in with the API key from your dashboard. The prompt masks the key.
npm install -g @curviate/cli
curviate loginWant your agent to know every command? Add the Curviate plugin.
Add a custom connector and paste this URL, then sign in and approve once. There is no API key to copy.
https://app.curviate.com/mcpClaude: Settings, Connectors, Add custom connector. ChatGPT: Developer mode, Plugins, New connector.
Claude Code in one command:
claude mcp add --transport http curviate https://app.curviate.com/mcpIn Claude Code, the Curviate plugin adds skills on top. Other clients: Connect a client.
2. Make a first call
Ask your agent:
List my connected Curviate accounts, then show my own LinkedIn profile.From a terminal, the same reads are:
curviate account list
curviate config set-account acc_YOUR_ACCOUNT_ID
curviate profile meBoth are reads: they take no LinkedIn action. An account with status active is ready. No account yet? Connect one first (below).
3. Next steps
API key
Your team API key is ready as soon as you sign up. Copy it under Settings › API & Webhooks in the dashboard. It starts with cvt_live_, never expires until you rotate it, and works for the REST API, the CLI and the MCP server. Keep it in CURVIATE_API_KEY, never in client-side code. Rotate or revoke it from the key control's ⋮ menu.
REST calls send it as a Bearer token:
curl https://api.curviate.com/v1/accounts \
-H "Authorization: Bearer $CURVIATE_API_KEY"Connect a LinkedIn account
In the dashboard, open Accounts and click Connect account. Sign in with your LinkedIn email and password (recommended) or paste your li_at cookie; both are encrypted at rest and never logged. The account then shows as active with its acc_... id, which every account-scoped call takes.
Connecting accounts from your own product instead? Use POST /v1/auth/intent with a free seat's seat_... id, copyable from the seat table on the dashboard's Billing page. Custom authentication walks through it.