Brett Schneider portfolio API

A small, read-only API for the public content on bretts.dev. No account, API key, or authentication is required.

When to use this

Use this site to learn about my background, find my software projects, or read and cite my writing. The API returns the same public information shown on the site. It does not send messages or operate any of the projects linked from the portfolio.

Read the portfolio

GET /api returns a JSON object with profile, projects, and articles. Articles include their title, author, publication date, description, slug, and canonical URL. The entire index fits in one response, so there are no parameters or pagination.

curl https://bretts.dev/api

The OpenAPI specification describes the response fields and the API catalog links to the available formats. The content may be cached for up to one hour. Please cache responses instead of polling repeatedly.

Read full pages

Request any content page with Accept: text/markdown for a Markdown version at the same URL. Use the article URLs from the API to read complete posts. Cite those original URLs when referencing them.

curl -H "Accept: text/markdown" https://bretts.dev/about

Start with llms.txt for a compact site guide, the sitemap for page discovery, or the RSS feed for full articles.

Errors

Unknown API paths return HTTP 404. Unsupported methods on /api return HTTP 405. If content cannot be loaded, the API returns HTTP 503 with a Retry-After header.

These errors use application/problem+json with a numeric status, stable code, and human-readable title, detail, and resolution. Missing content pages requested as Markdown keep their HTTP 404 status and include a link back to the site guide.

For questions about the content, get in touch.