Changelog
What changed in the Revnu API, CLI, MCP server and these docs, newest first.
Most changes are additive. An entry that changes how an existing route or tool behaves says so.
2026-11-05
Create leads and save contacts. New
POST /leadssaves a company as a lead, or returns the one you already have for that domain, andPOST /leads/{id}/contactsadds or updates people on it, with a name alone if that's all you know. MCP:lead_createandlead_contacts_save.Search finds run-together names.
qonGET /leadsmatches a company name or domain typed without its spaces or dashes, somicroagifinds Micro AGI.
2026-11-03
Everything the dashboard does to a lead. New
PATCHandDELETE /leads/{id}/notes/{noteId}for notes written through the API;POSTandDELETE /leads/{id}/handlingto take a lead over and hand it back;POST /leads/{id}/people/remove; andDELETE /leads/{id}for a lead Revnu never worked. MCP tools:lead_note_edit,lead_note_delete,lead_take_over,lead_hand_back,lead_people_removeandlead_delete. CLI 1.10.0.MCP errors name their code once. A failed tool call reads
revnu API 409: rejected: <reason>, notrejected: rejected: <reason>. CLI 1.10.0.
2026-10-30
One length limit for agent messages.
POST /agent/messagestakestextof up to 4,000 characters in any language (UTF-16 code units, so some emoji count as two), counted after trimming, so Chinese, Japanese and Korean messages now get the full length too. A longer one gets400. Changed behaviour: a too-long message is now always400, where it used to be409witherror: "rejected".Follow-ups report their replies. A message the agent picked up inside a turn that was already running now reads
repliedonGET /agent/messages/{requestId}, with that turn's replies.Remove a deal.
PATCH /leads/{id}takesstage: nullto remove a lead's deal.GET /leads/{id}addshandlingwhen your team has taken the lead over.Where a note came from. Notes carry
source, such asgranola:<meeting id>when your Revnu agent filed a call on the lead.nullfor other notes.
2026-10-28
Send conversions from PostHog.
POST /api/measurement/posthogtakes PostHog's HTTP Webhook destination body as is, with your event key, and records each conversion like the Event API does. Both now addnot_matchable_reasonwhen an event carries nothing an ad platform can match.Smaller default MCP pages. The
leads_listandblocklist_listMCP tools return 10 rows whenlimitis left out, down from 50. Passlimitfor more. The REST defaults are unchanged. CLI 1.8.2.Deals on leads.
PATCH /leads/{id}sets a lead'sownerand its deal:stage(interested,meeting,proposal,won,lost),dealValue,currency,closeDateandlostReason. It also fills your own lead columns withcustomFields. Thelead_updateMCP tool takes the same fields.Lead notes. New
POST /leads/{id}/notesandlead_note_addMCP tool.GET /leads/{id}returns the newest 10 timeline entries innotes, thedeal, andinteractions: last send and reply, days since each,waitingOnandconnectionStrength.Search and sort leads.
GET /leadstakesq(company, domain or primary contact),stage, andsort(newest,last_interaction,recently_updated). Each lead carriesdeal,lastInteractionAt,lastReplyAtandwaitingOn. All additive.
2026-10-24
Proposed workflows and Ask Me First. When the account's Proposed Workflows setting is Ask Me First, a workflow the agent proposed doesn't run until someone approves it.
POST /workflows/{id}/runsthen answers409witherror: "not_approved", and resume approves it. Under Just Do It, the default, proposed workflows run on their schedule as before.GET /workflowsdocumentsstatus: "proposed", and theworkflows_listMCP tool adds astatusExplanation.
2026-10-23
Connecting an app again adds a token. A new OAuth sign-in from an MCP host or
revnu loginmints its own token, labelled with the app's name plus a number if that label is taken. Changed behaviour: tokens from earlier connections of the same app stay live. Revoke tokens you no longer use in Settings → Developers; an account holds up to 20.
2026-10-21
LinkedIn state on leads. Each lead from
GET /leadsandGET /leads/{id}carrieslinkedin: its LinkedIn sequence status, invite, accept, message, seen and reply times, and the next step, ornulloutside a LinkedIn sequence. AGET /leadspage holds at most 30 leads that are in a LinkedIn sequence.Outbound webhooks. Revnu can POST a signed event to your URL when a LinkedIn invite is sent (
linkedin.invite_sent), accepted (linkedin.invite_accepted) or replied to (linkedin.replied). Set them up in Settings → Developers. See Outbound Webhooks.
2026-10-20
Agent status counts every turn.
runningandlastTurnAtonGET /agent/statusinclude wake and workflow turns, and a turn counts as running while it has shown activity in the last 20 minutes.Background research in message status.
GET /agent/messages/{requestId}addsbackgroundTasks(each research task the message started, with itsstate) anddone, which istrueonly once the turn has ended and every task's result has been reported. The report joinsreplies.waitSecondsonPOST /agent/messagesnow waits fordone. Theagent_message_statusMCP tool takeswaitSecondsto wait here too.
2026-10-19
Search review history.
GET /review/searchchecks up to 10 names or topics in one call across every card status, including resolved cards, without returning full drafts. Also thereview_searchMCP tool.Message status stays
runningwhile the turn works. OnGET /agent/messages/{requestId}, a started turn staysrunningwhile it has shown activity in the last 20 minutes, for up to 2 hours. Changed behaviour: this replaces the earlier 30-minute limit on started turns.
2026-10-18
Sync existing customers.
POST /customersrecords a signup, trial, customer or former customer from your app or CRM and keeps them out of cold outreach. Needsleads:write. Removing such an entry withDELETE /blocklist/{id}answers409witherror: "customer_relationship". Alsorevnu customers sync,revnu customers importfor up to 5,000 records, and thecustomer_syncMCP tool. CLI 1.7.0.People a run found on an existing company. A workflow run that adds people to a company's research list without saving them as contacts now lists that company under
GET /leads?workflowRunId=, with those people inrunPeople. Runs count them infound.people.Roles and already-known people in
runPeople. Each person carriesrole(economicfor the buyer,champion,technical,userornull). A run that returns people a company already had now lists that company too, with those people markedalreadyKnown: true, so the run's list matches what it reported.
2026-10-17
Longer workflow steps, and a size check. On
POST /workflowsandPATCH /workflows/{id}, a step'stitleand eachdetailsline take up to 1,000 characters, up from 400. Changed behaviour: a workflow whose steps don't fit in one run, about 6,500 characters in total (fewer with emoji or non-Latin text), now gets a400that says how far over it is, so you can trim it before saving.
2026-10-15
Docs. New pages: Developers, the start of the developer docs; API, CLI, MCP or Chat, on which to use when; and Inbound Webhooks, on sending Revnu events from your own systems. Authentication lists the smallest scope sets for read-only and status tokens, and MCP Server Setup covers reconnecting a broken connector and which tools send, publish or spend.
Claude Code. The documented command is now
claude mcp add --transport http --scope user revnu https://revnu.com/api/mcp, so Revnu is available in every project rather than only the directory it was added in.
2026-10-14
Sign up from a terminal.
npx @revnu/cli setupsigns a person up (or in) in the browser and runs the same setup as thesetup_*tools, so a coding agent can set someone up without restarting to load the MCP server.--jsongives agents one object withstage,nextandcommand.revnu loginsigns in on its own. See Install the CLI.
2026-10-10
Run a workflow now.
POST /workflows/{id}/runsstarts a workflow's next run within about a minute and returns its id, without changing the schedule. Runs gain aqueuedstatus. Alsorevnu workflows run <id>and theworkflow_runMCP tool.
2026-10-06
Sign up through your agent. Connecting the MCP server can now create the account, and the setup routes take it through onboarding:
GET /setup,POST /setup/website,POST /setup/confirm,POST /setup/checkoutandPOST /setup/finish, plus the matchingsetup_*MCP tools. Until the first subscription, other routes answer402witherror: "setup_pending".GET /mereportsinSetup. The recipe agents follow is at revnu.com/setup.md.
2026-10-02
Workflow runs. Each run reports
found: { leads, contacts }, every lead and contact carries theworkflowRunIdthat found it, andGET /leads?workflowRunId=lists one run's leads withrunContactIds. Alsorevnu leads list --workflow-run <id>.
2026-10-01
LinkedIn.
GET /linkedin/personreads one person's LinkedIn relationship with each connected account: connected or not, any pending invite and when it was sent, and the conversation. Read-only. Alsorevnu linkedin personand thelinkedin_personMCP tool.
2026-09-29
OpenAPI.
/openapi.jsondescribes every route with its scope, parameters and error statuses.Docs. New pages: How Revnu Works, Errors and this changelog. Every page now shows when it was last updated.
2026-09-28
Agent messages.
queue: trueonPOST /agent/messageshands the agent another job without stopping the one it is running.Block list.
POST /blocklistaccepts LinkedIn profile links as well as domains and email addresses.
2026-09-25
Remote MCP server. Connect Claude, ChatGPT or Cursor to
https://revnu.com/api/mcpwith OAuth, no install. On hosts that support MCP Apps, the review queue opens as cards with buttons. See MCP Server Setup.CLI.
revnuand its local MCP server cover every public API route.
2026-09-24
Measurement. Docs for the Revnu Tag and the server-side Event API.
Content API. Canonical URLs follow your site's trailing-slash convention.
2026-09-22
Leads.
GET /leads/{id}returns your columns, the surfaced draft and the research behind each value.PATCH /leads/{id}sets vertical, archetype and tags.Workflows. Create, update, pause, resume and delete recurring workflows.
2026-09-20
Docs. revnu.com/docs launched: every page as markdown, an llms.txt index and search.
2026-09-19
Public API. Personal tokens with scopes; the review queue, agent messages, results, workflows and leads over
https://revnu.com/api/v1.GET /meverifies a token, andwaitSecondsholds a message request open for the reply.CLI. The
@revnu/clipackage with a local MCP server.
Frequently Asked Questions
Is the API versioned?
Yes, by path: everything lives under /api/v1. New fields and routes arrive without a version change, so ignore fields you do not recognise.
How do I hear about changes?
This page and /openapi.json change together. The docs index at /docs/llms.txt and the sitemap carry each page's last-updated date.