Skip to main content
DocsAgent protocols

A2A endpoint

Full A2A v1.0 support per business, SendMessage and streaming, a well-known agent card, stateless tasks, and version negotiation.

Every published business speaks the Agent2Agent protocol (A2A) v1.0, so other agents can discover and converse with it directly:

coreloop.so/api/a2a/{slug}                          # the endpoint (ProtoJSON wire format)
coreloop.so/{slug}/.well-known/agent-card.json       # the agent card

Support surface

  • SendMessage and SendStreamingMessage (SSE) for request/response and streaming.
  • supportedInterfaces advertised on the agent card.
  • Standard TASK_STATE_* task states; tasks are stateless, each exchange stands alone.
  • Field-presence Parts semantics per the v1.0 spec.
  • Version negotiation, so clients on adjacent minor versions interoperate cleanly.

Behind the protocol, answers come from the same canonical profile as every other surface, with the same gates: published-only, owner switch, rate limiting, interaction logging (see the overview).

The agent card and languages

The card is a single, statically cacheable document, not generated per locale. It advertises the languages the business speaks as metadata; the conversation itself then happens in whichever supported language the calling agent chooses through the A2A messages.

There is also a network card. Beside the per-business cards, CoreLoop publishes a platform-level agent card at the root well-known address:

coreloop.so/.well-known/agent-card.json

It advertises three skills — find businesses (directory search), compare one business’s own services, and route a question or inquiry to a business a search returned — all served from coreloop.so/api/a2a/coreloop-directory. An A2A agent connects once and reaches the whole network; each business's own protocol switches are honoured, so the router reaches exactly the businesses that are published with A2A enabled. Platform-level MCP discovery lives in the MCP server card, which advertises the per-business address as a URL template.

When a business runs a custom domain, its card is also served at that domain’s root; the canonical coreloop.so address keeps working alongside it.

What a calling agent can expect

Business information, in the caller’s chosen supported language, current as of the owner’s latest approved profile. No PII, no write access, and inquiries only through the same rate-limited path as MCP’s send_inquiry. If the business is unpublished or has switched the channel off, the endpoint declines, immediately and uniformly.

Put your business where AI can find it

Free to start. Live in minutes.

Get started free