Read our docs and changelog programmatically
A no-auth, IP-rate-limited surface so any client β LLM agent, MCP server, n8n flow, or your own service β can pull product docs and changelog without first having an API key. The chicken-and-egg problem solved.
docs.products, docs.list, docs.get, docs.search, docs.changelog. A Claude Desktop / Code client connected to our MCP server can learn the platform before it has a key.Auth + rate limit#
No bearer required. We rate-limit per source IP at 120 requests / 60-second sliding window β twice the per-key default. Same X-RateLimit-Limit / Remaining / Reset headers as authenticated routes. Permissive CORS (*) so any browser or non-browser client can fetch.
Products#
List documented products
/v1/docs/productscurl https://agency.gary.club/api/public/v1/docs/products{
"data": [
{
"id": "11111111-1111-1111-1111-111111111111",
"slug": "ai-agency-unlocked",
"name": "AI Agency Unlocked",
"description": "Documentation for the agency portal at agency.gary.club",
"icon": "π€"
},
{
"id": "22222222-2222-2222-2222-222222222222",
"slug": "gary-club-ecosystem",
"name": "Gary Club Ecosystem",
"description": "Documentation for gary.club/dashboard and the member experience",
"icon": "π¦"
}
]
}List doc pages#
List published pages by product (titles + slugs only)
/v1/docs/pages/v1/docs/pages/{slug}.Query parameters
productstringrequiredai-agency-unlocked or gary-club-ecosystem.categorystringlimitintegerdefault: 50curl "https://agency.gary.club/api/public/v1/docs/pages?product=gary-club-ecosystem&category=games"Get one page#
Fetch a doc page (full body, both HTML and plaintext)
/v1/docs/pages/{slug}Path parameters
slugstringrequiredbuy-a-giraffe.Query parameters
productstringcurl "https://agency.gary.club/api/public/v1/docs/pages/buy-a-giraffe?product=gary-club-ecosystem"Search#
Full-text search across published pages
/v1/docs/searchtitle, description, and content_text. Results include a snippet so consumers can render preview cards without fetching the full body.Query parameters
qstringrequiredproductstringlimitintegerdefault: 10curl "https://agency.gary.club/api/public/v1/docs/search?q=how+to+buy+gary"{
"data": [
{
"slug": "how-to-buy-gary",
"title": "How to buy $GARY",
"description": "Three paths β Jupiter (best), Coinbase / centralized exchanges, or any Solana DEX...",
"snippet": "...$GARY trades on Solana. The token is the same wherever you buy β what differs is convenience...",
"product": { "slug": "gary-club-ecosystem", "name": "Gary Club Ecosystem" },
"category": { "slug": "tokens", "name": "Tokens & Wallets" },
"url": "https://docs.gary.club/gary-club-ecosystem/how-to-buy-gary"
}
],
"count": 1,
"query": "how to buy gary"
}Changelog#
Recent changelog entries (newest first)
/v1/docs/changelogQuery parameters
productstringtypestringfeature, improvement, fix, breaking, deprecation.sincestringlimitintegerdefault: 25curl "https://agency.gary.club/api/public/v1/docs/changelog?product=ai-agency-unlocked&type=breaking&limit=10"Common patterns#
βHas anything new shipped since I last connected?β
Persist the last poll timestamp; on each run, ask /v1/docs/changelog?since=<your-timestamp>. New entries == platform changes worth surfacing.
βUser asked how to do X β what page should I open?β
Search first, fetch second. /v1/docs/search?q=<ask> returns ranked snippets; show the top result, or fetch the full body with /v1/docs/pages/{slug} when you want to quote it.
βI'm an LLM and I have no key yetβ
Read /v1/docs/pages?product=ai-agency-unlocked&category=getting-started to find the onboarding pages. Read /v1/docs/pages/api-keys for instructions on minting a key. Then come back authenticated.
docs.search and docs.get to read the platform's own documentation, then guide the user through key minting before any authenticated tool is invoked.
