tobis.vision developer resources

Everything on this site that is meant to be read by a program rather than a person. All of it is public, read-only, and needs no key. Tobi Moccagatta is a creative developer at basement.studio; the content below is the portfolio itself, served as data.

(Machine-readable files)

  • /llms.txt

    The site in one plain-text file: pages, selected work, experiments, contact — and when an agent should reach for any of it.

  • /agents.md

    The same when-to-use guidance, at the address the AGENTS.md convention looks for.

  • /openapi.json

    OpenAPI 3.1 description of the read-only content API below.

  • /sitemap.xml

    Every published URL.

  • /robots.txt

    Crawler policy. Retrieval and training crawlers are both allowed.

(Content API)

The CMS behind the site exposes its published documents over REST. Read access is open; nothing else is. Request and response shapes are in openapi.json.

(Markdown)

Every page answers Accept: text/markdown with markdown at its own URL, per acceptmarkdown.com. Those responses carry Vary: Accept, Accept-Encoding, and an Accept that rules out both HTML and markdown gets a 406.

curl -H "Accept: text/markdown" https://tobis.vision/about

The same documents are addressable directly, for clients that cannot set headers:

(Versioning, deprecation and limits)

Versioning

  • Versions live in the URL path. /api/v1/… is the current major and the one to integrate against.

  • /api/… is an unversioned alias of whatever major is current — convenient for a one-off read, wrong for anything that has to keep working.

  • A breaking change ships as a new major at a new path. The old path keeps working through its deprecation window.

  • Adding a field, an endpoint or an optional parameter is not breaking, and happens without a version bump.

Deprecation

  • A retiring version answers with Deprecation (RFC 9745) carrying the date the deprecation took effect, and Sunset (RFC 8594) carrying the date it stops answering.

  • Both come with Link: <…>; rel="deprecation" pointing at the notice.

  • The window between the two is at least six months.

  • Nothing is deprecated today, so neither header is being sent.

Rate limits

  • 120 requests per 60 seconds per client, on GET and HEAD.

  • Every response carries RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset, and the structured-field RateLimit and RateLimit-Policy the current draft defines. Read either.

  • Over the limit is 429 with Retry-After in seconds.

  • Counters are held per server instance, so the effective limit across a fleet is higher than the number quoted. Pace against the headers, not the number.

(Contact)

contact@tobis.vision Tobi Moccagatta, Creative Developer at basement.studio, Buenos Aires (UTC-3).