Developers

Plug this site into your agent.

Plain text, Markdown and JSON for everything here. No keys, no signup.

Start here

Read

Who Stavros is, and any page, as text.

Pages

The rest of the site, as Markdown.

Work

The work.

Discover

The whole surface, described.

Reference

Errors, versioning and every detail. Also as /developers.md.

Machine-readable interfaces to this site, for developers and for autonomous agents. Everything here is public, requires no API key, and needs no signup.

Quickstart

Get structured facts about Stavros in one call:

curl https://stavrospachoundakis.com/api/v1/profile

Fetch the full narrative context:

curl https://stavrospachoundakis.com/llms.txt

Add .md to any page address to get it as Markdown:

curl https://stavrospachoundakis.com/about.md

REST API: /api/v1

Base URL: https://stavrospachoundakis.com/api/v1. Full machine-readable description: openapi.json (OpenAPI 3.1).

Endpoint Method Description
/profile GET Complete structured profile: bio, location, employment history, skills, highlights, availability, links.
/experience GET Employment history.
/skills GET Skills grouped by discipline.
/projects GET Projects.
/posts GET Returns an empty list. This site has no posts.

Success responses are shaped { "apiVersion": "v1", "data": ..., "meta": ... }.

Authentication

None. There is no API key, OAuth flow, or signup. See auth.md for the full picture.

Versioning and deprecation

The API is versioned in the URL path. Breaking changes ship under a new segment (/api/v2) and the previous version keeps working. Additive changes (new fields, new optional parameters, new endpoints) are made in place, so clients must ignore unknown fields.

A version scheduled for removal is announced on this page and in the OpenAPI description, at least 180 days before it stops responding.

Errors

The API is static, read-only JSON. A path that does not exist returns a plain HTTP 404, and any method other than GET returns 405.

Machine-readable files

Path Content type Description
/llms.txt text/plain Full structured profile, roles, skills and when-to-use guidance.
/openapi.json application/openapi+json OpenAPI 3.1 description of the API above.
/auth.md text/markdown How authentication works (it doesn't exist: everything is public).
/.well-known/ai-catalog.json application/json Agentic Resource Discovery catalog.
/sitemap.xml application/xml Every canonical URL.
/robots.txt text/plain Crawl policy.

Markdown versions

Every page has a Markdown version: add .md to its address (/about.md, and /index.md for the home page). The HTML and Markdown versions are separate files, so there is no content negotiation by Accept header or User-Agent.

Errors and 404s

Unknown paths return a plain HTTP 404, never a 200 with the app shell, so you can trust status codes when probing.

Sandbox

There is no separate sandbox environment, and none is needed: every endpoint is read-only and side-effect free, so production is safe to call directly. Please keep test volume reasonable.

Source code

The repositories behind this site are private. Public profile: github.com/stavroschios.

Contact

Bugs, questions or integration help: use the contact page (human check required).


Machine-readable index for this site:

Add .md to any page address for a Markdown version.