CTIX
Network live
CTIXGET

Get Tool SDO

Source docs
GEThttps://cs-testv2.cyware.com/ctixapi/ingestion/shareable-intel/{intel-id}/tool/{tool-id}/

Returns the SDO added in the detailed submission using the unique identifier.

Path Parameters

NameTypeRequiredDescription
intel-idstringoptional

Pass the unique ID of the intel submission.

tool-idstringoptional

Pass the tool ID.

Query Parameters

NameTypeRequiredDescription
pagestringoptional

Pass the page number to retrieve records.

page_sizestringoptional

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.

CTIXConnect to Intel ExchangeConnect to run

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.

Path Parameters
Query Parameters
cURL
curl --request GET \
  --url "https://cs-testv2.cyware.com/ctixapi/ingestion/shareable-intel/{intel-id}/tool/{tool-id}/?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.

JavaScript
const url = "https://cs-testv2.cyware.com/ctixapi/ingestion/shareable-intel/{intel-id}/tool/{tool-id}/?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.

Python
import requests

url = "https://cs-testv2.cyware.com/ctixapi/ingestion/shareable-intel/{intel-id}/tool/{tool-id}/"
params = {
    "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.

Example Response
{
  "id": "tool--53266f0c-3587-4816-b589-922b81f6f5ce",
  "created_by_ref": {},
  "tlp": {},
  "revoked": false,
  "labels": [
    {}
  ],
  "custom_properties": [
    {}
  ],
  "name": "tool 1",
  "description": "tool desc",
  "aliases": [
    "tool1"
  ],
  "tool_types": [
    {}
  ],
  "tool_version": "1.2.4",
  "kill_chain_phases": [
    {}
  ]
}

View-only example — running live API calls requires a role with snippet testing access.