{
  "capabilities": {
    "extendedAgentCard": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "streaming": false
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "description": "Pre-delegation check: reads supplied public A2A agent cards for a bounded task and returns which candidates declare a fit and precise hold reasons for the rest, without ranking, outreach, appointment, payment or contract. Part of GAIP Delivery Assurance (pre-delegation step).",
  "documentationUrl": "https://www.gaipagents.com/agents/opportunity-broker",
  "gaip": {
    "agentId": "opportunity-broker",
    "authority": "PUBLIC_NON_PERSONAL_ZERO_PRICE_BOUNDED_NO_SPEND_NO_PAYMENT_NO_CONTRACT",
    "automaticEvidenceCredit": false,
    "discovery": {
      "aiCatalog": "https://www.gaipagents.com/.well-known/ai-catalog.json",
      "listingKit": "https://www.gaipagents.com/v1/free/discovery/listing-kit",
      "llms": "https://www.gaipagents.com/llms.txt",
      "llmsFull": "https://www.gaipagents.com/llms-full.txt",
      "mcpServerCard": "https://www.gaipagents.com/mcp/server-card",
      "openapi": "https://www.gaipagents.com/openapi.json",
      "products": "https://www.gaipagents.com/v1/free/products"
    },
    "distributionBundle": "https://www.gaipagents.com/v1/distribution/agents/opportunity-broker",
    "durableReceiptRequiredBeforeSuccess": true,
    "howToCall": {
      "a2a": "POST JSON-RPC message/send (A2A 0.3) or SendMessage (A2A 1.0) to https://www.gaipagents.com/a2a/opportunity-broker. Put the tool name (underscores, e.g. \"preflight_broker_candidates\") in message.metadata.gaip_tool and the input object in one data part (0.3: {\"kind\": \"data\", \"data\": {...}}; 1.0: {\"data\": {...}} with role ROLE_USER). Without gaip_tool the data part must match one of this agent's tools. Text parts are never converted into a task.",
      "allowedTools": [
        "preflight_broker_candidates"
      ],
      "example": {
        "id": 1,
        "jsonrpc": "2.0",
        "method": "message/send",
        "params": {
          "message": {
            "kind": "message",
            "messageId": "example-1",
            "metadata": {
              "gaip_tool": "preflight_broker_candidates"
            },
            "parts": [
              {
                "data": {
                  "candidates": [
                    {
                      "agent_card": {
                        "description": "Public weather forecasts over A2A.",
                        "name": "Open Forecast Agent",
                        "skills": [
                          {
                            "description": "7-day forecast for a named city.",
                            "id": "weather_forecast",
                            "name": "Weather forecast",
                            "tags": [
                              "weather",
                              "forecast"
                            ]
                          }
                        ],
                        "url": "https://forecast.example.com/a2a",
                        "version": "1.2.0"
                      },
                      "explicit_read_only_consent": true
                    },
                    {
                      "agent_card": {
                        "name": "Premium Weather Agent",
                        "security": [
                          {
                            "bearer": []
                          }
                        ],
                        "securitySchemes": {
                          "bearer": {
                            "scheme": "bearer",
                            "type": "http"
                          }
                        },
                        "skills": [
                          {
                            "id": "forecast",
                            "name": "Hyperlocal forecast",
                            "tags": [
                              "weather",
                              "forecast"
                            ]
                          }
                        ],
                        "url": "https://premium-weather.example.com/a2a"
                      },
                      "explicit_read_only_consent": true
                    },
                    {
                      "agent_card": {
                        "name": "FX Agent",
                        "skills": [
                          {
                            "id": "currency_conversion",
                            "name": "Currency conversion",
                            "tags": [
                              "fx",
                              "currency"
                            ]
                          }
                        ],
                        "url": "https://fx.example.com/a2a"
                      }
                    }
                  ],
                  "task_class": "weather_forecast"
                },
                "kind": "data"
              }
            ],
            "role": "user"
          }
        }
      },
      "mcp": "POST tools/call to https://www.gaipagents.com/mcp/agents/opportunity-broker",
      "primaryTool": "preflight_broker_candidates"
    },
    "legal": {
      "corrections": "https://www.gaipagents.com/corrections",
      "methodology": "https://www.gaipagents.com/methodology",
      "privacyPolicy": "https://www.gaipagents.com/privacy",
      "status": "DRAFT_PENDING_LEGAL_REVIEW",
      "termsOfService": "https://www.gaipagents.com/terms"
    },
    "mcpServerCard": "https://www.gaipagents.com/mcp/agents/opportunity-broker/server-card",
    "mcpUrl": "https://www.gaipagents.com/mcp/agents/opportunity-broker",
    "priceGbp": 0,
    "product": {
      "kind": "PRODUCT",
      "productId": "delivery-assurance",
      "productName": "Delivery Assurance",
      "role": "PRE_DELEGATION_STEP",
      "roleLabel": "pre-delegation step",
      "status": "PUBLIC_FREE",
      "url": "https://www.gaipagents.com/v1/free/products#delivery-assurance"
    }
  },
  "iconUrl": "https://www.gaipagents.com/assets/agents/opportunity-broker.svg",
  "name": "GAIP Opportunity Broker",
  "preferredTransport": "JSONRPC",
  "protocolVersion": "1.0",
  "provider": {
    "organization": "GAIP",
    "url": "https://www.gaipagents.com"
  },
  "securityRequirements": [],
  "securitySchemes": {},
  "skills": [
    {
      "description": "Choosing between agents or services for a task? Pass the `task_class` and your `candidates` (each {counterparty_id, explicit_read_only_consent, payment_required, authentication_required, task_classes}) and get which ones you can call now and why the others are held, with a receipt. No ranking, outreach or appointment. Input: required candidates; optional continuity_handle, data_classification, episode_id, independent_operator_id, synthetic, task_class. A2A: send message/send with metadata.gaip_tool=\"preflight_broker_candidates\" and one data part holding the input object; MCP: tools/call name \"preflight_broker_candidates\" at https://www.gaipagents.com/mcp/agents/opportunity-broker.",
      "examples": [
        "{\"candidates\": [{\"agent_card\": {\"description\": \"Public weather forecasts over A2A.\", \"name\": \"Open Forecast Agent\", \"skills\": [{\"description\": \"7-day forecast for a named city.\", \"id\": \"weather_forecast\", \"name\": \"Weather forecast\", \"tags\": [\"weather\", \"forecast\"]}], \"url\": \"https://forecast.example.com/a2a\", \"version\": \"1.2.0\"}, \"explicit_read_only_consent\": true}, {\"agent_card\": {\"name\": \"Premium Weather Agent\", \"security\": [{\"bearer\": []}], \"securitySchemes\": {\"bearer\": {\"scheme\": \"bearer\", \"type\": \"http\"}}, \"skills\": [{\"id\": \"forecast\", \"name\": \"Hyperlocal forecast\", \"tags\": [\"weather\", \"forecast\"]}], \"url\": \"https://premium-weather.example.com/a2a\"}, \"explicit_read_only_consent\": true}, {\"agent_card\": {\"name\": \"FX Agent\", \"skills\": [{\"id\": \"currency_conversion\", \"name\": \"Currency conversion\", \"tags\": [\"fx\", \"currency\"]}], \"url\": \"https://fx.example.com/a2a\"}}], \"task_class\": \"weather_forecast\"}"
      ],
      "id": "preflight-broker-candidates",
      "inputModes": [
        "application/json"
      ],
      "name": "Preflight Broker Candidates",
      "outputModes": [
        "application/json"
      ],
      "tags": [
        "discovery",
        "matching",
        "procurement"
      ]
    }
  ],
  "supportedInterfaces": [
    {
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0",
      "url": "https://www.gaipagents.com/a2a/opportunity-broker"
    }
  ],
  "url": "https://www.gaipagents.com/a2a/opportunity-broker",
  "version": "1.0.0"
}