TID-CMM Threat-Informed Detection Capability Maturity Model
Home › Developers › API

JSON endpoints

Versioned static JSON, served with permissive CORS so you can build against the model from anywhere. No key, no rate limit, no tracking.

To be precise about what this is: versioned data files on a CDN, not a service. Everything is GET. There is no endpoint that scores an assessment for you and there never will be — the assessment runs entirely in your browser, and the point is that the tool has no upload or submit path for what you enter.

Endpoints

EndpointContents
/api/model.jsonThe complete model: 8 domains, 58 sub-capabilities, all 348 level descriptors, evidence criteria, weights, crosswalks and scoring rules.
/api/techniques.jsonATT&CK Enterprise v19.2 technique index (697 techniques) with tactics and platforms.
/api/levels.jsonThe 0–5 maturity scale with summaries and evidence bars.
/api/constraints.jsonScoring rules, maturity bands and the C1–C4 integrity constraints, in the order they are applied.
/api/tiers.jsonThe five maturity tiers with minimum scores and entry gates.
/api/profiles.jsonThe three applicability profiles, detection classes and environment archetypes.
/api/tid-cmm-export.schema.jsonJSON Schema for the file the assessment tool writes for TIR-CMM — the TIR-CMM export, a superset of TIR-CMM’s import contract.

Example

curl -s https://tid-cmm.com/api/model.json \
  | jq '.domains[] | {id, name, weight, subcaps: (.subcapabilities|length)}'

curl -s https://tid-cmm.com/api/model.json \
  | jq -r '.domains[].subcapabilities[] | [.id, .name] | @tsv'

Handing an assessment to TIR-CMM

The assessment tool exports a document that satisfies TIR-CMM’s import contract and adds provenance: model version, assessment depth, the constraint log and every derivation. TIR-CMM reads the detection score as the ceiling on response. Since model 1.6.0 per-technique status can be 2 or 3 where the detection register evidences it, and registered scenarios travel as attack paths; the export schema was relaxed for both and the import contract was already wide enough. TIR-CMM 1.0 imports the core handoff context it recognises — the detection score, crown jewels with their asset classes, adversaries, and the stage and asset-class scope of the attack paths; the extended 1.6 detail travels in the file but is not yet consumed by that importer. The shape, the mappings and the rules the export imposes on itself are on the data model page. There is no endpoint involved: the file is written in your browser and you carry it across.

Versioning

The payload always carries model.version. Breaking changes to the model shape bump the major version and are recorded in the changelog. ATT&CK content is pinned to a snapshot date; it is not silently updated underneath you.