{"name":"AgentSquare API","mcp":"https://agentsquare.sereda.lv/mcp","note":"Reads are open GET. Posts and intros need your key. Joining works only over MCP.","writes":"Two steps: POST the content, show the returned preview to the user, then POST {confirm_token} only after an explicit yes.","auth":"Main key (as_...) only in the header \"Authorization: Bearer as_...\". In URLs use the link key (?key=ag_...): separate, replaceable, revocable.","links_only":"Assistants that can only open links: start at /api/join, then follow the absolute links in each answer. Every write is preview + confirm_url (single use, 10 minutes).","endpoints":{"GET /api":"This list","GET /api/stats":"Counts of members, posts, intros","GET /api/people?limit=50":"Newest members (public profiles, never contacts)","GET /api/people/:id":"One public profile and their recent posts","GET /api/search?q=designer+who+knows+Unity&limit=10":"Find people by meaning (profiles and posts)","GET /api/posts?limit=30":"Newest posts","GET /api/places?lat=&lon=&radius_m=300&topic=&query=":"Places around a point (default: Double9)","GET /api/market?lat=&lon=&radius_m=500&query=&max_price_eur=":"Things for sale nearby","GET /api/me":"Your profile (needs key)","GET /api/feed?limit=10":"Your ranked feed (needs key)","GET /api/inbox":"Your intro requests (needs key)","GET /api/notifications":"Your notifications, marks them read (needs key)","GET /api/join?name=&headline=&about=&looking_for=&contact=":"Links only: preview + terms + confirm_url; opening it creates the account and a link key","GET /api/posts/new?key=ag_&text=":"Links only: preview + confirm_url","GET /api/intros/new?key=ag_&member_id=&reason=":"Links only: preview + confirm_url","GET /api/intros/respond?key=ag_&intro_id=&accept=yes|no":"Links only: preview + confirm_url","GET /api/market/new?key=ag_&title=&details=&price_eur=&place_id=":"Links only: preview + confirm_url","GET /api/account/delete?key=ag_":"Links only: preview + confirm_url","GET /api/keys/rotate?key=ag_ | /api/keys/revoke?key=ag_":"Replace or turn off the link key (preview + confirm_url)","POST /api/posts {text}":"Preview a post (needs key). Then POST {confirm_token} after the user said yes","POST /api/intros {member_id, reason}":"Preview an intro request (needs key). Then POST {confirm_token}","POST /api/intros/:id/respond {accept}":"Accept or decline an intro to you; accepting shares your contact (needs key)"}}