CTIX
Network live
CTIXPOST

Create Report

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

Create a basic (standard) report in Intel Exchange.

NOTE Do not use this endpoint to create advanced reports.

Query Parameters

NameTypeRequiredDescription
typestringrequired

Pass the type of report to be created.

Body Parameters

NameTypeRequiredDescription
namestringrequired

Pass the name of the report.

typestringrequired

Pass the type of report to be created.

basic_report_typestringoptional

Pass the type of basic report to be created.

shared_typestringrequired

Pass the share type value.

saved_searchobjectrequired

Pass the saved search or custom query details used for generating the report. You can use the List Saved Search endpoint to retrieve the required details.

scheduleobjectrequired

Pass the schedule details such as repeat type, start date and time, duration time, duration value, and repeat value.

file_typesarrayrequired

Pass the report type.

columnsarrayrequired

Pass the list of columns to be displayed in a basic report.

internal_recipientsobjectoptional

Pass the list of internal recipients with whom to share the report.

query_keystringoptional

Pass the key to sort data in the report.

external_recipientsobjectoptional

Pass the list of external recipients (outside Intel Exchange) with whom to share the report.

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.

Query Parameters
Request body (JSON)Valid JSON
cURL
curl --request POST \
  --url "https://cs-testv2.cyware.com/ctixapi/ingestion/reports/?type=basic&AccessID=%3Cyour%20access%20id%3E&Signature=%3Cyour%20signature%3E&Expires=%3Cyour%20expires%3E" \
  --data '{
  "name": "Intel Exchange report",
  "type": "basic",
  "basic_report_type": "custom",
  "shared_type": "global",
  "saved_search": {},
  "schedule": {},
  "file_types": [
    "csv"
  ],
  "columns": [
    {}
  ],
  "internal_recipients": {},
  "query_key": "",
  "external_recipients": {}
}'

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

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

const response = await fetch(url, {
  method: "POST",
  headers: {},
  body: JSON.stringify({
    "name": "Intel Exchange report",
    "type": "basic",
    "basic_report_type": "custom",
    "shared_type": "global",
    "saved_search": {},
    "schedule": {},
    "file_types": [
      "csv"
    ],
    "columns": [
      {}
    ],
    "internal_recipients": {},
    "query_key": "",
    "external_recipients": {}
  }),
});

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/reports/"
params = {
    "type": "basic",
    "AccessID": "<your access id>",
    "Signature": "<your signature>",
    "Expires": "<your expires>"
}
headers = {}
payload = {
  "name": "Intel Exchange report",
  "type": "basic",
  "basic_report_type": "custom",
  "shared_type": "global",
  "saved_search": {},
  "schedule": {},
  "file_types": [
    "csv"
  ],
  "columns": [
    {}
  ],
  "internal_recipients": {},
  "query_key": "",
  "external_recipients": {}
}
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
{
  "name": "Intel Exchange report",
  "type": "basic",
  "basic_report_type": "custom",
  "shared_type": "global",
  "saved_search": {},
  "schedule": {},
  "file_types": [
    "csv"
  ],
  "columns": [
    {}
  ],
  "internal_recipients": {},
  "query_key": "",
  "external_recipients": {}
}

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

Example Response
{
  "basic_report_type": "custom",
  "columns": [
    {}
  ],
  "created": 1692188813,
  "created_by": {},
  "date_last_run": {},
  "external_recipients": {},
  "file_types": [
    "csv"
  ],
  "id": "334c3ff3-bfcc-402c-ad6a-e13cb830a602",
  "internal_recipients": {},
  "modified": 1692188813,
  "modified_by": {},
  "name": "Vulnerability Report",
  "query_key": "ctix_created",
  "saved_search": {},
  "schedule": {},
  "shared_type": "global",
  "type": "basic"
}

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