API
Everything on a mod's page, as data. No key and no sign-up.
One mod
GET https://polyfill.doomods.com/api/board/<slug>
The slug is the last part of the mod's page address. A mod the index does not list answers 404.
- slug, name, author
- As reported.
- entries[]
- One per game version, newest first. The answer on the page is read from here.
- builds[]
- Every finding, per game version and mod version.
- history[]
- What each Polyfill release said about each version of the mod.
- errors[]
- What it threw ingame, most common first.
- playerReports[]
- What players wrote on the mod's page, newest first.
- findings[], olderFindings[]
- builds folded per name: the newest game version, and every other.
- play, reports, lastSeen
- The newest game version's sessions, all reports, and the newest report.
entries[]
- gameVersion
- The game version this entry answers for.
- modVersion
- The newest version of the mod reported on it.
- verdict
- clean, adaptable or blocked, after the index rule.
- reported
- The same before the index rule. Differs only where a cloned screen was the whole reason.
- tally
- Reports per verdict: clean, adaptable, blocked.
- reports
- Reports about this mod version.
- reportsEveryVersion
- Reports on this game version about any mod version.
- findings
- How many findings are on record for this build.
- wants
- Clicks on "I want this fixed" on this game version. The page hides it while the mod works.
- play
- sessions, cleanSessions, errorSessions, minutes. null until somebody played long enough.
- lastSeen
- ISO 8601, UTC.
The page prints "Works" when verdict is not blocked and cleanSessions is larger than errorSessions.
builds[]
- gameVersion, modVersion
- The build that asks for the name.
- kind
- type, member, field, harmony-target, library-type, library-member, library-field, read or shape-coupled.
- symbol
- The name.
- outcome
- applied, refused, stood-down or none, as the newest Polyfill said.
- why
- Polyfill's own sentence, when it sent one.
- judged
- A ruling somebody already made about this name, when there is one.
- reports
- How many reports carried it.
- wasAlso
- Outcomes earlier reports gave it.
A shape-coupled finding is a note about a cloned game screen. It never counts as missing.
history[]
- gameVersion, modVersion
- The build.
- polyfillVersion
- The release that judged it. Empty for reports older than 0.10.1.
- verdict
- After the index rule.
- reports
- How many reports said so.
- moved
- How many of them arrived as blocked and were moved by the index rule. Absent when none.
- firstSeen
- ISO 8601, UTC.
errors[]
- kind
- The exception type.
- frame
- The mod's own innermost frame. Empty when none was on the stack.
- site
- Where it was thrown, whoever owns that code.
- path
- The call path through the mod, innermost first.
- thrown, sessions
- How often, and in how many sessions.
- modVersions, gameVersions
- Where it was seen.
- lastSeen
- ISO 8601, UTC.
The message of an exception is never collected, so it is not here either.
playerReports[]
- id
- The report's own id.
- at
- ISO 8601, UTC.
- gameVersion, modVersion, polyfillVersion
- Read from the player's log. polyfillVersion is empty when the log lists none.
- text
- What the player wrote, up to 500 characters, links removed.
- errors[]
- kind, frame, site and count as in errors[], plus origin (own, handler or other) and other, the root namespace of the other mod.
- counts
- true when at least one error has the origin own.
A report with counts is one more session in errorSessions of the entry with the same gameVersion and modVersion. The errors of every report are also folded into the mod's errors[].
The log itself is read in the player's browser and never sent.
History as CSV
GET https://polyfill.doomods.com/api/board/<slug>/history.csv
The rows of the folded table on the mod's page. Columns: game_version, mod_version, polyfill_version, verdict, reports, moved_by_index_rule, first_seen.
The whole board
GET https://polyfill.doomods.com/api/board?version=<game version>
One row per mod on one game version, with slug, verdict, play, tally and sessions. Without version it answers for the newest.
Badge
GET https://polyfill.doomods.com/badge/<slug>.svg
The answer chip of the mod's page as an image. It follows the newest game version; ?game=0.4.6f13 pins it to one. The snippets for Markdown and BBCode are on every mod's page under "For your mod page".
The same badge is a PNG at /badge/<slug>.png, for a page that shows no SVG. The BBCode snippet uses it.
A mod the index does not list yet gets a grey badge that says "not listed", so the address can go on a page before the first report arrives.
Limits
- JSON and CSV may be a minute old, a badge five.
- Any origin may read, so a browser can call it from your own site.
- There is no write access. Reports come from Polyfill itself, and from the form on a mod's page.
Missing a field? Write to me here. How the answers are made is on How this works.