Skip to content
Surgery Waits

Guide for people building agents

This page names the files an agent can read on Surgery Waits and the terms under which it can use them. Each page and file that this page names by its address exists on the site. A folder that it names, such as /data-api/, holds files and has no page of its own.

Which files to read

Read /llms.txt first. It groups its links under these headings: “Key pages”, “Guides”, “About, data and agents”, “Data files”, “Schemas” and “Crawling and plain text”.

  • /llms-full.txt holds the text of the about, methodology and data pages and the credit for each dataset in one plain-text file.
  • The folder /data-api/ holds the figures behind the pages as JSON files. The file /data-api/index.json gives the counts and the scope of the data.
  • The file /data-api/openapi.json is an OpenAPI 3.1 description of the data files, which lists each path with its parameters, responses and headers.
  • The folder /contract/ holds JSON Schema files. Each file under /data-api/ except /data-api/openapi.json follows its schema in /contract/, and /data-api/openapi.json follows the OpenAPI 3.1 schema.
  • The folder /charts/ holds an SVG chart of the median wait in each state for each procedure that has a state figure.
  • The file /sitemap.xml is a sitemap index that links the sitemap files.
  • The files /.well-known/ard.json and /.well-known/ai-catalog.json hold one catalog of the entries Surgery Waits data API, Surgery Waits llms.txt and Surgery Waits MCP server, each with an address, a type, a description and example questions. Both files have the same content.

Licences

Each dataset keeps its publisher's licence. Every file under /data-api/ lists its sources in a sources entry, except /data-api/openapi.json and /data-api/rules.json. The file /data-api/credits.json gives the publisher, licence, version and citation for each source.

A person who reuses a file credits the publisher it names, under the licence it names. The publishers do not endorse this site and have no involvement in it.

The content signal in robots.txt

The file /robots.txt carries the line "Content-Signal: search=yes, ai-input=yes, ai-train=no" in each of its groups. It sets search to yes, ai-input to yes and ai-train to no. The file has one group for all other crawlers (User-agent: *) and one group for each of these named crawlers: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, Claude-SearchBot, PerplexityBot, Google-Extended and Applebot-Extended.

Every group allows every path, and the file has no Disallow line. A comment at the top of the file points to this page and to /llms.txt.

Methods and cache headers

The site answers GET and HEAD requests on every path except /mcp and /mcp/. It also answers OPTIONS requests under /data-api/ for a browser that asks before a cross-origin read. The route /mcp answers POST and OPTIONS requests, and its server card at /mcp/server-card answers OPTIONS requests. On every other path, any other method receives status 405.

Files under /data-api/ carry the header Cache-Control: public, max-age=3600, so a client may keep a file for an hour. They also carry Access-Control-Allow-Origin: *, so a web page on any site may read them. A missing data file returns status 404 with a JSON body.

Pages carry the header Cache-Control: public, max-age=0, must-revalidate, and /robots.txt carries Cache-Control: public, max-age=14400.

Markdown versions of pages

Each page has a Markdown version. Its address is the page address with the closing slash replaced by .md. The page /hospitals/ has the version /hospitals.md, and the home page / has the version /index.md. A version starts with the line "Canonical URL:" and the address of the page, and then gives the content of the main part of the page.

The Worker returns the Markdown version at the page address itself when a GET or HEAD request sends an Accept header that prefers text/markdown to text/html. That answer carries Content-Type: text/markdown; charset=utf-8, Vary: Accept and a Content-Location header that names the version. A request that prefers HTML receives the page, and the page carries Vary: Accept and a Link header that names its Markdown version with rel="alternate" and type="text/markdown".

A request for a page address other than / followed by index.md or by index.html.md receives status 308 and a Location header that names the Markdown version. A request for /index.html.md receives the same status, and a request for /index.md returns the home version. A Markdown version carries a Link header with rel="canonical" that gives the full address of its page on surgerywaits.au. A version that does not exist at an address outside /data-api/ returns status 404 with a Markdown body.

The MCP server

The Worker serves a Model Context Protocol server at /mcp. Its server card is at /mcp/server-card. The server answers these protocol revisions: 2026-07-28, 2025-11-25 and 2025-06-18.

The server has these read-only tools: surgerywaits_list_procedures, surgerywaits_get_wait, surgerywaits_compare_hospitals and surgerywaits_explain_urgency. They read the data files that this site publishes.

The route /mcp takes POST requests for JSON-RPC and OPTIONS requests for a browser that asks before a cross-origin call. A request from a browser is accepted when its Origin is one of https://surgerywaits.au, https://claude.ai and https://chatgpt.com, or the origin of the address it calls. Any other Origin receives status 403 with every method. The route treats a request with no Origin header as one that does not come from a browser, and accepts it. A request with an accepted Origin or no Origin that uses any other method receives status 405.

How to cite

Link the page or file that you used, and name Surgery Waits as the place that you read the figure.

Credit the publisher that the file names, under the licence it names, and use the citation in /data-api/credits.json. Give the reference period and the release date that the page or file states with each figure.

A figure has the state not_published when the publisher gives a code or a withheld mark instead of a number, and the state not_reported when the source leaves it empty and gives neither a publisher code nor a withheld mark. Each has a reason and no value. Report the first as not published and the second as not reported. Neither is ever a zero, and neither has a rank.

Example addresses

Each address below is a file or page on this site.