CTIX
Network live
CTIXPOST

Add Note to Threat Data Object

Source docs
POSThttps://cs-testv2.cyware.com/ctixapi/ingestion/notes/

Adds a note to a threat data object.

Body Parameters

NameTypeRequiredDescription
object_idstringrequired

Pass the ID of the threat data object to create the notes. Otherwise, the note is created as a global note.

textstringrequired

Pass the description for the notes.

Note: If is_json is true, ensure that the JSON is stringified.

typestringrequired

Pass the type of the note.

is_jsonbooleanoptional

Pass true if you want to send the note in JSON format.

Note: Ensure that the JSON content passed in text is stringified.

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 ExchangeRequired to change data
Credentials required for POST

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.

Request body (JSON)Valid JSON
cURL
curl --request POST \
  --url "https://cs-testv2.cyware.com/ctixapi/ingestion/notes/?AccessID=%3Cyour%20access%20id%3E&Signature=%3Cyour%20signature%3E&Expires=%3Cyour%20expires%3E" \
  --data '{
  "object_id": "94dd06c4-8514-4a78-9d5d-8faf22048cec",
  "text": "This is a test note",
  "type": "threatdata",
  "is_json": false
}'

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

JavaScript
const url = "https://cs-testv2.cyware.com/ctixapi/ingestion/notes/?AccessID=%3Cyour%20access%20id%3E&Signature=%3Cyour%20signature%3E&Expires=%3Cyour%20expires%3E";

const response = await fetch(url, {
  method: "POST",
  headers: {},
  body: JSON.stringify({
    "object_id": "94dd06c4-8514-4a78-9d5d-8faf22048cec",
    "text": "This is a test note",
    "type": "threatdata",
    "is_json": false
  }),
});

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/notes/"
params = {
    "AccessID": "<your access id>",
    "Signature": "<your signature>",
    "Expires": "<your expires>"
}
headers = {}
payload = {
  "object_id": "94dd06c4-8514-4a78-9d5d-8faf22048cec",
  "text": "This is a test note",
  "type": "threatdata",
  "is_json": false
}
response = requests.request("POST", url, params=params, headers=headers, json=payload)
print(response.status_code)
print(response.text)

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

Request Body
{
  "object_id": "94dd06c4-8514-4a78-9d5d-8faf22048cec",
  "text": "This is a test note",
  "type": "threatdata",
  "is_json": false
}

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

Example Response
{
  "created": 1685607763,
  "created_by": {},
  "id": "f684bd2b-245f-4cc2-bda5-efa64a66715d",
  "is_json": false,
  "meta_data": {},
  "modified": 1685607763,
  "modified_by": {},
  "object_id": "21f82259-a788-4dc2-bd14-1b8ba271b871",
  "text": "threat notes",
  "title": {},
  "type": "threatdata"
}

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