Skip to main content
JGJenks Guo

Docs / how to

Use the REST API

Call the public, read-only REST API with curl to fetch Jenks's brief, entries, translations, search results and assistant answers.

Basics

  • Base URL: https://jenksguo.xyz/api/v1
  • No authentication for public endpoints. Responses are JSON unless stated.
  • GET endpoints allow cross-origin requests. POST /api/v1/ask is rate-limited per IP.
  • Full parameter lists: REST API reference.

Get the brief

curl -s https://jenksguo.xyz/api/v1/brief

The same brief is available as a file at https://jenksguo.xyz/brief.md.

List entries, filtered

All Web3 work:

curl -s "https://jenksguo.xyz/api/v1/entries?tag=web3"

Community and governance roles only:

curl -s "https://jenksguo.xyz/api/v1/entries?kind=community"

Combine filters: ?tag=consulting&lens=ai-transformation-consultant. Tags are it, engineering, ai, devrel, web3, business, marketing, consulting, hospitality, community and creative.

Get one entry, translated

curl -s "https://jenksguo.xyz/api/v1/entries/xero-developer-evangelist?locale=zh"

Supported locales: en (default), zh, zh-hant, ja, fr, es, eo. Official job titles and organisation names stay in English in every locale.

Search

curl -s "https://jenksguo.xyz/api/v1/search?q=hackathons"

Results are passages with the slug of the entry or document they come from. Follow up with /api/v1/entries/{slug}.

Read a document

curl -s https://jenksguo.xyz/api/v1/documents/credentials

Documents: profile, credentials, capabilities, talks, thinking.

Ask the assistant

curl -s https://jenksguo.xyz/api/v1/ask \
  -H 'content-type: application/json' \
  -d '{"question": "What has Jenks built with AI agents?", "locale": "en"}'

Add earlier turns with "history": [{"role": "user", "content": "…"}, {"role": "assistant", "content": "…"}]. If you get 429, wait a minute.

Example: build a shortlist note with jq

Response fields are listed in the REST API reference.

curl -s "https://jenksguo.xyz/api/v1/entries?lens=developer-advocate" \
  | jq -r '.entries[] | "- \(.title) — \(.org) (\(.period)): \(.summary)"'

Static alternatives

If you only need files, these never change shape and cache well: /llms.txt, /llms-full.txt, /experience.json, /resume.json and /openapi.json.

.md