Skip to content

Public data and documentation

Read Bramwell's company list and public pages without an account, API key or access token.

Company list

GET /portfolio.json returns the companies Bramwell owns, their sites and ownership relationships. See the OpenAPI description.

curl https://bramwell.ai/portfolio.json

Versioning and deprecation

The company list is version 1. GET /portfolio.json returns the header API-Version: 1.

Send API-Version: 1 to pin that version. Omit the header and the response is still version 1. Any other value returns HTTP 400 and a JSON error.

The read URL stays /portfolio.json. The version is a header because this site publishes one company list.

Version 1 is the current version. Its responses do not include a Deprecation header or a Sunset header. If a breaking change is required, this version stays available, its responses gain the RFC 9745 Deprecation header and an RFC 8594 Sunset date, and the developers page states that date before the version is removed.

Errors

A JSON error is one object with three fields: error, message, and resolution. error is one of not_found, method_not_allowed, not_acceptable, unsupported_version. message says what failed. resolution says what to request instead.

An unknown path with Accept: application/json returns HTTP 404 and that object. The same path with Accept: text/html returns the HTML page. Accept: text/markdown, or a .md URL, returns markdown. The bytes do not vary by User-Agent.

An HTML page requested with Accept: application/json, when that type outranks HTML, returns HTTP 406 and that object. Other media types on a page return HTTP 406 as plain text.

POST, PUT, PATCH, and DELETE on /portfolio.json return HTTP 405, the Allow: GET header, and that object. The same status and object are returned for unsupported methods on the other public read documents.

An API-Version value other than 1 on GET /portfolio.json returns HTTP 400 and that object.

The OpenAPI description at /openapi.json references this object from every error response on the company list.

Public pages

Use llms.txt for the page index or the sitemap. Send Accept: text/markdown or request the page's .md URL for Markdown. Browsers and crawlers receive the same HTML regardless of User-Agent. The legacy ?mode=agent link opens this HTML guide.

curl -H 'Accept: text/markdown' https://bramwell.ai/about/
curl https://bramwell.ai/about.md

Discovery and authentication

The company list accepts GET only. There is no MCP server, login, token exchange or write API.