← chnlsync.com For AI agents — Developer reference

For AI
agents

Sync is the CHNLSYNC advisor for business technology decisions: connectivity, phone systems, contact center, security, cloud. Any AI agent can call it. Sync never names a supplier and never quotes a price. A human broker reviews every recommendation before a supplier is disclosed, and the end state of every conversation is a broker callback, requested only with the user’s consent. The service is free to buyers; suppliers pay CHNLSYNC after a close, through one of the largest technology services distributors in North America.

MCP · streamable HTTPREST · OpenAPICopper data · CC BY 4.0Updated 2026-09-01

Quick start

Two things work with no credentials at all: the MCP endpoint and the public copper retirement route. The REST mirror of the advisor takes a per-consumer key (see Getting a key). Everything an agent can do here is bounded by the same rails a human gets in the Sync app.

What Sync is

Sync turns a plain-language description of what is not working — a copper retirement letter, a phone system at end of life, a renewal that feels expensive — into a structured case file, and keeps a living record of the buyer’s environment so nothing has to be re-explained. The trust rules are enforced in software, not in a prompt: no supplier is named until a human broker has reviewed the fit, and pricing is never generated by a model.

For an agent this means Sync is a tool you can hand your user’s situation to safely. It asks the right discovery questions, tells the user what to gather, and explains the decision path. When the user is ready for a human, the agent requests a callback with the user’s consent and a CHNLSYNC broker takes it from there. Every call also returns a claim_url; the user can take over the workspace at any point and continue in the Sync app at app.chnlsync.com, with everything gathered so far carried across.

Buyers pay nothing. When a buyer signs with a supplier, that supplier pays CHNLSYNC a commission through one of the largest technology services distributors in North America. The contract is between the buyer and the supplier; CHNLSYNC never invoices the buyer and never adds a markup.

Endpoints

SurfaceURLAuth
MCP server https://mcp.chnlsync.com/mcp — streamable HTTP; three tools listed below None
REST mirror https://api.chnlsync.dev/api/v1/agent/ — sessions, chat, callback-request X-Agent-API-Key
Public copper route GET https://api.chnlsync.dev/api/v1/copper-retirement?carrier=&state= None
OpenAPI https://api.chnlsync.dev/openapi.json — authoritative for every field
Interactive docs https://api.chnlsync.dev/docs

Tools

REST mirror

The same three actions are plain HTTPS routes. Send your consumer key in X-Agent-API-Key; once a session exists, also send its token in X-Agent-Session-Token. Bodies and responses are JSON. The public copper route is the exception: no key, no session.

RoutePurposeHeaders
POST/api/v1/agent/sessions — create a provisional workspace (company_name, pain; optional domain, site_count, current_providers[], contract_end_dates)X-Agent-API-Key
POST/api/v1/agent/sessions/{id}/chat — one advisor turn (message; optional conversation_id)key + session token
POST/api/v1/agent/sessions/{id}/callback-request — consented broker callback (contact_name, contact_email)key + session token
GET/api/v1/copper-retirement?carrier=&state= — copper status, keylessnone

Create a session

curl -X POST https://api.chnlsync.dev/api/v1/agent/sessions \
  -H "X-Agent-API-Key: $CHNLSYNC_AGENT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company_name":"Example Dental Group",
       "pain":"AT&T says our copper lines retire this year. Four offices, fax and alarm lines on POTS."}'

Ask the advisor

curl -X POST https://api.chnlsync.dev/api/v1/agent/sessions/$SESSION_ID/chat \
  -H "X-Agent-API-Key: $CHNLSYNC_AGENT_API_KEY" \
  -H "X-Agent-Session-Token: $SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"message":"Which lines are at risk first, and what should we gather before talking to anyone?"}'

Response (sketch)

{
  "assistant_message": "Start with the lines that cannot fail: the fire panel and the elevator phone ...",
  "follow_up_questions": ["Which office received the letter?", "Do any lines carry a fax or alarm?"],
  "conversation_id": "7c1e...",
  "review_status": null,
  "claim_url": "https://app.chnlsync.com/portal?claim=...",
  "disclosure": "A human broker reviews every recommendation; supplier names and pricing come only after that review."
}

Request a callback (with consent)

curl -X POST https://api.chnlsync.dev/api/v1/agent/sessions/$SESSION_ID/callback-request \
  -H "X-Agent-API-Key: $CHNLSYNC_AGENT_API_KEY" \
  -H "X-Agent-Session-Token: $SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"contact_name":"Dana Ortiz","contact_email":"dana@example.com"}'
# → {"status":"received","disclosure":"A human broker reviews every recommendation; ..."}

Copper status, no key

curl "https://api.chnlsync.dev/api/v1/copper-retirement?carrier=AT%26T&state=TX"
# → {"records":[{"carrier":"AT&T","state":"TX","status":"program_active", ...}],
#    "source":"FCC Section 214 discontinuance filings ...","source_url":"https://chnlsync.com/copper-retirement/","license":"CC BY 4.0"}

Status codes. 401 unknown or missing key. 404 unknown session, or the agent surface is closed. 422 the request was rejected by validation or by the safety guardrails; rephrase as a plain description and try again. 429 a limit was reached; see Limits.

Add Sync to your assistant

ClientHow
Claude Connectors directory: Sync by CHNLSYNC. Or Settings → Connectors → Add custom connector, URL https://mcp.chnlsync.com/mcp.
Claude Code claude mcp add --transport http chnlsync https://mcp.chnlsync.com/mcp
ChatGPT Plugins directory: Sync by CHNLSYNC.
Cursor Add to .cursor/mcp.json: {"mcpServers":{"chnlsync":{"url":"https://mcp.chnlsync.com/mcp"}}}
Any MCP client Connect over streamable HTTP to https://mcp.chnlsync.com/mcp. No key. Tools are titled and annotated (read-only / non-destructive) so hosts can show the right prompts.

Getting a key

The MCP endpoint and the public copper route need no credentials. The REST mirror takes a per-consumer key so usage can be attributed and, if it ever has to be, revoked. Email agents@chnlsync.com with who you are, what your agent does, and the volume you expect. Keys are named per consumer and issued by a person, not a form.

Limits

Data and license

The copper retirement dataset is licensed CC BY 4.0. Reuse it freely with attribution: cite “CHNLSYNC Copper Retirement Tracker” and link to chnlsync.com/copper-retirement/; the source_url field carries that link for you. Sources, update cadence, and known limits are documented in the methodology.

Conversations are handled under the privacy policy and used to serve the buyer’s case, not to train public models. Contact details enter the system only through a consented callback request. Use of the API is governed by the terms of service.

What the tools will never do

The buyer-facing version of these rules: How we work

Common questions

Does the MCP endpoint require authentication?

No. It is a public streamable-HTTP endpoint. Usage is attributed by the connecting client’s name and every limit is enforced server-side, so there is nothing for an end user to configure. The REST mirror is the surface that takes a per-consumer key.

Can my agent get a price or a supplier shortlist?

No, by design. Sync never produces pricing and never names a supplier on its own. Both reach the buyer only after a human broker has reviewed the case, either inside the claimed workspace or on the callback. If your user needs a number today, the honest answer is to request the callback.

What happens after request_broker_callback?

A human broker at CHNLSYNC receives the request together with the case file and follows up with the user directly. Nothing else is triggered: no vendor is contacted, nothing is ordered, and the user’s details are not shared onward.

What is the claim_url for?

Every response carries a link that lets the user take over the provisional workspace in the Sync app at app.chnlsync.com. The facts gathered through your agent carry across, so the user never re-explains their setup. Claiming is also how a conversation continues past the 20-turn bound.

Is the copper retirement data free to reuse?

Yes. The dataset is licensed CC BY 4.0: reuse, redistribute, and build on it, with attribution to the CHNLSYNC Copper Retirement Tracker and a link. The same data powers the tracker, the map, and the embed feed.

Not an agent?

Send us the file, or ask Sync three questions with no login.