GunSpec

Content

Public, key-free reads for GunSpec editorial content: blog posts and the product changelog. Both return only published entries and support pagination and category filtering. Use them to embed news, release notes, or articles directly in your own app.

Optional AuthExplorer+

Every finding one check made in the latest run of a surface, a page at a time. A run carries a sample of twenty per check; the data check suites publish every finding as well, and this is where the whole list is read: one line per finding, the record first. For a run published before findings were stored, the sample is returned instead, and published says how many that is.

GET/v1/contract/findings

  • stringheader

    Optional. Without a key this endpoint answers under the public policy; a key raises your limits and unlocks plan-gated fields. Authorization: Bearer <key> is accepted in its place.

  • stringrequired

    The check id, as the run lists it under systemChecks.

    Example
  • string

    Which product or data suite the run measured: api for this REST API, mcp for the hosted MCP server, fitment for the attachment compatibility suite, catalogue for the catalogue record checks: every file against its schema, no company under two ids, and no firearm whose fields cannot all be true, integrity for the integrity checks: figures, prose and feature lists copied between unrelated guns, citations that are not evidence, timelines, weight against size, and confidence against evidence, plausibility for the plausibility checks: a loaded weight against the empty one and its magazine, a gun older than its cartridge, figures in the wrong unit, energy against velocity, variants that disagree with their family, and the same gun filed twice, anomalies for the statistical anomaly checks: a figure unusually far from its family's or its cohort's median, and a barrel an unusual share of its gun's length; each a figure to verify, not one shown wrong, cartridges for the cartridge checks: energy against bullet and velocity, pressure in MPa against psi, dimensions no case can have, a bullet against the calibre its name states, a cartridge older than its parent, and each load against its cartridge, materials for the materials registry: every material's density quoted from a page that still states it, within the range it declares, and every material value the catalogue uses covered, so the mass checks read sourced densities, corroboration for the corroboration checks: firearm figures compared with a second, independent source (Wikidata), sources for the source checks: how many records cite their own maker or another authority, and which heavily cited sites the source hierarchy cannot yet name, manufacturers for the manufacturer checks: every manufacturer record held against Wikidata for its website, founding year, country and whether it still trades, links for the link checks: every manufacturer website and every cited source asked whether it still answers and is still the page cited. Defaults to api.

    Accepts
    Example
  • string

    Which environment to report. Production unless asked otherwise.

    Accepts
    Example
  • integerdefault1

    The page, from 1.

    Minimum
    1
    Example
  • integerdefault100

    Findings per page.

    Range
    1 – 1000
    Example

  • object[]

    The response payload.

  • string

    The check.

  • string

    When the run started.

  • integer

    How many the check found in all.

  • integer

    How many findings the run published; the rest were not stored.

  • integer

    This page.

  • integer

    Findings per page.

  • integer

    How many pages there are.

  • string[]

    The findings on this page, one line each, the record first.

  • object | null[]

    Beside each item, where the record's data task for this check has got to, or null when it has none.

  • string

    Queued for the data agent, being worked, proposed and waiting on a person, or accepted and on its way into the catalogue.

  • string

    Research a value from a source, or review a judgement.

  • integer

    How many tasks the record has for this check; a research task is one per field.

  • string | null

    The agent working it, while it is worked or proposed.

  • object[]

    Each task behind the mark, most active first. Load one at /v1/data/tasks/{number}.

  • number

    Current page number

  • number

    Items per page

  • number

    Total matching records (Builder and above)

  • 400VALIDATION_ERRORValidation error
  • 404NOT_FOUNDResource not found
  • 429RATE_LIMITEDRate limit exceeded
  • 500INTERNAL_ERRORUnexpected server error

Minimum tier
Explorer+
Monthly quota
200/mo
Rate limit
10/min
Daily cap
50

Figures shown are for this endpoint's minimum tier. Higher tiers raise every limit.