SociaHive Docs

Changelog

Notable changes to the SociaHive SDKs, MCP server, and REST API.

Public-facing changes that affect SDK consumers, MCP clients, or REST API callers. We don't log every internal refactor.

For version bumps that don't have a notable user-visible change, we publish the new version without a changelog entry — assume those are bugfix-only.

2026-10-06

New tool: export_collected_data

Returns the actual values collected by your flows (emails, phone numbers, names, answers), newest first, so an assistant can export or sync your leads. Inputs: flowId (optional; omit for all your flows), fieldType, since (ISO date), limit (1-500, default 100) and cursor. Output: items (id, flowId, flowName, fieldType, fieldLabel, value, valid, collectedAt), nextCursor and total. Needs the flows:read scope. Rolling out to admin accounts first; until it reaches yours, calls are refused.

get_collected_data hides email- and phone-shaped previews

get_collected_data stays a summary. Its preview field is now also left out when the value looks like an email or a phone number, whatever the field type. Use export_collected_data for the values.

2026-10-05

When an MCP client asks for any write scope, the SociaHive consent screen now offers a "Read-only access" box. If the person ticks it, the authorization code and every token minted from it carry only the requested *:read scopes plus agent:execute; all *:write scopes and agent:destructive are dropped. Write tools are then refused for the missing scope. Read the granted set from the scope field of the token response rather than assuming you got what you asked for.

Token revocation endpoint

POST /api/oauth/revoke implements RFC 7009. Send token (access or refresh, form-encoded or JSON), and optionally token_type_hint and client_id. Revoking either token revokes the pair. The response is 200 for any token, including unknown or already revoked ones; 400 invalid_request only when token is missing. The endpoint is advertised as revocation_endpoint in /.well-known/oauth-authorization-server, with revocation_endpoint_auth_methods_supported: ["none"].

People can also revoke a connected app from Settings → Connected apps. Either way the next request with the revoked token gets 401 invalid_token.

2026-10-02

generate_flow: iterateOnFlowId no longer rebuilds a flow a person has edited

generate_flow with iterateOnFlowId replaces every step of the target flow. It now works only on an empty draft, or on a flow whose content is still exactly what generate_flow last built. On any other flow the call fails with state_error and suggestion: "use_edit_tools"; nothing is changed.

To change one thing in an existing flow, use update_node, add_node, delete_node or add_edge.

Flows built before this date count as edited, so they can be changed with the edit tools but not regenerated in place.

get_flow returns the flow's steps

get_flow used to return only node and edge counts. It now also returns nodes (each step's id, type, name and a one-line summary) and edges (from, to, and the handle for a button or branch). Pass nodeId (a step's id or name) to also get that step's full data in node. Request headers and credentials in step data are masked as [redacted].

Existing fields are unchanged.

update_node merges instead of replacing

update_node used to replace a step's whole data with what the caller sent, so a call carrying only name erased the step's content. It now merges:

  • text, link and keywords are new inputs for the common edits: a message step's reply text, its outgoing link, and the trigger's keyword list.
  • data is merged into the step. Top-level keys are set; content blocks merge by id; the trigger's config merges by key. To remove a content block, pass removeBlockIds. A key you leave out is kept, not deleted.
  • The write fails with state_error (wait_then_retry) instead of overwriting when the flow is being changed at the same time.

Some content is refused with validation_error because only the owner sets it in the flow editor: anything but the name on a payment step, product selections, the post a scheduled-post automation listens on, and removing a button that has a connection. add_node refuses the same values, and add_edge / delete_edge refuse connections out of a payment step.

A restore point before every edit; scheduled-post automations

  • Before update_node, add_node, add_edge, delete_node, delete_edge, revert_flow_to_version, or a generate_flow rebuild changes a flow, the flow as it stood is saved as a revision if no revision already holds it. get_flow_revisions lists it as "Before AI edit" and revert_flow_to_version restores it. If the restore point cannot be saved, the edit is not made (upstream_error, retriable).
  • revert_flow_to_version now works on drafts only, like the other edit tools. For a live flow, duplicate it first.
  • Editing an automation that was set to turn on with its scheduled post turns that setting off, because only a person can approve what goes live. The tool result carries a notice saying so, and the owner gets an in-app notification.
  • duplicate_flow (and POST /api/v1/flows/{id}/duplicate) no longer copies a scheduled-post link. The copy listens on no post until posts are chosen for it.

Scheduled-post automations in the tools

  • get_scheduled_post returns automation when the post has one: flowId, flowName, state (building, failed, off, armed, live, needs_attention), armed, and problem when it needs a fix.
  • New tool detach_post_automation removes the automation from a scheduled post. It needs posts:write and flows:write, and always asks for confirmation. It is being rolled out gradually, so a call may be refused as not enabled.
  • No tool turns an automation on. That is done by the account owner on the post.

What is wrong with a flow; node and trigger catalogs

  • get_flow returns problems: for a draft, every rule that would stop it being turned on (each with code, message and the nodeId when one step is at fault); for a live flow, its current problem. An empty list means none.
  • The sociahive://node-types and sociahive://trigger-types resources are now generated from the product's own lists, so they include every current step and trigger. One correction: a delay step's delay_time is in milliseconds. The resource used to say seconds.

2026-05-20

Outbound webhooks — deferred

The outbound webhooks surface (/api/v1/webhooks/* CRUD and the events listed previously) is gated behind admin access until the production-grade at-least-once delivery pipeline ships. If you were planning an integration that subscribes to SociaHive events, hold off — the public surface is being redesigned and the timeline is open. We'll announce here when it's ready.

In the meantime, the equivalent integration patterns work today via polling the REST API (e.g. GET /api/v1/posts?status=published&since=<timestamp>) or by reading from the MCP list_* tools.

@sociahive/[email protected] on npm

First public release of the official Node / TypeScript SDK.

  • Resource groups: accounts, posts, flows, analytics
  • Typed request and response shapes
  • Ergonomic SociaHiveError with isAuthError, isRateLimited, isNotFound, isStateError helpers
  • Both CJS and ESM bundles; types field correctly ordered for TypeScript conditional resolution
  • Node 18+
npm install @sociahive/sdk

[email protected] on PyPI

First public release of the official Python SDK.

  • Same resource grouping as the Node SDK
  • httpx-based async-capable client
  • SociaHiveError exception class
  • Python 3.9+
pip install sociahive

Docs site

  • New documentation site at docs.sociahive.com — multi-page Fumadocs site replacing the single-file README
  • Three-doors landing: AI assistants / Developers / No-code operators
  • Setup guide with Tabs for each MCP client (Claude Desktop, Claude Code, Shell CLI, Local stdio)
  • Developer quickstart structured as numbered Steps
  • Cookbook with three runnable recipes — auto-reply comments, CSV scheduling, daily performance recap
  • Flow patterns reference (seven named patterns)
  • Error reference and rate limits pages

Public source repositories


How to track future changes