Discovery

Artifact render capability

The verified (slug, subject_kind) pairs render-svc can serve, each slug's applicable render params, and the pairs that were measured and refused. Derived from the audited capability table on every request, so a pair that was never verified cannot be advertised. Answers "what renders for this subject?" before a client mounts anything — previously the only way to learn the answer was to request something that failed, because the reconciled table appeared solely inside error payloads. Authentication: None. Discovery only: it names renderers and subject kinds and returns no subject content, no holdings and no numbers. Billing: Free.

get/artifacts/capability

Request

  • Base URL: https://riskmodels.app/api
  • URL: https://riskmodels.app/api/artifacts/capability
  • Auth: none required

Query parameters

subject_kind'fund' | 'etf' | 'filer_13f' | 'cohort' | 'stock' | 'client_portfolio'

Narrow pairs to one subject kind. unavailable is never narrowed: a caller needs to tell "measured and refused" from "never asked".

slugstring

Narrow pairs to one artifact slug.

Response

Capability document. A narrowing query that matches nothing returns 200 with an empty pairs list, not 404.

derived_fromstring required

The source constant the response is computed from.

subject_kindsstring[] required

Every kind render-svc resolves from a subject_id prefix.

prerendered_subject_kindsstring[]

Kinds render-svc can only read from the store. See each pair's as_of_latest for what latest does; GET /api/artifacts/as-of lists the dates that exist.

store_resolved_latest_kindsstring[]

Pre-rendered kinds whose as_of=latest resolves to the newest stored vintage (cohorts).

unimplemented_subject_kindsobject

Kinds resolvable from an id prefix that no loader serves, keyed to the reason. Present so a zero-capability kind reads as measured rather than unaudited.

Example response

{
  "derived_from": "lib/artifacts/render-client.ts::ARTIFACT_RENDER_CAPABILITY",
  "discovery": {
    "capability": "GET /api/artifacts/capability?subject_kind=&slug=",
    "as_of": "GET /api/artifacts/as-of?slug=&subject_id=&version="
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.