DEPLOYDatabase

Documentation

REST API reference

56 public-read GET endpoints across 18 entity and framework groups. Each entity detail response carries an additive framework_metadata block alongside the structured record so verification posture, cap-flags, and within-cohort pair membership reach consumers without an extra request.

Base URL

Production: https://registry.deploy.report. Every endpoint below sits under that origin. Responses are JSON with UTF-8 encoding.

Authentication

The public-read GET surface documented on this page requires no authentication. The corresponding write surface (POST / PATCH / DELETE on the same paths) is gated by x-rover-secret for internal callers or Authorization: Bearer <token> for external registered consumers. Write surface is not part of this reference.

Response conventions

  • framework_metadata block. Every entity detail response carries verification_status, maturity_stage, lifecycle_state, architectural_position, within_cohort_verified_vs_claimed_pair, cap_flags, and verification_depth. Computed at query time from structured data and the framework typed-const.
  • JSON-LD inline. Entity detail responses include a jsonLd field with the schema.org Organization / Product / Event / etc. shape. The custom deploy: namespace (see /docs/jsonld) is the channel for verification posture and architectural classifications schema.org alone cannot express.
  • Honest absence. Missing data returns null or omits the field. Tools and endpoints never synthesize defaults.
  • Status codes. 404 means the entity does not exist; 500 means an actual server error. The registry never conflates the two; downstream consumers can branch on status code reliably.
  • Append-only history. Trust-bearing tables (verifications, permissions, incident status events, regulation status events) ship through GET-only surfaces; corrections add new events rather than overwrite.

Changes feed & webhooks

The GET /v1/changes endpoint is a metered, replayable stream of material verified state transitions across companies, models, and deployments - the read half of the DEPLOY data product. It is also the replay endpoint: there is no separate replay API. Poll from the last id you acked with ?since= to recover any missed webhook deliveries.

  • Versioned payload. Every response carries v: 1. The contract is additive; new fields never remove or repurpose existing ones.
  • Evidence is mandatory. Each change carries an evidence tuple - sourceUrl, span, tier, observedAt. A change with no evidence is never emitted; the feed is a claim-with-provenance stream.
  • Immutable + supersedes. Changes are never edited in place. A correction is a new change with supersedes set to the id it replaces, so consumers can rebuild exact history from the ordered stream.
  • Point-in-time. ?as_of=<timestamp> returns only the changes DEPLOY had recorded at or before that instant (no lookahead): a change recorded later never appears in an earlier snapshot, even when it took effect earlier. Each change carries both recordedAt (when DEPLOY recorded it) and effectiveAt (when it took effect in the world).
  • Time axis. ?since, ?until, and ?as_of apply to recordedAt by default (axis=transaction). Pass ?axis=valid to apply them to effectiveAt instead; that view is not lookahead-safe.
  • Ordering. Oldest first on the chosen axis. ?since is the cursor: pass the nextSince from the previous page.

Webhook push (Terminal tier)

A webhook is a subscription with delivery_channel=webhook - the same spine that powers email alerts, one more channel. Each delivery is a signed POST of the change payload carrying these headers:

  • X-Deploy-Signature: sha256=<hex> - HMAC-SHA256 of the exact request body under your subscription secret.
  • X-Deploy-Timestamp: send time; reject deliveries whose timestamp is stale to defend against replay.
  • X-Deploy-Event: the event type (e.g. status_change).

Verify before trusting the body:

const sig = req.headers["x-deploy-signature"];      // "sha256=<hex>"
const expected = "sha256=" + crypto
  .createHmac("sha256", WEBHOOK_SECRET)
  .update(rawBody)               // the exact bytes, BEFORE JSON.parse
  .digest("hex");
if (!crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expected)))
  return res.status(401).end();  // reject

Delivery is at-least-once: the change id is the dedupe key, so a redelivery is safe to ignore. Failures retry with exponential backoff (5 attempts over ~6 hours) before the delivery is marked failed and surfaced on your dashboard. If you ever fall behind, replay with GET /v1/changes?since=<last acked id>.

Tiers

  • Builder (free). The read feed and record endpoints, rate-limited, attribution required. Reading reality is free.
  • Terminal (data tier). Webhook push, ?as_of point-in-time, bulk export, commercial redistribution, and an SLA. Being pushed reality, replaying history, and redistributing it is the product. Contact for terms.

Two credential types, one account, never merged: OAuth grants (a user authorizes an assistant - the consumer / MCP lane) and API keys (a customer machine, metered - the data lane). They share a scope vocabulary (read:changes, read:entities) but not tables or middleware.

Endpoints

Companies

Companies (manufacturers, operators, brain developers, suppliers). Each entity detail response carries the framework_metadata block.

GET /v1/companies

List companies, newest first. Default page size is 100 (max 100). Pass `cursor` from the previous `nextCursor` to read the next page. Default rows omit large JSON and text columns. `fields=full` returns the whole row; `fields=id,name,sources` picks columns (id and createdAt are always included).

Query parameters

  • limit (integer, optional): Page size. Default 100. Must be from 1 to 100.
  • cursor (string, optional): Opaque cursor from the previous response's nextCursor.
  • fields (string, optional): Omit for the slim list (scalars except description, sources, keyFacts, aliases, reviewNote, factoryLocations, litigationEvents, marketCapSource). `full` for every column. Or a comma-separated field list.

Returns

`{ companies, limit, nextCursor }`. Default company objects keep id, name, slug, type, status, hq, founded, fundingTotal, website, roles, reviewStatus, lifecycleState, and the other short scalars, plus createdAt and updatedAt. nextCursor is null on the last page.

GET /v1/companies/{id}

Single company by UUID. Includes the company's schema.org JSON-LD and the additive framework_metadata block (verification_status, cap_flags, architectural_position, within_cohort pair membership, verification_depth).

Path parameters

  • id (uuid, optional): Company UUID.

Query parameters

  • include (string, optional): Comma-separated includes. `funding-rounds` eager-loads funding rounds with per-round investor participations inline. `people` eager-loads PersonCompany rows with Person identity. `founders` eager-loads PersonFounder rows. `board` eager-loads PersonBoard rows. `filings` eager-loads RegulatoryFiling rows where this company is the applicant. `partnerships` eager-loads Partnership rows involving this company (in any role). `acquisitions` eager-loads Acquisition rows where this company is acquirer or acquired_state.

Returns

Company record fields, `jsonLd` (schema.org Organization), `framework_metadata` block, plus optional `funding_rounds` / `people` / `founders` / `board` / `filings` / `partnerships` / `acquisitions` arrays when the corresponding include is requested.

GET /v1/companies/{id}/funding-rounds

List funding rounds for a company, ordered by announcedAt desc.

Path parameters

  • id (uuid, optional): Company UUID.

Returns

`{ companyId, companySlug, funding_rounds: [...] }`. Each round carries roundName, announcedAt, amountUsd, postMoneyValuationUsd, amountBasis (exact / reported / undisclosed), sources, reviewStatus.

Models

Robot models (physical machines). form_factor describes the regulatory regime, not the use case.

GET /v1/models

List models. Combine filters; companyId + formFactor + caps tokens AND together.

Query parameters

  • companyId (uuid, optional): Narrow by company.
  • formFactor (string, optional): Narrow by form factor (humanoid / aerial / av / truck / sidewalk / wearable / biometric / maritime / surgical / construction / amr / agriculture). Accepted as `formFactor` or `form_factor`.
  • caps (string (repeatable), optional): Capability filter tokens. Presence: `climbs_stairs`. Quantitative min/max/eq: `payload_kg:gte:10`, `range_km:lte:15`, `payload_kg:eq:35`. Multiple tokens AND together.

Returns

Array of model records under `models`. When `caps` is used, response also includes the parsed `filters`.

GET /v1/models/{id}

Single model by UUID. Includes schema.org JSON-LD and framework_metadata.

Path parameters

  • id (uuid, optional): Model UUID.

Query parameters

  • include (string, optional): Comma-separated includes. `filings` eager-loads RegulatoryFiling rows covering this model via the ModelRegulatoryFiling junction.

Returns

Model record, `jsonLd` (schema.org Product), `framework_metadata` block, optional `methodology` block, optional `filings` array when `include=filings`.

GET /v1/models/{id}/capabilities

Effective capability set for a model (model-level merged with active version).

Path parameters

  • id (uuid, optional): Model UUID.

Returns

Array of capability records with type, key, value, source.

GET /v1/models/{id}/versions

List model versions ordered by version effective date.

Path parameters

  • id (uuid, optional): Model UUID.

Returns

Array of version records with version label, effectiveAt, supersededAt, sources.

GET /v1/models/{id}/versions/{versionId}

Single model version detail.

Path parameters

  • id (uuid, optional): Model UUID.
  • versionId (uuid, optional): Version UUID.

Returns

Version record with version-level overrides and source attribution.

GET /v1/models/{id}/versions/{versionId}/capabilities

Capabilities scoped to a single model version.

Path parameters

  • id (uuid, optional): Model UUID.
  • versionId (uuid, optional): Version UUID.

Returns

Array of version-scoped capability records.

Brains

Software stacks that drive robot models (foundation models, AV driver stacks, surgical planners).

GET /v1/brains/{id}

Single brain by UUID. Includes schema.org JSON-LD and framework_metadata.

Path parameters

  • id (uuid, optional): Brain UUID.

Returns

Brain record (slug, name, kind, providerArchitecture, openness, maturityStage), `jsonLd`, `framework_metadata`.

Deployments (Robots)

Verified named-site deployment records. `/v1/robots/*` is the legacy alias for the Deployment entity surface; the canonical entity name is Deployment.

GET /v1/robots

List deployments. Limit by query params.

Query parameters

  • modelId (uuid, optional): Narrow by model.
  • operatorId (uuid, optional): Narrow by operator company.
  • locationId (uuid, optional): Narrow by location.

Returns

Array of deployment records.

GET /v1/robots/{id}

Single deployment by UUID. Embeds model + owner + derived trust tier + derived current posture; includes schema.org JSON-LD and framework_metadata.

Path parameters

  • id (uuid, optional): Deployment UUID.

Returns

Deployment record with embedded model/operator/location, `derived: { trustTier, currentPosture }`, `jsonLd`, `framework_metadata`, optional `methodology`.

GET /v1/robots/{id}/permissions

Permission events on a deployment (append-only history).

Path parameters

  • id (uuid, optional): Deployment UUID.

Returns

Array of permission event records ordered by effectiveAt.

GET /v1/robots/{id}/verifications

Per-claim VerificationEvent history (append-only). Strongest per-claim verification surface in the registry.

Path parameters

  • id (uuid, optional): Deployment UUID.

Returns

Array of verification events with method, evidence, claim payload, recordedAt.

Locations

Geographic entities (cities, counties, states, nations, sites). Each carries multi-resolution hierarchy.

GET /v1/locations

List locations.

Returns

Array of location records.

GET /v1/locations/{id}

Single location by UUID. Includes schema.org JSON-LD and framework_metadata.

Path parameters

  • id (uuid, optional): Location UUID.

Returns

Location record, `jsonLd`, `framework_metadata`, optional `methodology`.

Incidents

Append-only incident records. Status events live alongside; current state derived from the event log. Retracted incidents are suppressed from aggregates but their canonical URL stays index/follow.

GET /v1/incidents

List incidents.

Returns

Array of incident records.

GET /v1/incidents/{id}

Single incident with derived status, sources, responses, status events, schema.org JSON-LD, and framework_metadata.

Path parameters

  • id (uuid, optional): Incident UUID.

Returns

Incident record with `derived: { status }`, `sources`, `responses`, `statusEvents`, `jsonLd`, `framework_metadata`, optional `methodology`.

GET /v1/incidents/{id}/sources

Sources for an incident, append-only.

Path parameters

  • id (uuid, optional): Incident UUID.

Returns

Array of source records (url, label, publishedAt, addedAt).

GET /v1/incidents/{id}/status

Status events for an incident, append-only event log.

Path parameters

  • id (uuid, optional): Incident UUID.

Returns

Array of IncidentStatusEvent records ordered by effectiveAt; statuses include open, corrected, retracted, disputed, closed.

GET /v1/incidents/{id}/responses

Operator and counterparty responses to an incident.

Path parameters

  • id (uuid, optional): Incident UUID.

Returns

Array of response records with responder, response text, recordedAt.

Regulations

Regulatory records linked locationally (Location + form_factor). Superseded or repealed regulations stay index/follow but are suppressed from aggregates (the retracted/superseded asymmetry).

GET /v1/regulations

List regulations.

Returns

Array of regulation records.

GET /v1/regulations/{id}

Single regulation with derived status, sources, status events, schema.org JSON-LD, and framework_metadata.

Path parameters

  • id (uuid, optional): Regulation UUID.

Returns

Regulation record with `derived: { status }`, `sources`, `statusEvents`, `jsonLd`, `framework_metadata`, optional `methodology`.

GET /v1/regulations/{id}/sources

Sources for a regulation, append-only.

Path parameters

  • id (uuid, optional): Regulation UUID.

Returns

Array of source records.

GET /v1/regulations/{id}/status

Status events for a regulation.

Path parameters

  • id (uuid, optional): Regulation UUID.

Returns

Array of RegulationStatusEvent records; statuses include active, superseded, repealed.

People graph

Founders, executives, researchers, and board members. People-graph entities (Person + PersonCompany + PersonFounder + PersonBoard + PersonInvestorRole + PersonEducation) shipped in migration 20260604140000_add_people_graph; read-only on /v1/.

GET /v1/people/{slugOrId}

Single Person with the canonical relation graph eager-loaded (current and prior company roles, foundings with cofounder status, board seats, investor partner roles, educations).

Path parameters

  • slugOrId (string, optional): Person slug (preferred) or UUID.

Returns

Person record + companyRoles + boardRoles + investorRoles + foundings + educations.

GET /v1/people/{slugOrId}/companies

Cross-company history for a person ('diaspora' / talent-flow view). PersonCompany rows ordered current-first.

Path parameters

  • slugOrId (string, optional): Person slug or UUID.

Returns

`{ personId, personSlug, companies: [...] }` with role + role_basis per row.

GET /v1/companies/{id}/people

All people at a company across PersonCompany edges (current + historical).

Path parameters

  • id (uuid, optional): Company UUID.

Returns

`{ companyId, companySlug, people: [...] }`. Each row carries Person identity + role + role_title + role_basis + currentRole flag.

Regulatory filing index

Company- and model-anchored device/product clearance filings (510(k), De Novo, recalls, CE Mark, NMPA, NHTSA, FAA, FCC, DIU Blue UAS, ITC). Distinct from the location-anchored /v1/regulations surface. Cross-jurisdictional discipline keeps the regimes structurally separate.

GET /v1/filings/{lookup}

Single RegulatoryFiling. Accepts slug, UUID, or filing number (K240929 / DEN180044 / 23V-838 style).

Path parameters

  • lookup (string, optional): Filing slug, UUID, or filing number.

Returns

Filing record + applicantCompany + linked models. clearance_scope carries the exact cleared indication so consumers branch honestly on status.

GET /v1/companies/{id}/filings

All RegulatoryFilings where this company is the applicant.

Path parameters

  • id (uuid, optional): Company UUID.

Returns

`{ companyId, companySlug, filings: [...] }` ordered filingDate desc.

GET /v1/models/{id}/filings

All RegulatoryFilings covering this model via the ModelRegulatoryFiling junction.

Path parameters

  • id (uuid, optional): Model UUID.

Returns

`{ modelId, modelSlug, filings: [...] }`.

Partnership graph

Collaboration between independent companies (distinct from the acquisition graph = ownership/absorption). Status (announced / active / concluded / dissolved / superseded) + verificationPosture surface the verified-vs-claimed boundary at the partnership lifecycle layer; press-release MOUs stay legible as such until status flips to active with verificationPosture=verified.

GET /v1/partnerships/{lookup}

Single Partnership by slug or UUID, with PartnershipParty rows inline.

Path parameters

  • lookup (string, optional): Partnership slug or UUID.

Returns

Partnership record + parties[] with per-party Company identity + role.

GET /v1/companies/{id}/partnerships

Partnerships involving this company (in any role). Ordered status asc then announcedDate desc.

Path parameters

  • id (uuid, optional): Company UUID.

Returns

`{ companyId, companySlug, partnerships: [...] }`.

Acquisition history graph

Ownership / absorption events. Status (announced / pending / completed / terminated) + structure (full_acquisition / acqui_hire / license_and_hire / merger / etc.) + valuationBasis (exact / reported / undisclosed / contingent) surface the verified-vs-claimed boundary at the M&A layer.

GET /v1/acquisitions/{lookup}

Single Acquisition by slug or UUID with acquirer + acquired (FK or off-registry name fallback) + AcquiredAsset rows inline.

Path parameters

  • lookup (string, optional): Acquisition slug or UUID.

Returns

Acquisition record + acquired-asset rows with optional relatedModel link.

GET /v1/companies/{id}/acquisitions

Acquisitions involving this company in either direction (as acquirer or as acquired party).

Path parameters

  • id (uuid, optional): Company UUID.

Returns

`{ companyId, companySlug, acquisitions: [...] }`.

Investors and funding

Investor graph entities (Investor + FundingRound + InvestorParticipation). Read-only on /v1/; editorial backfill populates the corpus.

GET /v1/investors/{slugOrId}

Single investor. Accepts slug or UUID. Includes parentCompany link for corporate venture arms.

Path parameters

  • slugOrId (string, optional): Investor slug (preferred) or UUID.

Returns

Investor record with slug, name, kind (venture / growth / strategic_corporate / sovereign_wealth / angel / accelerator / government / other), aliases, sources, parentCompany link.

GET /v1/funding-rounds/{id}

Single funding round detail with company link. Add `?include=investors` to eager-load InvestorParticipation rows with per-investor identity.

Path parameters

  • id (uuid, optional): FundingRound UUID.

Query parameters

  • include (string, optional): `investors` eager-loads InvestorParticipation rows inline.

Returns

FundingRound record (roundName, announcedAt, amountUsd, postMoneyValuationUsd, amountBasis, sources), optional `participations` array.

Owners

Owner entity records (operators distinct from manufacturers; the operator <-> deployment surface).

GET /v1/owners

List owners.

Returns

Array of owner records.

GET /v1/owners/{id}

Single owner detail.

Path parameters

  • id (uuid, optional): Owner UUID.

Returns

Owner record with linked company (when set).

Entities (cross-type)

Cross-type entity surface for tooling. Resolves any entity type by canonical UUID; useful for agents that received a UUID without entity-type context.

GET /v1/entities

Search entities by name/slug across all entity types. Useful for autocomplete or disambiguation.

Query parameters

  • q (string, required): Search query.
  • entityType (string, optional): Optional scope to a single entity type (company / model / brain / etc.).

Returns

Array of matched entities with type, id, canonicalName, slug.

GET /v1/entities/{id}

Resolve any entity by UUID. Returns the entity record and its type.

Path parameters

  • id (uuid, optional): Entity UUID.

Returns

`{ type, entity: {...} }`.

GET /v1/entities/{id}/deployments

Deployments related to an entity (operator OR maker OR location OR model, per entity type).

Path parameters

  • id (uuid, optional): Entity UUID.

Returns

Array of related deployment records.

GET /v1/entities/{id}/sources

Sources for any entity.

Path parameters

  • id (uuid, optional): Entity UUID.

Returns

Array of source records.

GET /v1/entities/{id}/stats

Aggregate stats for an entity (counts, latest activity).

Path parameters

  • id (uuid, optional): Entity UUID.

Returns

Stat object with counts of related entities and last-touched date.

Framework surfaces (slug-keyed)

Slug-keyed reads of the framework typed-const SSoT. Slug resolves across all seven entity types; honest-absence returns null when no classification exists.

GET /v1/methodology/{slug}

Verification methodology metadata for a DEPLOY entity by slug. Same surface as v2.get_methodology MCP tool.

Path parameters

  • slug (string, optional): Entity slug.

Returns

Methodology block (verification_posture, confidence_tier, source_tier_breakdown, last_reviewed, re_verify_trigger, cap_flags, architectural_position, within_cohort_verified_vs_claimed_pair) plus entity identity.

GET /v1/sagas/{entity_slug}

Within-entity sagas + feature references for an entity (SAME-entity feature-scope verification posture variance over time / across regions).

Path parameters

  • entity_slug (string, optional): DEPLOY entity slug.

Returns

`{ entity_slug, sagas: [...], featureReferences: [...] }`. Empty arrays when entity has no registered sagas / feature refs (honest absence).

GET /v1/taxonomies/autonomy-boundary

The four-tier autonomy-boundary taxonomy (autonomous-execution / ai-augmented-operator-controlled / replacement-robotics-teleoperated / assistive-co-pilot) with per-tier definitions, verification criteria, drift patterns, cohort applicability, editorial reference, canonical examples.

Returns

Taxonomy block with framework_schema_version, taxonomy slug, count, tiers array.

GET /v1/taxonomies/brain-provider-architecture

The four-tier brain-provider-architecture taxonomy (captive-vertically-integrated / third-party-foundation-model / hybrid-licensed / research-only).

Returns

Taxonomy block with per-tier definitions and canonical examples.

GET /v1/taxonomies/source-quality

The source-quality tier rubric (primary-sec-filing, primary-fda-database, primary-regulatory-filing, primary-government-record, primary-company-ir, primary-academic-peer-reviewed, ..., secondary-established-publication, secondary-industry-publication, secondary-trade-publication, knowledge-base, code-repository, model-repository, preprint, aggregator, unclassified) plus the sourceName-aware classifier convention.

Returns

Taxonomy block with tier list (slug, label, description, rollup_category) and source_name_convention block.

Corrections journal

Append-only corrections log sourced from IncidentStatusEvent and RegulationStatusEvent rows. Same data as the /corrections HTML surface and v2.list_corrections MCP tool.

GET /v1/corrections

Public corrections journal.

Query parameters

  • since_date (string (ISO date), optional): Filter to corrections with effectiveAt >= this date.
  • entity_slug (string, optional): Filter to a specific incident or regulation slug.
  • limit (number, optional): Max results (default 100, max 500).

Returns

Array of correction entries with date, record_type, record_headline, record_url, status, reason, source_of_correction.

Auxiliary surfaces

Indexability inspection, capability vocabulary, economics aggregates, feed configuration, and webhook registry.

GET /v1/indexability

Live counts of which entities qualify for the SEO indexing gate per entity type. Useful for inspecting the indexing-decoupled-from-API surface.

Returns

Object with per-entity-type pass / hold-back counts.

GET /v1/capabilities

The capability vocabulary (capability keys + value types + descriptions).

Returns

Array of capability definitions.

GET /v1/economics

Aggregate economic indicators across the registry.

Returns

Object with aggregate counts and economic signals.

GET /v1/feeds

Feed registry (per-entity RSS + firehose configuration).

Returns

Array of feed records.

GET /v1/webhooks

Webhook registry (auth-gated).

Returns

Array of webhook records.

Changes feed

The verified change feed - a metered, replayable stream of material verified state transitions across companies, models, and deployments. The read half of the DEPLOY data product; webhook push is the Terminal tier (see the Changes feed & webhooks section above).

GET /v1/changes

Verified change feed. Unions material + verified transitions from the *_events projections into one monotonic stream. Also the replay endpoint: poll from the last acked id with ?since to recover missed webhook deliveries (there is no separate replay API). Metered like /v1/signals.

Query parameters

  • since (ISO 8601 timestamp, optional): Return changes after this instant (exclusive). The replay cursor: pass the nextSince from the previous page. Applies to recordedAt by default (see axis).
  • until (ISO 8601 timestamp, optional): Return changes up to this instant (inclusive). Applies to recordedAt by default (see axis).
  • as_of (ISO 8601 timestamp, optional): Point-in-time: returns only changes DEPLOY had recorded at or before this instant (recordedAt <= as_of), even when a later-recorded change has an earlier effectiveAt. Backtest-safe, no lookahead. Takes precedence over until.
  • axis (string, optional): Time axis for since, until, and as_of. transaction (default): recordedAt, when DEPLOY recorded the change; no lookahead. valid: effectiveAt, when the change took effect in the world; not lookahead-safe, because a change recorded later can carry an earlier effectiveAt.
  • kinds (string, optional): Comma-separated entity kinds to include (company, model, deployment). Default: all.
  • limit (int, optional): Max rows (default 100, cap 500).

Returns

`{ count, axis, changes: [...], nextSince }`. Each change carries v, id, kind, entity, field, oldValue, newValue, effectiveAt (when it took effect), recordedAt (when DEPLOY recorded it), evidence:{sourceUrl, span, tier, observedAt} (observedAt = recordedAt), and supersedes (id of the corrected change, or null). Immutable: corrections are new events with supersedes set, never in-place edits.

See also

  • /docs: the API documentation landing.
  • /docs/mcp: MCP tool catalog (20 tools across V1 retrieval and V2 framework analysis).
  • /docs/jsonld: JSON-LD deploy: namespace vocabulary.