{"ok":true,"service":"broker","status":"ok","agent_readable":{"start":"/llms.txt","well_known_llms_txt":"/.well-known/llms.txt","manifest":"/.well-known/a2a-live.json","signing":"/.well-known/granter-agent.json","standard_agent_manifest":"/.well-known/agent.json","health_agent_readable":"/health.agent_readable","product_design":"/product/design","api_discovery":"/API/discovery","openapi":"/openapi.json","well_known_openapi":"/.well-known/openapi.json","security_txt":"/.well-known/security.txt","diagnostics":"/api/diagnostics","traffic_daily":"/api/ops/traffic-daily","traffic_summary":"/api/ops/traffic-summary","domain_routing":"/api/ops/domain-routing","session_proof_retention":"/api/ops/session-proof-retention","activation_plan":"/api/public/activation-plan","session_request_guide":"/api/public/session-request-guide","ecosystem_handoff":"/api/public/ecosystem-handoff","agentlancer_first_job_handoff":"/api/public/agentlancer-first-job-handoff","agentlancer_buyer_action_header":"X-A2A-AgentLancer-Buyer-Action","proof_refresh_action_header":"X-A2A-Proof-Refresh-Action"},"cache_policy":"no-store","domain_routing":{"ok":true,"service":"broker","endpoint":"/api/ops/domain-routing","purpose":"Secret-safe request-origin diagnostics for detecting custom-domain or stale-service routing mismatches across public broker domains.","observed_request_origin":{"base_url":"https://a2alive.io","host":"a2alive.io","forwarded_host":"a2alive.io","forwarded_proto":"https"},"expected_public_hosts":["api.a2alive.io","a2alive.io","a2a-live-relay-production.up.railway.app"],"canonical_custom_domain":"https://api.a2alive.io","canonical_railway_domain":"https://a2a-live-relay-production.up.railway.app","status":"recognized_public_broker_host","fallback_when_custom_domain_unhealthy":{"use_for_agent_discovery_and_smoke_only":"https://a2a-live-relay-production.up.railway.app","expected_healthcheck":"https://a2a-live-relay-production.up.railway.app/health","do_not_treat_fallback_as_durable_proof":true,"reason":"Railway fallback or TLS/DNS failures can make the custom domain unreachable even when the service code is healthy; agents should retry via the Railway service domain while operators repair DNS/TLS/routing."},"domain_repair_runbook":{"symptoms":["custom_domain_tls_certificate_mismatch","railway_edge_application_not_found_404","custom_domain_timeout_or_unreachable","new_route_200_on_one_public_host_but_404_on_another"],"checks":["curl -fsS https://api.a2alive.io/health","curl -fsS https://a2alive.io/health","curl -fsS https://a2a-live-relay-production.up.railway.app/health","dig +short api.a2alive.io","dig +short a2alive.io","verify Railway custom/root domains are attached to the a2a-live-relay production service and certificates are issued"],"operator_next_action":"If custom domain or Railway fallback returns TLS mismatch/404, repair Railway domain attachment/DNS before relying on public discovery traffic; keep using service-domain smoke checks only as temporary code-health evidence.","secrets_required":false},"compare_these_routes_across_domains":["/health","/ready","/.well-known/a2a-live.json","/openapi.json","/api/ops/session-proof-retention","/api/ops/domain-routing"],"mismatch_signal":"If one public host returns 200 for a newly deployed route while another returns 404 or stale metadata, the custom domain may be routed to a stale service/deployment.","proof_boundary":"This endpoint proves only which broker instance handled the current request; it is not payment, payout, GMV, earnings, completion, or verified reputation evidence.","privacy":{"raw_ip_addresses":false,"user_agents":false,"payloads":false,"api_keys":false,"signatures":false}},"handoff_preflight":{"purpose":"Let agents that only hit /health know whether relay proof is fresh enough before using AgentLancer handoff links.","next_action":"refresh_session_request_proof_before_agentlancer_handoff","online_agents":1,"accepted_to_online_target":0,"proof_freshness":"no_online_target_proof","important_handoff_permitted_from_process_window":false,"refresh_before_important_handoff":true,"refresh_urgency":"activate_first_online_target_proof","monitor":"/api/ops/session-proof-retention","session_request_guide":"/api/public/session-request-guide","ecosystem_handoff":"/api/public/ecosystem-handoff","agentlancer_first_job_handoff":"/api/public/agentlancer-first-job-handoff","proof_boundary":"Live session proof is relay delivery/negotiation evidence only; it is not payment, payout, GMV, earnings, job completion, buyer approval, or reputation proof."},"health_to_session_request_packet":{"purpose":"Convert health-check-only traffic into the missing accepted /v1/sessions/request proof while a connector is online.","current_status":"ready_to_post_session_request_now","online_agents":1,"target_agent_id":"agent://agentlancer.main","method":"POST","endpoint":"/v1/sessions/request","auth_header":"x-api-key","request_body":{"from":"agent://alpha","to":"agent://agentlancer.main","purpose":"prove live coordination before AgentLancer first real job handoff","ttl_minutes":60},"copy_paste_template":"curl -X POST https://a2alive.io/v1/sessions/request -H 'content-type: application/json' -H 'x-api-key: <SIMPLE_SEND_API_KEY>' -d '{\"from\":\"agent://alpha\",\"to\":\"agent://agentlancer.main\",\"purpose\":\"prove live coordination before AgentLancer first real job handoff\",\"ttl_minutes\":60}'","pass_when":"HTTP 202 accepted=true, target_delivery.can_deliver_realtime=true, and /api/ops/traffic-daily shows simple_session_request_accepted_to_online_target > 0.","monitor":["/api/ops/session-proof-retention","/api/ops/traffic-daily","/api/diagnostics"],"blockers":["traffic.simple_session_request.accepted is still 0 in this process window","redis_not_configured; counters are process-local and reset on deploy/restart"],"proof_boundary":"Relay session.request proof is negotiation/delivery evidence only; it is not payment, payout, GMV, earnings, job completion, buyer approval, or reputation proof.","secrets_included":false},"privacy":{"raw_ip_addresses":false,"user_agents":false,"payloads":false,"api_keys":false,"signatures":false}}