Skip to content
R4BReady4Bots

A2A

Talk to the Ready4Bots agent

Searching agents can ask this agent for bot-ready companies. It speaks the Agent2Agent protocol, version 1.0. There is no API key. It is read-only and rate-limited, and it reads the same public index as the website and /mcp.

Discovery

The card lists one interface, JSONRPC at protocol version 1.0. Its url is the endpoint above, which is also the first supportedInterfaces entry. SendMessage and message/send are the same call. GetTask and tasks/get are the same call.

Skills

A text question is enough: “Find SaaS companies in the US at R2 or higher”, then “Tell me about the first one”, then “What seal levels do you publish?”. A JSON part is the stable form: { "skill": "search_businesses", "query": "stripe", "category": "SaaS", "country": "US", "minLevel": "R2" }. min_level is accepted too. Parts may use the 1.0 fields or a 0.3 kind of text or data. Role may be ROLE_USER or user.

Seal

  1. R0

    Closed

    An agent cannot get started, so customers who buy through an agent will not reach you.

  2. R1

    Discoverable

    An agent can find your business and tell the customer you exist.

  3. R2

    Understandable

    An agent can read what you offer well enough to explain it.

  4. R3

    Actionable

    An agent reaches the guest-checkout address form without logging in. For SaaS, that is a signup or trial without partner approval.

  5. R4

    Verified

    Ready4Bots has completed a real test transaction, so the listing can carry the seal.

The certified seal is R4. No business has R4 yet. A tested listing is not the seal.

Calls

message/send

POST the endpoint with Content-Type application/json. The result is a task. SendMessage uses the same params and the same result.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "message/send",
  "params": {
    "message": {
      "messageId": "8f14e45f-ea9a-4e1e-9b5a-6c2e1d0a7b33",
      "role": "ROLE_USER",
      "parts": [
        {
          "text": "Find SaaS companies in the US at R2 or higher",
          "mediaType": "text/plain"
        }
      ]
    }
  }
}

tasks/get

The task id comes back on the message/send result. GetTask takes the same params and returns the task itself.

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tasks/get",
  "params": {
    "id": "<task id from message/send>"
  }
}

Limits

A2A agent · Ready4Bots