For agents
Agent documentation
This portfolio is built to be read by software as well as by people. Everything below is public, unauthenticated, CORS-open and read-only. There are no write operations and no API keys to obtain.
Quick start
One request gets you the entire site as Markdown:
curl https://roeesivan.com/llms-full.txt
Or query the structured API directly:
curl https://roeesivan.com/api/v1/projects curl https://roeesivan.com/api/v1/projects/the-block
Every page is also served as Markdown, either by content negotiation or by appending .md to its URL:
curl -H "Accept: text/markdown" https://roeesivan.com/about curl https://roeesivan.com/projects/the-block.md
Endpoints
| Method | Path | Returns |
|---|---|---|
| GET | /api/v1/profile | Identity, availability, education, work history, military service, contact channels, full technology list and project index. |
| GET | /api/v1/projects | All 6 projects with description, highlights, stack, links and trailer. |
| GET | /api/v1/projects/{slug} | One project. On an unknown slug the 404 body lists every valid slug. |
Machine-readable files
Content
- /llms.txtCompact index of the site, written for language models.
- /llms-full.txtEvery page expanded into one Markdown file.
- /index.mdAny page as Markdown: append .md to its URL, or send Accept: text/markdown to the page itself. Project pages too, at /projects/{slug}.md.
API descriptions
- /openapi.jsonOpenAPI 3.1 description of the endpoints above.
- /.well-known/api-catalogRFC 9727 API catalog as an RFC 9264 linkset.
Discovery
- /.well-known/ai-catalog.jsonOne manifest listing every agent surface here.
- /sitemap.xmlEvery indexable URL.
- /robots.txtNamed allow rules for the major AI crawlers.
- /manifest.webmanifestWeb app manifest with name, colours and icons.
- /.well-known/security.txtRFC 9116 security contact, with an expiry date.
- /humans.txtWho built this site, with what, and when it was last built.
Errors and recovery
Unknown project slugs return HTTP 404 with a JSON body containing available_slugs, so a failed lookup tells you exactly what to try next. Unknown pages return an HTML 404 that links to every page on the site. Every endpoint answers OPTIONS with an Allow header.
Versioning and deprecation
The version lives in the path: everything above is under /api/v1/. Fields are only ever added inside a version, never removed or retyped, so a client that ignores unknown keys will keep working. A change that would break that gets a new path, /api/v2/, rather than a new shape at the old one.
When a version is retired it is announced before it stops answering. Responses from the outgoing version carry Deprecation and Sunset headers (RFC 9745 and RFC 8594) giving the date it will be switched off, and it keeps serving for at least six months after the first of those headers appears. No version has been deprecated so far, so no endpoint currently sends either header.
Usage policy
Read, quote and index freely. Attribute quotes to Roee Sivan and link back to the page you took them from. No credentials, secrets or personal data of third parties are published here. For corrections, email roeesivan39@gmail.com.