ti_get_updates
Polls a threat-intelligence collection for records changed since a sequence point, returning updates oldest-first so you can page through changes and stop when no items remain.
Instructions
Updated API — poll a collection for records changed since a point in the update sequence: GET /api/v2/{collection}/updated. Start with a seq_update from ti_get_sequence_list (or omit it, optionally bounding with date_from), then feed the seqUpdate value from each response into the next call. Records come back oldest-first; stop when items is empty. Every record in TI has a unique seqUpdate and a record that gets updated is renumbered, so it resurfaces. Not available for compromised/breached, compromised/reaper — use ti_get_collection for those.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Response language, e.g. "en" or "ru". | |
| limit | No | Integer. Records per request. Default 100; capped per collection. | |
| query | No | Optional q filter. Free text matches any attribute ("8.8.8.8", "GOFFEE") and is the safe default. Several terms without an operator are searched as one phrase: join them with AND / OR or quote a phrase: "Cobalt Strike". "attribute:value" matches one top-level field exactly ("domain:example.com", "name:GOFFEE"), but only where the collection supports that field: apt/threat and hi/threat accept nothing but id: and domain:. A 400 "invalid search field" means exactly that — repeat the value as free text. The collection's note (in every answer and in ti_describe_collections) says how to search it. | |
| date_to | No | dt — sent as pyf6 does, though the guide lists dt only for the Common API. | |
| date_from | No | df — YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ. | |
| collection | Yes | Collection name without an endpoint suffix, e.g. "ioc/common" or "compromised/account_group". Known: apt/threat, apt/threat_actor, attacks/ddos, attacks/deface, attacks/phishing_group, attacks/phishing_kit, compromised/access, compromised/account_group, compromised/bank_card_group, compromised/breached, compromised/discord, compromised/masked_card, compromised/messenger, compromised/mule, compromised/reaper, compromised/suspicious_payment, hi/open_threats, hi/threat, hi/threat_actor, ioc/common, malware/cnc, malware/config, malware/malware, malware/phishing_kit, malware/signature, malware/yara, osi/git_repository, osi/public_leak, osi/vulnerability, suspicious_ip/open_proxy, suspicious_ip/scanner, suspicious_ip/socks_proxy, suspicious_ip/tor_node, suspicious_ip/vpn. Unknown names are passed through as-is; ti_list_collections shows what this account may actually read, ti_describe_collections what each one contains. | |
| seq_update | No | Integer seqUpdate to continue from; omit for the first call. | |
| extra_params | No | Any further query parameters, passed through verbatim — e.g. {"tags[filterSpam][]": 1} to drop spam from compromised/messenger, or {"has_exploit": 1} for osi/vulnerability. | |
| apply_hunting_rules | No | 0 or 1. Applies this account's hunting rules so only matching data comes back. Supported by: apt/threat, attacks/ddos, attacks/phishing_group, compromised/breached, compromised/messenger, compromised/reaper, hi/open_threats, hi/threat, osi/public_leak, osi/vulnerability, suspicious_ip/open_proxy, suspicious_ip/scanner, suspicious_ip/socks_proxy, suspicious_ip/tor_node, suspicious_ip/vpn. |