API Reference

List Atomic Red Team Techniques

Return the Atomic Red Team technique index, with an optional substring filter on technique ID or name. Use this to discover which ATT&CK techniques have atomic test coverage before enumerating tests.

GET
/v1/atomics/techniques

Cost: 1 credit per successful call

Query parameters

qstringoptional

Substring to match against technique ID or name. Must be 1–80 characters. Omit to return all techniques up to the limit.

limitintegeroptionaldefault 50

Maximum number of techniques to return. Accepted range: 1–100.

Request

curl "https://api.edgeprotect.io/functions/v1/atomics/techniques?q=credential&limit=10" \
  -H "Authorization: Bearer $EDGEPROTECT_API_KEY"

Response

{
  "data": {
    "count": 4,
    "query": "credential",
    "limit": 10,
    "items": [
      {
        "id": 47,
        "attack_technique": "T1003",
        "display_name": "OS Credential Dumping"
      },
      {
        "id": 48,
        "attack_technique": "T1003.001",
        "display_name": "LSASS Memory"
      },
      {
        "id": 49,
        "attack_technique": "T1003.006",
        "display_name": "DCSync"
      }
    ],
    "generated_at": "2026-05-29T10: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.countintegeroptional

Number of items returned (equals items.length, not the total index size).

data.querystring | nulloptional

The substring filter that was applied, or null if no filter was provided.

data.limitintegeroptional

The effective limit that was applied.

data.itemsarrayoptional

Matched techniques, ordered by technique ID. Each object contains the fields below.

data.items[].idintegeroptional

Internal technique row identifier.

data.items[].attack_techniquestringoptional

ATT&CK technique or sub-technique ID (e.g. T1003, T1003.001).

data.items[].display_namestringoptional

Human-readable technique name.

data.generated_atstringoptional

ISO 8601 timestamp when the response was generated.

Errors

Status error When
400 invalid_q, invalid_limit 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.