List Tactics
Return all 14 ATT&CK Enterprise tactics with per-tactic statistics, including technique counts.
/v1/mitre/tacticsCost: 1 credit per successful call
Query parameters
This endpoint takes no parameters.
Request
curl https://api.precursorintelligence.com/functions/v1/mitre/tactics \
-H "Authorization: Bearer $PRECURSOR_API_KEY"Response
{
"data": {
"tactics_data": [
{
"ID": "TA0001",
"Name": "Initial Access",
"Description": "The adversary is trying to get into your network.",
"Type": "x-mitre-tactic",
"XMitreShortname": "initial-access",
"XMitreDomains": ["enterprise-attack"],
"XMitreVersion": "1.0",
"Created": "2018-10-17T00:14:20.652Z",
"Modified": "2019-07-19T17:44:53.176Z",
"techniqueCount": 9
},
{
"ID": "TA0002",
"Name": "Execution",
"Description": "The adversary is trying to run malicious code.",
"Type": "x-mitre-tactic",
"XMitreShortname": "execution",
"XMitreDomains": ["enterprise-attack"],
"XMitreVersion": "1.0",
"Created": "2018-10-17T00:14:20.652Z",
"Modified": "2019-07-19T17:44:53.176Z",
"techniqueCount": 14
}
],
"statistics": {
"totalTactics": 14,
"totalTechniques": 213
},
"generated_at": "2026-05-18T10:24:31.118Z"
},
"meta": {
"request_id": "8b16efb8-9a6c-4ace-b817-11cbee626d08",
"generated_at": "2026-05-18T10:24:31.118Z",
"credits": { "charged": 1, "remaining": 9998 }
}
}Response fields
data.tactics_dataarrayoptionalThe 14 ATT&CK Enterprise tactics, in tactic-ID order. Each object contains the fields below.
data.tactics_data[].IDstringoptionalThe canonical tactic identifier (e.g. TA0001).
data.tactics_data[].NamestringoptionalHuman-readable tactic name (e.g. Initial Access).
data.tactics_data[].DescriptionstringoptionalThe tactic's adversary-objective description, as published by MITRE.
data.tactics_data[].TypestringoptionalThe STIX object type. Always x-mitre-tactic.
data.tactics_data[].XMitreShortnamestringoptionalThe tactic shortname used to filter techniques (e.g. initial-access).
data.tactics_data[].XMitreDomainsarrayoptionalATT&CK domains this tactic belongs to (e.g. ["enterprise-attack"]).
data.tactics_data[].XMitreVersionstringoptionalThe MITRE object version string.
data.tactics_data[].CreatedstringoptionalISO 8601 timestamp when MITRE created this tactic entry.
data.tactics_data[].ModifiedstringoptionalISO 8601 timestamp when MITRE last modified this tactic entry.
data.tactics_data[].techniqueCountintegeroptionalNumber of techniques mapped to this tactic.
data.statisticsobjectoptionalAggregate counts across all tactics: totalTactics and totalTechniques.
data.generated_atstringoptionalISO 8601 timestamp indicating when this response was generated.
Errors
| Status | error | When |
|---|---|---|
| 401 | invalid_authorization | The Authorization header is missing or malformed. |
| 401 | unauthorized | The key is invalid, revoked, or the request IP is not on the allowlist. |
| 402 | insufficient_credits | The organisation's credit balance is below 1. |
| 404 | not_found | The route does not exist. |
| 405 | method_not_allowed | Only GET and OPTIONS are accepted. |
| 500 | internal | An unexpected server error occurred. |
See Errors for the full error reference.