/v2/relationships after entity resolution when you need connected actors, campaigns, malware, sectors, countries, indicators, or techniques.
General relationship types
Supported relationship types include:actorcampaignmalwaresectorcountryioctechnique
technique pivots through the vulnerability described by the CVE.
For IOC subjects, ioc pivots through event-correlation context to related indicators. sector and country can return target-industry and target-country pivots when that context is available. Use concrete IOC entity types (ip, domain, url, hash, or email) rather than ioc as the subject type.
Workflow
- Start from a resolved
subjectwhen possible. - Request only the relationship types needed for the investigation.
- Keep
max_resultsbounded. - Hydrate important related entities before high-impact recommendations.
- Use evidence calls to validate material relationship claims.
Agent guidance
Relationships are pivots, not proof by themselves. Treat high-impact links as leads until supporting evidence confirms them.Traverse ATT&CK detection knowledge
Use the same relationships endpoint to explore tactics, techniques, detection strategies, analytics, and telemetry.relationship_types selects the type of related entity. predicates selects
the meaning of the link. direction is relative to your subject and defaults
to both.
Use
incoming to traverse any link in reverse. The supported ATT&CK entity types
are tactic, technique, detection-strategy, analytic, data-component, and
data-source. Make separate requests for actor, campaign, malware, IOC, sector,
and country pivots; you cannot mix those target types into an ATT&CK traversal.
Existing general relationship requests retain their default behavior. Specify
an ATT&CK predicate or a new target type to select this traversal explicitly.
Find detection strategies for PowerShell
With the credentials from the quickstart, request incomingdetects links for T1059.001:
canonical_id and
target_entity_type into subject.canonical_id and subject.entity_type.
Remove query, set relationship_types to ["analytic"], predicates to
["has_analytic"], and direction to outgoing. Advance your agent-context
step_id. Continue from each analytic to data-component, then from each
component to data-source, using the predicates in the table.
Provide exactly one of query or subject. ATT&CK traversal resolves exact
canonical IDs, STIX IDs, external ATT&CK IDs such as DET0455 or AN1252, and
exact names. Use expected_types to disambiguate names. Reuse returned canonical
IDs unchanged; do not construct them from an external ATT&CK ID. These new
entity types are supported in relationships; do not assume they are accepted by
assessment or generic entity hydration endpoints.
Read guidance and telemetry
Read each item’smetadata.entity for its authored description, external
references, platforms, lifecycle status, and available version/timestamps.
Analytics can include structured log_source_references, log_sources, and
mutable_elements for channels and tuning parameters. The response-level
metadata.subject_entity contains the subject’s content, even if it has no
matching relationships. Read metadata.warnings for missing references.
Use this content to inform a detection engineering handoff. It is MITRE-authored
technique-level guidance; it does not establish that a particular procedure ran
or provide a generated emulation script. Preserve citations and distinguish
source guidance from your own detection or emulation recommendations.
Filter and paginate
platform, such asWindows, excludes targets with explicitly incompatible platforms. Targets without platform metadata remain eligible.include_inactivedefaults tofalse: revoked or deprecated techniques, strategies, and analytics are omitted from links. Set it totrueto include them with their status. Legacy data components and sources remain visible with status so you can still follow required telemetry references.max_resultsdefaults to 10 and accepts 1–100. Passnext_cursorback ascursorwith the same subject, filters, and context. If the request or source snapshot changes, the cursor is rejected with HTTP 400; restart without it.
.png?fit=max&auto=format&n=u7saXgSwhIjXsY7P&q=85&s=66da6f97e851defcb12af05b800a8a27)
.png?fit=max&auto=format&n=u7saXgSwhIjXsY7P&q=85&s=37df025ce7a3cc54dd90f8edad1cf54f)