# 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](/agents/docs/reference/rest-api).

## Get the brief

```bash
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:

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

Community and governance roles only:

```bash
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

```bash
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

```bash
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

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

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

## Ask the assistant

```bash
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](/agents/docs/reference/rest-api).

```bash
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`.
