List Atomic Tests
Return a paged list of Atomic Red Team atomic tests, optionally filtered by ATT&CK technique ID and platform. Useful for enumerating available test coverage before retrieving full test details.
/v1/atomics/testsCost: 1 credit per successful call
Query parameters
technique_idstringoptionalATT&CK technique ID to filter by. Pattern: ^T\d{4}(\.\d{3})?$.
Examples: T1059, T1059.001.
platformstringoptionalPlatform slug to filter by. Maximum 40 characters, pattern ^[A-Za-z0-9_-]+$.
Examples: windows, linux, macos.
limitintegeroptionaldefault: 50Number of results to return. Accepted range: 1–100.
offsetintegeroptionaldefault: 0Row offset for pagination. Accepted range: 0–2000. Increment by limit
to step through large result sets.
Request
curl "https://api.precursorintelligence.com/functions/v1/atomics/tests?technique_id=T1059.001&platform=windows&limit=25&offset=0" \
-H "Authorization: Bearer $PRECURSOR_API_KEY"Response
{
"data": {
"count": 2,
"total": 14,
"technique_id": "T1059.001",
"platform": "windows",
"limit": 25,
"offset": 0,
"items": [
{
"id": 4012,
"name": "PowerShell -Enc",
"description": "Executes an encoded PowerShell command to evade simple string-based detection.",
"auto_generated_guid": "a3b2c1d0-1234-5678-abcd-ef0123456789",
"supported_platforms": ["windows"],
"attack_technique": "T1059.001",
"display_name": "PowerShell"
},
{
"id": 4013,
"name": "PowerShell Download Cradle",
"description": "Downloads and executes a remote script using a PowerShell download cradle.",
"auto_generated_guid": "b4c3d2e1-2345-6789-bcde-f01234567890",
"supported_platforms": ["windows"],
"attack_technique": "T1059.001",
"display_name": "PowerShell"
}
],
"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.countintegeroptionalNumber of items returned (equals items.length).
data.totalintegeroptionalTotal number of tests matching the filter, across all pages.
data.technique_idstring | nulloptionalThe ATT&CK technique ID filter that was applied, or null if none.
data.platformstring | nulloptionalThe platform slug filter that was applied, or null if none.
data.limitintegeroptionalThe maximum number of results requested.
data.offsetintegeroptionalThe row offset applied for pagination.
data.itemsarrayoptionalMatched atomic tests. Each object contains the fields below.
data.items[].idintegeroptionalInternal id of the atomic test. Pass this to GET /v1/atomics/tests/{atomic-test-id} for full details.
data.items[].namestringoptionalHuman-readable name of the atomic test.
data.items[].descriptionstringoptionalWhat the test does and what adversary behavior it simulates.
data.items[].auto_generated_guidstringoptionalStable globally unique identifier assigned by the Atomic Red Team project.
data.items[].supported_platformsarrayoptionalPlatforms the test runs on (e.g. windows, linux, macos).
data.items[].attack_techniquestringoptionalATT&CK technique or sub-technique ID the test maps to.
data.items[].display_namestringoptionalHuman-readable name of the mapped ATT&CK technique.
data.generated_atstringoptionalISO 8601 timestamp when the response was generated.
Errors
| Status | error | When |
|---|---|---|
| 400 | invalid_technique_id, invalid_platform, invalid_limit, invalid_offset | A parameter failed validation. |
| 401 | invalid_authorization | Missing or malformed Authorization header. |
| 401 | unauthorized | Invalid/revoked key, or IP not allowlisted. |
| 402 | insufficient_credits | Organisation credit balance is below 1. |
| 404 | not_found | The route or entity does not exist. |
| 405 | method_not_allowed | Only GET and OPTIONS are accepted. |
| 500 | internal | Unexpected server error (credit auto-refunded). |
See Errors for the full error reference.