How it's built
Each tool is defined once. Herd, the API routes, the MCP tools and the CLI commands are all generated from it, so a new tool shows up everywhere at once.
REST API
Anything that sends, merges, archives, disconnects or removes access needs "confirm": true. Without it you get a 202 with a plain-English summary and a token to resend with.
curl https://api.replysync.co/v1/threads \
-H "Authorization: Bearer rs_live_…" \
-G -d label=interested -d status=waiting| Base URL | https://api.replysync.co/v1 |
|---|---|
| Auth | Bearer key (rs_live_…), shown once, stored hashed |
| Versioning | v1 only adds fields. Nothing is removed or renamed. |
| Errors | Written for people, with a request_id for support |
| SDK | replysync on npm, generated from OpenAPI |
MCP server
Hosted at mcp.replysync.co with OAuth. You only see your own clients, and anything that sends or deletes asks first. Comes with two prompts: triage_morning and weekly_client_summary.
CLI
Install with npm, log in once, and set a default client. Sending or deleting asks Proceed? [y/N] unless you pass --yes. --json returns the same shape as the API.
Webhooks
Every delivery is signed and carries an event ID for de-duplication. Failures retry 5 times over about an hour. After 20 failures in a row the endpoint pauses and we tell you.
Limits
Sends are queued under your sequencer's own limits and never rejected. Limits may change before launch.
Developers
Access opens in small groups, so create an account first. Your key lives in the app.
Say hi to Herd and get set upAlready have an account? Sign in