GET
/api/v2/ioc/signal-catalogSignal catalog (config + content per language)
Returns the signal taxonomy split into a structural `config` (EN-only) and localized `content`, organized under `ioc_types.{domain|ip|ip_block|asn}`. Supports `?lang=` (EN fallback on unknown) and `?ioc_type=` (CSV; default = all IOC types). Served with ETag / 24h Cache-Control.
Query parameters
| Name | Type | Description |
|---|---|---|
langin query | string | Supported: en, tr. Unknown → EN fallback. Default: en. |
ioc_typein query | string | CSV of IOC types. Default: all. Unknown type → 400. |
Responses
Signal catalog
- langstringResolved language (EN fallback when `requested_lang` is unknown).
- requested_langstringRaw `?lang=` value (or `en` when absent).
- ioc_types_returnedstring[]
- configobjectStructural, EN-only metadata. Per IOC type: `groups`, `families`, `labels` (with `direction`, `tags`, `sublabels`, `sublabel_groups`, `enabled`, `is_core`), `values`, `table_columns`, `expected_labels`. `sublabel_groups` maps each `sublabel_id` to a `group_id` (e.g. `base`, `informational`, `time_long`); the generic `default` carrier on multi-tier labels is often absent from this map.
- contentobjectLocalized display strings. Per IOC type: `group_names`, `family_names`, `labels` (with `sublabel_names` and `desc` Q&A), `values`, `table_columns`, `sublabel_group_names` (`group_id` to localized display name, matching `config.sublabel_groups`).
Code samples
bash
curl -X GET 'https://api.verdictiq.io/api/v2/ioc/signal-catalog' \
-H 'Content-Type: application/json' \
-H 'X-API-Key: sk_<your-api-key>'