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
checker endpoint
public · no auth

JavaScript checker

Submit a JavaScript snippet and receive the identifiers it touched, along with deprecated or removed browser APIs found in the current BCD snapshot.

POST
/api/checkJSON request · 50 KB maximum

01 / request

Request body

Send a JSON object with one required field. The checker executes the snippet in its sandbox, so the request body is the only input that affects the scan.

Body parameters
Content-Type: application/json
FieldTypeRequiredConstraints
codestringYesAt least 1 character and at most 50,000 characters.
request body
{
  "code": "const total = 1;"
}

02 / success · 200

Success envelope

A successful scan returns the execution trace and any matching browser-compatibility records. duration_ms and scanned_at are generated for each request.

ScanResult
Top-level response fields
FieldTypeDescription
hitsHit[]Deprecated or removed APIs found in the executed snippet.
touchedstring[]Identifiers observed during execution, including identifiers with no hit.
duration_msnon-negative integerSandbox execution duration in milliseconds; generated at request time.
scanned_atISO date stringTimestamp recorded when the response is assembled.
liveBcdbooleanWhether live BCD enrichment succeeded for this scan.
liveRowsLiveRow[]Live BCD records returned for touched or offline-hit identifiers.
liveSource"mcp" · optionalPresent when the live BCD source was used successfully.
Hit
Each entry in the hits array
identifierMatched API identifier.
nameDisplay name.
noteOptional explanation, including live-BCD enrichment notes.
browsersBrowser compatibility rows with status, versions, and spec URL.
linesPositive integer source-line numbers where the identifier was touched.
handoffNullable documentation and inventory handoff metadata.
Browser and handoff rows
Nested objects returned with a hit
browserchrome, safari, firefox, or edge.
statusdeprecated or removed offline; a live row can expose any BCD status string.
version_added / removedVersion strings or null.
spec_urlURL for an offline compatibility record; live rows use mdn_url.
documentationUrl / proveItUrlDocumentation and proof links in a non-null handoff.
displayName / inventorySlugHuman label and inventory identifier for the handoff.

03 / example

A deterministic no-hit scan

const total = 1; touches one ordinary identifier and does not reference a deprecated browser API, so hits and liveRows are empty. The numeric duration and timestamp below are illustrative values generated at request time.

POST /api/check
{
  "code": "const total = 1;"
}

200 application/json
{
  "hits": [],
  "touched": ["total"],
  "duration_ms": 2,
  "scanned_at": "2026-09-04T12:34:56.789Z",
  "liveBcd": false,
  "liveRows": []
}

A known deprecated API such as document.write can populate hits. When live BCD enrichment is available, the service may also change the browser rows, add liveRows, and set liveSource to "mcp".

04 / errors

Validation and failure responses

StatusWhenResponse
400
Empty code{ "errors": { "code": "Paste some JavaScript to scan" } }
400
Code exceeds 50,000 characters{ "errors": { "code": "Paste is over 50 KB — slim it down" } }
413
Defensive oversized-payload branch{ "error": "Payload too large" }
500
Malformed JSON or unexpected execution failure{ "error": "Internal Server Error" }

The schema validates the string length before the route reaches its defensive 413 branch, so an ordinary oversized code field returns the 400 field error.