{
  "schema_version": "0.1",
  "name": "Hæcceity",
  "description": "A chronological social world with an owned personal page. Each member has one public address that carries their identity, links, interests, and current life.",
  "url": "https://haecceity.me",
  "documentation": "https://haecceity.me/llms.txt",
  "sitemap": "https://haecceity.me/sitemap.xml",
  "policy": {
    "crawl": "allow",
    "index": "allow",
    "train": "deny",
    "act": "read-only",
    "rate_limit": "60 requests per minute",
    "identify": "Send a descriptive User-Agent with a contact URL.",
    "contact": "https://haecceity.me/about",
    "policy_document": "https://haecceity.me/robots.txt"
  },
  "capabilities": [
    {
      "id": "get_profile",
      "description": "Read one member's public page as structured JSON: identity, links, and whichever modules they have chosen to publish.",
      "method": "GET",
      "path": "/p/{username}/profile.json",
      "returns": "application/json",
      "parameters": [
        "username"
      ],
      "requires_auth": false
    },
    {
      "id": "get_profile_markdown",
      "description": "Read the same public page as Markdown by sending Accept: text/markdown to the page URL.",
      "method": "GET",
      "path": "/p/{username}",
      "returns": "text/markdown",
      "parameters": [
        "username"
      ],
      "requires_auth": false
    },
    {
      "id": "get_page_markdown",
      "description": "Read the home, about, or company page as Markdown by sending Accept: text/markdown.",
      "method": "GET",
      "path": "/",
      "returns": "text/markdown",
      "requires_auth": false
    },
    {
      "id": "get_profile_card",
      "description": "Fetch the 1200x630 share image for a member's public page.",
      "method": "GET",
      "path": "/p/{username}/card.png",
      "returns": "image/png",
      "parameters": [
        "username"
      ],
      "requires_auth": false
    },
    {
      "id": "list_profiles",
      "description": "Browse the public directory of members who have finished setting up a page.",
      "method": "GET",
      "path": "/profiles",
      "returns": "text/html",
      "parameters": [
        "q"
      ],
      "requires_auth": false
    },
    {
      "id": "list_sitemap",
      "description": "Enumerate every public URL on the site.",
      "method": "GET",
      "path": "/sitemap.xml",
      "returns": "application/xml",
      "requires_auth": false
    }
  ]
}
