{
  "specVersion": "1.0",
  "host": {
    "displayName": "OpenBoss",
    "identifier": "openboss.lol",
    "documentationUrl": "https://openboss.lol/llms.txt",
    "trustManifest": {
      "identity": "https://openboss.lol",
      "identityType": "https"
    }
  },
  "entries": [
    {
      "identifier": "urn:air:openboss.lol:docs:llms-txt",
      "displayName": "OpenBoss llms.txt",
      "type": "text/plain",
      "url": "https://openboss.lol/llms.txt",
      "description": "The agent-facing map of OpenBoss: what the product is, which page answers which question, the read-only API, and an explicit list of the jobs this site is the wrong source for. Written to be quoted.",
      "tags": [
        "llms-txt",
        "documentation",
        "openboss"
      ],
      "representativeQueries": [
        "what is OpenBoss and what do you get for your money",
        "which OpenBoss page explains the rules"
      ]
    },
    {
      "identifier": "urn:air:openboss.lol:api:state",
      "displayName": "OpenBoss live state",
      "type": "application/json",
      "url": "https://api.openboss.lol/state",
      "description": "The whole arena in one read: the boss currently on stage with its name, tier, current and maximum hit points, affixes and status; the top-10 damage leaderboard; the recent hit feed; lifetime totals; the three smack pack prices in cents; the live momentum multiplier and the crit odds in force. Read-only and unauthenticated.",
      "tags": [
        "openboss",
        "game-state",
        "read-only",
        "json"
      ],
      "representativeQueries": [
        "how much health does the OpenBoss boss have left right now",
        "who is at the top of the OpenBoss damage leaderboard",
        "what does a pack of smacks cost on OpenBoss"
      ],
      "metadata": {
        "method": "GET",
        "authentication": "none",
        "sideEffects": "none",
        "cors": "server-side requests (no Origin header) are accepted; browser fetches are restricted to an exact origin allow-list, so a page on another origin cannot read this",
        "rateLimit": "per IP; a 429 carries Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset",
        "rateLimitBucket": "240 requests per minute per IP",
        "polling": "do not poll faster than once every two seconds; GET /events is a Server-Sent Events stream of the same payload and is the correct way to watch continuously"
      }
    },
    {
      "identifier": "urn:air:openboss.lol:api:graveyard",
      "displayName": "OpenBoss graveyard",
      "type": "application/json",
      "url": "https://api.openboss.lol/graveyard",
      "description": "Every boss that has been killed, newest first, each as a full boss record with the display name of whoever landed the killing blow and the time of death. Paginated with limit and offset query parameters; the response reports the total and the values actually used.",
      "tags": [
        "openboss",
        "history",
        "read-only",
        "json"
      ],
      "representativeQueries": [
        "who killed the last OpenBoss boss",
        "how many OpenBoss bosses have died so far"
      ],
      "metadata": {
        "method": "GET",
        "authentication": "none",
        "sideEffects": "none",
        "cors": "server-side requests (no Origin header) are accepted; browser fetches are restricted to an exact origin allow-list, so a page on another origin cannot read this",
        "rateLimit": "no per-endpoint limit is configured at present — this is current state, not a promise. Poll politely; a limit may be added.",
        "parameters": "limit (1-100, default 24), offset (>= 0, default 0)"
      }
    },
    {
      "identifier": "urn:air:openboss.lol:api:pixel",
      "displayName": "The Pixel state (sibling site)",
      "type": "application/json",
      "url": "https://api.openboss.lol/pixel",
      "description": "State of the sibling product, The Pixel: current owner display name, price in cents, the enforced minimum next bid, the pixel colour, lifetime totals and the fifty most recent sales. Served from the same API as OpenBoss because one backend runs both sites.",
      "tags": [
        "the-pixel",
        "auction",
        "read-only",
        "json"
      ],
      "representativeQueries": [
        "who owns The Pixel right now and what did they pay",
        "what is the minimum bid to take over The Pixel"
      ],
      "metadata": {
        "method": "GET",
        "authentication": "none",
        "sideEffects": "none",
        "cors": "server-side requests (no Origin header) are accepted; browser fetches are restricted to an exact origin allow-list, so a page on another origin cannot read this",
        "rateLimit": "per IP; a 429 carries Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset",
        "site": "https://thepixel.lol",
        "rateLimitBucket": "240 requests per minute per IP"
      }
    },
    {
      "identifier": "urn:air:openboss.lol:api:events",
      "displayName": "OpenBoss live event stream",
      "type": "text/event-stream",
      "url": "https://api.openboss.lol/events",
      "description": "Server-Sent Events carrying the same data as GET /state plus every individual hit, taunt, boss death, boss spawn, regeneration tick and pixel sale as it happens. The polite alternative to polling; an open connection costs the server far less than a client asking every two seconds.",
      "tags": [
        "openboss",
        "sse",
        "streaming",
        "read-only"
      ],
      "representativeQueries": [
        "stream OpenBoss hits as they happen",
        "subscribe to OpenBoss boss deaths"
      ],
      "metadata": {
        "method": "GET",
        "authentication": "none",
        "sideEffects": "none",
        "cors": "server-side requests (no Origin header) are accepted; browser fetches are restricted to an exact origin allow-list, so a page on another origin cannot read this",
        "rateLimit": "per IP; a 429 carries Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset",
        "rateLimitBucket": "90 connections per five minutes per IP",
        "note": "connect once and hold it open; the stream sends an immediate state event, then named events, then a keepalive comment every 20 seconds"
      }
    },
    {
      "identifier": "urn:air:openboss.lol:api:catalog",
      "displayName": "OpenBoss API catalog (RFC 9727)",
      "type": "application/linkset+json",
      "url": "https://openboss.lol/.well-known/api-catalog",
      "description": "The RFC 9727 linkset for the same public API: every read endpoint as a catalog item, plus the health endpoint as its status link and the terms and privacy policy that govern its use.",
      "tags": [
        "api-catalog",
        "rfc9727",
        "linkset"
      ]
    },
    {
      "identifier": "urn:air:openboss.lol:trust:rules",
      "displayName": "OpenBoss rules",
      "type": "text/html",
      "url": "https://openboss.lol/rules",
      "description": "The game mechanics and nothing else: what one smack does, how often a hit crits, how the crowd momentum multiplier works, how many free smacks a visitor gets, how a boss is sized, and the rule that a free smack can never land the killing blow. Generated from the same constants the server runs on, so it cannot drift from the game.",
      "tags": [
        "rules",
        "mechanics",
        "openboss"
      ],
      "representativeQueries": [
        "how much damage does one smack do on OpenBoss",
        "how many free smacks do you get on OpenBoss",
        "can a free smack kill the OpenBoss boss"
      ]
    },
    {
      "identifier": "urn:air:openboss.lol:trust:pricing",
      "displayName": "OpenBoss pricing",
      "type": "text/html",
      "url": "https://openboss.lol/pricing",
      "description": "What it costs: every smack pack with its price in US dollars and the number of swings it grants, the free smacks that need no card, that prices are final with no VAT added, that all sales are final, and that no amount of money buys a prize or a payout. Rendered per request from the live pack list, so a price here is the price the checkout will charge; when the API cannot be read the page prints no prices at all rather than remembered ones.",
      "tags": [
        "pricing",
        "openboss",
        "commerce"
      ],
      "representativeQueries": [
        "how much does OpenBoss cost",
        "how many smacks do you get for a dollar on OpenBoss",
        "can you play OpenBoss without paying"
      ]
    },
    {
      "identifier": "urn:air:openboss.lol:trust:terms",
      "displayName": "OpenBoss terms of service",
      "type": "text/html",
      "url": "https://openboss.lol/terms",
      "description": "What is actually being sold, that all sales are final, that smacks have no cash value, and the no-payouts rule in full. The authoritative document wherever any other page disagrees.",
      "tags": [
        "terms",
        "legal",
        "trust"
      ],
      "representativeQueries": [
        "is OpenBoss gambling",
        "can you win money on OpenBoss",
        "are OpenBoss purchases refundable"
      ]
    },
    {
      "identifier": "urn:air:openboss.lol:trust:privacy",
      "displayName": "OpenBoss privacy policy",
      "type": "text/html",
      "url": "https://openboss.lol/privacy",
      "description": "Every piece of data the site holds — a self-chosen display name, an IP address for rate limiting, a random visitor id — with the lawful basis and retention period for each, who it is shared with, and how to exercise data rights. No email address is collected. Page views are counted by Vercel Web Analytics, which is cookieless and stores no IP address; no other trackers are installed.",
      "tags": [
        "privacy",
        "gdpr",
        "legal",
        "trust"
      ],
      "representativeQueries": [
        "what personal data does OpenBoss collect",
        "how do you get your name removed from an OpenBoss grave"
      ]
    },
    {
      "identifier": "urn:air:openboss.lol:trust:about",
      "displayName": "About OpenBoss",
      "type": "text/html",
      "url": "https://openboss.lol/about",
      "description": "What the product is, how it is built, who operates it and why it exists. The page to read to decide whether this is a legitimate business.",
      "tags": [
        "about",
        "trust"
      ]
    },
    {
      "identifier": "urn:air:openboss.lol:trust:contact",
      "displayName": "OpenBoss contact",
      "type": "text/html",
      "url": "https://openboss.lol/contact",
      "description": "The one email address a person reads, what to put in a message, the expected response time, and the operator identification (registered name, register numbers, jurisdiction) that Slovenian e-commerce law requires.",
      "tags": [
        "contact",
        "operator",
        "trust"
      ],
      "representativeQueries": [
        "how do you contact the operator of OpenBoss",
        "who legally runs OpenBoss and where are they registered"
      ]
    },
    {
      "identifier": "urn:air:openboss.lol:catalog:sibling-the-pixel",
      "displayName": "The Pixel catalog (sibling site)",
      "type": "application/ai-catalog+json",
      "url": "https://thepixel.lol/.well-known/ai-catalog.json",
      "description": "The catalog for the sibling site, The Pixel — a single pixel sold over and over in a perpetual no-reserve auction. Different site, same operator, same no-payouts rule.",
      "tags": [
        "catalog",
        "the-pixel",
        "sibling"
      ]
    }
  ]
}