Returns a list of custom ATT&CK layers.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| domain | string | optional | Pass the ATT&CK domain. |
| q | string | optional | Pass a query text to search layers based on the title. |
| page | string | optional | Pass the page number to retrieve records. |
| page_size | string | optional | Pass the number of records to retrieve on each page. |
Run it
Use the Request parameters panel to enter path IDs, query values, JSON body, and credentials. Then run any snippet below — all languages use the same values. Base URL: https://cs-testv2.cyware.com/ctixapi (change in API Settings).
Playground
Request parameters
Edit values here before running any snippet below (cURL, JavaScript, or Python). Code blocks are reference only — your inputs above are what gets sent.
Open API (HMAC signature) · Get credentials from Cyware Admin → Open API → Generate Credentials.
Signature and Expires are generated when you run a request. Access ID and Secret Key stay in memory for this tab only.
Credentials from Authentication auto-fill here for this product. If fields are empty after connecting, refresh this page or open the product docs again.
curl --request GET \
--url "https://cs-testv2.cyware.com/ctixapi/ingestion/attack-navigator/attack-layer/?domain=mobile&q=mitre&AccessID=%3Cyour%20access%20id%3E&Signature=%3Cyour%20signature%3E&Expires=%3Cyour%20expires%3E"View-only example — running live API calls requires a role with snippet testing access.
const url = "https://cs-testv2.cyware.com/ctixapi/ingestion/attack-navigator/attack-layer/?domain=mobile&q=mitre&AccessID=%3Cyour%20access%20id%3E&Signature=%3Cyour%20signature%3E&Expires=%3Cyour%20expires%3E";
const response = await fetch(url, {
method: "GET",
});
const text = await response.text();
let data;
try { data = JSON.parse(text); } catch { data = text; }
console.log(response.status, data);View-only example — running live API calls requires a role with snippet testing access.
import requests
url = "https://cs-testv2.cyware.com/ctixapi/ingestion/attack-navigator/attack-layer/"
params = {
"domain": "mobile",
"q": "mitre",
"AccessID": "<your access id>",
"Signature": "<your signature>",
"Expires": "<your expires>"
}
headers = {}
response = requests.request("GET", url, params=params, headers=headers)
print(response.status_code)
print(response.text)View-only example — running live API calls requires a role with snippet testing access.
{
"next": {},
"page_size": 10,
"previous": {},
"results": [
{}
],
"total": 1
}View-only example — running live API calls requires a role with snippet testing access.