Veriglyph
Spec loopSandboxTriageInventory
Contact
Veriglyph
FAQCheckerInventorySpec diffsDraftsWaitlistSign inCreate your account

Veriglyph is a North Carolina company, based in Pitt County.

Veriglyph

Veriglyph / public docs

API reference

documentation
Back to site

Reference map

01
  • 01Overview
  • 02Checker
  • 03Documentation lookup
  • 04Evidence
  • 05Spec changes
  • 06Authentication & requests

Public reference material for building with Veriglyph.

public docs
API version
v1
Last updated
September 12, 2026
change feed
public · no auth

Specification changes

Read the newest changes collected from tracked web-platform specifications. The feed is intentionally small and deterministic, making it useful for a recent-changes panel or a scheduled sync.

GET
/api/spec-diffsapplication/json response

01 / request

No request inputs

Send a GET request with no body. This endpoint does not support filter or pagination query parameters: arbitrary query strings are not a way to change the result set.

Request contract
No JSON body, filters, or pagination parameters.
InputSupportedDetails
bodynoneDo not send a JSON request body.
querynoneThere are no supported filters, cursors, offsets, or page-size controls.

02 / selection

Newest 50 records

The server returns at most 50 records, ordered by fetchedAt descending. The first item is therefore the newest fetched change available in the feed. The limit and ordering are fixed server behavior, not client-configurable pagination.

The response is a bare JSON array. There is no items wrapper and no metadata object containing a cursor or total count.

03 / response · 200

Change rows

A successful request returns 200 application/json containing an array of SpecDiffRow objects. Every row has the fields below; sourceUrl is the only nullable field.

SpecDiffRow
Fields in each array item
FieldTypeDescription
idUUID stringStable identifier for the persisted change row.
specSourcestringName of the specification source that reported the change.
externalIdstringIdentifier supplied by the external source. It is not guaranteed to be a clickable URL.
sourceUrlstring | nullWhen present, the clickable external source for this change. Legacy rows may have null.
entitystringAPI, feature, or specification entity affected by the change.
changeSummarystringHuman-readable summary of what changed.
fetchedAtISO timestamp stringUTC timestamp for when the source record was fetched; used for descending ordering.

04 / empty state

No changes yet

If no change rows have been collected, the endpoint still succeeds with 200and returns an empty array. Clients can treat [] as a normal empty state, not as an error or a missing response envelope.

200 application/json · empty
[]

05 / example

Request and response

The response below is illustrative, but it is checked against the shared SpecDiffRow type at compile time. It shows both source behaviors: a row with a clickable sourceUrl and a legacy row with null. Use the URL field for source navigation; do not build a link from externalId alone.

curl request
curl "${APP_URL}/api/spec-diffs"

200 application/json · illustrative
[
  {
    "id": "a4c9d0c1-7a67-4d4d-9e2d-2c9d48bdb7a1",
    "specSource": "WHATWG WebSockets",
    "externalId": "websocket-close-event",
    "sourceUrl": "https://websockets.spec.whatwg.org/",
    "entity": "WebSocket close event",
    "changeSummary": "Clarified the event dispatch conditions for a closed connection.",
    "fetchedAt": "2026-09-07T09:30:00.000Z"
  },
  {
    "id": "f5e2b0b8-7f09-4ed9-a7d8-d3d89bbd5c23",
    "specSource": "CSS Working Group drafts",
    "externalId": "css-color-5-mix",
    "sourceUrl": null,
    "entity": "color-mix()",
    "changeSummary": "Legacy record retained without a source URL.",
    "fetchedAt": "2026-09-06T09:30:00.000Z"
  }
]