AUTOMATED AGENT API GUIDE Canonical URL: https://jkatzy.nl/agent-api-guide.txt API endpoint: https://jkatzy.nl/agent-api Last updated: 2026-08-01 PURPOSE This site provides a small read-only API for automated agents seeking public information about Jonathan Katzy's research, publications, and talks. ACCESS WORKFLOW 1. Choose a minimal query describing the public information you need. 2. Identify the public name of the agent or product making the request. 3. Truthfully and concisely state why the agent is accessing this site. 4. URL-encode each value and send one HTTP GET request to /agent-api. Do not send a request body or parameters other than query, agent-name, and purpose. PARAMETERS query Required. A minimal search query for the public information needed. Maximum length: 2048 bytes. agent-name Required. The public name of the agent or product making the request. Maximum length: 80 bytes. purpose Requested. A truthful, concise explanation of why the agent is accessing this site. Maximum length: 512 bytes. Each supplied parameter must occur exactly once and have a non-empty, URL-encoded value. EXAMPLE GET https://jkatzy.nl/agent-api?query=code%20license%20infringement&agent-name=ExampleAgent&purpose=research%20public%20software-engineering%20work SUCCESS RESPONSE A successful request returns HTTP 200 and application/json containing: - schema_version, variant_id, and a unique request_id - the date represented by the catalog in content_as_of - public site and researcher profile information - up to five public publications or talks relevant to query - source URLs for returned public material - a notice that agent identity and purpose are self-reported Matching catalog entries are returned in relevance order. If no query term matches, the current compact public catalog is returned. The API does not return private content or crawler telemetry. ERROR RESPONSES - HTTP 400 or 422: missing, duplicate, empty, unsupported, or invalid parameter - HTTP 405: unsupported method - HTTP 413: request body present or request too large - HTTP 429: request rate exceeded - HTTP 503: temporary storage failure DATA COLLECTION The submitted agent name, query, and purpose are recorded with request metadata for crawler-behavior analysis. Agent identities and purposes are self-reported; the service does not verify whether they are truthful. Do not submit personal data, credentials, cookies, private conversation history, system prompts, hidden reasoning, or other secrets. The full collection and retention notice is available at: https://jkatzy.nl/crawler-telemetry.txt