Documentation Index

Fetch the complete documentation index at: https://knowledge.threatconnect.com/llms.txt

Use this file to discover all available pages before exploring further.

🚀 ThreatConnect® 8.0 is now available!

TQL Operators and Parameters

Prev Next

Overview

A ThreatConnect® Query Language (TQL) query expression includes a parameter name, an operator, and a value or list of values, and you can combine multiple query expressions using parentheses and AND/OR logic. This article provides a list of all TQL operators and parameters available in ThreatConnect.

Note
A value’s case sensitivity may depend on database deployment type, the operator being applied to it, or other factors.

Operators

Table 1 describes the ThreatConnect Query Language (TQL) operators in all their acceptable forms.

Note
Operators are case insensitive. For example, when using the IN operator in a query, it can be written as IN or in.

 

Operator(s)DescriptionExample
=, ==, EQ, EQUALSReturns objects that equal the specified value.typeName = "Adversary"
!=, NEReturns objects that do not equal the specified value.typeName != "Adversary"
>, GTReturns objects that are greater than the specified value.dateAdded > "2023-12-31"
<, LTReturns objects that are less than the specified value.dateAdded < "2023-12-31"
<=, LEQReturns objects that are less than or equal to the specified value.dateAdded <= "2023-12-31"
>=, GEQReturns objects that are greater than or equal to the specified value.dateAdded >= "2023-12-31"
INReturns objects that match any value in a list of values.typeName IN ("Host", "URL")
LIKEReturns objects that match an exact term or a pattern. Use the percent symbol (%) as a wildcard to represent zero, one, or multiple characters in a pattern.typeName LIKE ("Email%")
CONTAINSReturns objects that contain the specified value.summary CONTAINS "bad"
STARTSWITHReturns objects that start with the specified value.summary STARTSWITH "CVE-"
ENDSWITHReturns objects that end with the specified value.summary ENDSWITH ".com"
NOTNegates the IN, LIKE, CONTAINS, STARTSWITH, or ENDSWITH operator or a nested query in an expression. Place NOT before the operator or nested query to be negated.summary NOT CONTAINS "bad"
ANDLogical and that returns objects for which all conditions in the expression are true.typeName = "Host" AND dateAdded >= "2023-12-31"
ORLogical or that returns objects for which any condition in the expression is true.typeName = "Host" OR dateAdded >= "2023-12-31"

Parameters

The following subsections describe the threat intelligence, Workflow, and general TQL parameters available in ThreatConnect.

Note
Parameters are case insensitive. For example, when using the typeName parameter in a query, it can be written as typeName or typename.

Threat Intelligence Parameters

The following subsections describe the TQL parameters available for threat intelligence data objects in ThreatConnect.

Note
Use ISO-8601-compliant formatting for TQL parameters whose data type is DateTime.

Groups

Table 2 provides the TQL parameters available for Groups. Table 3 provides the TQL parameters available for unified Groups.

 

Object TypeParameterData TypeComments
GroupsaiLastRetrievalDateDateTimeThe date and time the Group’s AI-generated summary was last retrieved from its source (for Document, Event, and Report Groups only)
GroupsaiProviderStringThe provider of an AI-generated summary for a relevant Group (ThreatConnect AI for user-generated summaries; the name of the feed for AI insights provided by participating feeds)
GroupsassociatedGroupSourceStringAcceptable values:
  • UNKNOWN
  • MANUAL
  • API
  • TQL
  • DNS
  • EMAIL
See the “Query for Objects by Association Method” section of Constructing Query Expressions for more information.
GroupsassociatedIndicatorIntegerDeprecated by nested query; equivalent to hasIndicator(id=n)
GroupsassociatedIndicatorSourceStringAcceptable values:
  • UNKNOWN
  • MANUAL
  • API
  • TQL
  • DNS
  • EMAIL
See the “Query for Objects by Association Method” section of Constructing Query Expressions for more information.
GroupsattackTagStringThe name of an ATT&CK® Tag applied to the Group
GroupsattributeNNDependentSee the “Query for Attributes” section of Constructing Query Expressions for more information.
GroupscreatedByUserAny username in the user’s Organization (e.g., createdBy = "joeuser@gmail.com")
GroupsdateAddedDateTime
GroupsdocumentDateAddedDateTime
GroupsdocumentFilenameString
GroupsdocumentFilesizeLong
GroupsdocumentStatusString
GroupsdocumentTypeString
GroupsdownvoteCountInteger
GroupsemailDateDateTime
GroupsemailFromString
GroupsemailScoreInteger
GroupsemailScoreIncludesBodyBoolean
GroupsemailSubjectString
GroupseventDateDateTimeThe date the event that the Group represents occurred (for Event and Incident Groups only)
GroupseventTypeEnum

The type of event that the Group represents (for Event Groups only)

Acceptable values:

  • Alert
  • Alert [flash]
  • Alert [hyper-local]
  • Alert [local]
  • Alert [urgent]
  • Breach
  • Campaign
  • Compliance / Regulatory
  • Disclosure
  • Emerging Threat
  • Exercise
  • Exposure
  • Finding [Compliance violations]
  • Finding [Configuration weaknesses]
  • Finding [Missing patches]
  • Finding [Security posture gaps]
  • Investigation
  • None
  • Operation
  • Physical Security
  • Response Action
  • Social Engineering (non-phishing)
  • Third Party Reported
  • Trend
GroupsexternalDateAddedDateTimeThe date and time the Group was first created by a third party
GroupsexternalDateExpiresDateTimeThe date and time the Group expires in a third party
GroupsexternalLastModifiedDateTimeThe date and time the Group was last modified in a third party
GroupsfirstSeenDateTimeThe date and time the Group was first seen
GroupsgeneratedReportBooleanReturns Report Groups that were created using the Publish Report feature in the Report Editor
GroupshasAllTags()Nested QueryA nested query that returns only Groups with all specified Tags applied to them. The query must be of the form hasAllTags(id=x) or hasAllTags(id IN (x,y)), where x and y represent Tag ID numbers.
GroupshasArtifact()Nested Query
GroupshasAttribute()Nested Query
GroupshasCase()Nested Query
GroupshasCommonGroup()Nested QueryA nested query that returns Groups that meet the specified unified Group criteria. See Table 3 for a list of parameters that can be used within the hasCommonGroup() nested query parameter.
GroupshasCommonVulnerability()Nested QueryA nested query that returns Groups that meet the specified unified Vulnerability Group criteria. See Table 3 for a list of parameters that can be used within the hasCommonVulnerability() nested query parameter.
GroupshasGroup()Nested Query
GroupshasIndicator()Nested Query
GroupshasIntelQuery()Nested Query
GroupshasIntelRequirement()Nested Query
GroupshasSecurityLabel()Nested Query
GroupshasTag()Nested Query
GroupshasThreatActorProfile()Nested QueryA nested query that returns Groups that meet the specified Threat Actor Profile criteria. See Table 5 for a list of parameters that can be used within the hasThreatActorProfile() nested query parameter.
GroupshasVictim()Nested Query
GroupshasVictimAsset()Nested Query
GroupsidIntegerThe ID number of a Group. This number can be found in the URL of the Group’s Details screen, between groups/ and /overview.
GroupsinsightsStringThe AI-generated summary of a Group provided by a participating feed for a relevant Group
GroupslastModifiedDateTime
GroupslastSeenDateTimeThe date and time the Group was last seen
GroupsownerInteger
GroupsownerNameString
GroupspublishDateDateTimeThe date the Group was published (for Report Groups only)
GroupssecurityLabelString
GroupssignatureDateAddedDateTime
GroupssignatureFilenameString
GroupssignatureTypeString
GroupsstatusString
GroupssummaryString
GroupstagStringDeprecated by nested query; equivalent to hasTag(summary="")
GroupstagOwnerIntegerDeprecated by nested query; equivalent to hasTag(owner=n)
GroupstagOwnerNameStringDeprecated by nested query; equivalent to hasTag(ownerName="")
GroupstaskAssigneeUserme is the only valid value
GroupstaskAssigneePseudoUser
GroupstaskDateAddedDateTime
GroupstaskDueDateDateTime
GroupstaskEscalatedBoolean
GroupstaskEscalationDateDateTime
GroupstaskLastModifiedDateTime
GroupstaskOverdueBoolean
GroupstaskRemindedBoolean
GroupstaskReminderDateDateTime
GroupstaskStatusString
GroupstypeInteger
GroupstypeNameString
GroupsupvoteCountInteger
GroupsvictimAssetStringDeprecated by nested query; equivalent to hasVictimAsset(name="")
hasCommonGroup() and hasCommonVulnerability() Parameters

Table 3 provides the TQL parameters that can be used within the hasCommonGroup() and hasCommonVulnerability() nested query parameters.

Note
The hasCommonGroup() nested query parameter filters Adversary, Intrusion Set, and Threat Groups that belong to a Threat Actor Profile, and Vulnerability Groups that belong to a unified Vulnerability Group. The hasCommonVulnerability() nested query parameter filters only Vulnerability Groups that belong to a unified Vulnerability Group.

 

ParameterData TypeComments
All Unified Groups (Unified Vulnerability Groups and Threat Actor Profiles)
dateAddedDateTimeThe date and time a unified Group was first created in ThreatConnect
descriptionStringThe description of a unified Group
hasGroup()Nested QueryA nested query for association to other Groups
idIntegerThe ID number of a unified Group
lastAssessedDateTimeThe date and time a unified Group was last assessed by a third party (e.g., VulnCheck)
lastModifiedDateTimeThe date and time a unified Group was last modified in, or re-ingested into, ThreatConnect
summaryStringThe name/summary of a unified Group
typeIntegerThe ID number of a unified Group's type
typeNameStringThe name of a unified Group's type
Unified Vulnerability Groups
criteriaStringThe Common Platform Enumeration (CPE) match criteria of a Vulnerability
cvss_score_v2DoubleThe CVSS V2 score of a Vulnerability. Scores range from 0–10.
cvss_score_v3DoubleThe CVSS V3 score of a Vulnerability. Scores range from 0–10.
cvss_score_v3_1DoubleThe CVSS V3.1 score of a Vulnerability. Scores range from 0–10.
cvss_score_v4DoubleThe CVSS V4 score of a Vulnerability. Scores range from 0–10.
cvss_severity_v2EnumThe CVSS V2 severity of a Vulnerability
Acceptable values:
  • Unknown
  • Low
  • Medium
  • High
cvss_severity_v3EnumThe CVSS V3 severity of a Vulnerability
Acceptable values:
  • Unknown
  • Low
  • Medium
  • High
cvss_severity_v3_1EnumThe CVSS V3.1 severity of a Vulnerability
Acceptable values:
  • Unknown
  • Low
  • Medium
  • High
cvss_severity_v4EnumThe CVSS V4 severity of a Vulnerability
Acceptable values:
  • Unknown
  • Low
  • Medium
  • High
cvss_v2StringThe CVSS V2 vector string of a Vulnerability
cvss_v3StringThe CVSS V3 vector string of a Vulnerability
cvss_v3_1StringThe CVSS V3.1 vector string of a Vulnerability
cvss_v4StringThe CVSS V4 vector string of a Vulnerability
dueDateDateTimeThe date by which organizations are expected to patch or mitigate a Vulnerability listed in the U.S. Cybersecurity and Infrastructure Security Agency (CISA) Known Exploited Vulnerabilities (KEV) Catalog
externalDateAddedDateTimeThe date a Vulnerability was added to the KEV Catalog
hasAffectedProduct()Nested QueryA nested query that returns Vulnerability Groups that meet the specified affected product criteria. See Table 4 for a list of parameters that can be used within the hasAffectedProduct() nested query parameter.
knownRansomwareCampaignUseStringThe designation as to whether a KEV Vulnerability is known to have been used in a ransomware campaign
Acceptable values:
  • Known
  • Unknown
lastPublishedDateTimeThe date and time a Vulnerability was published in the National Institute of Standards and Technology (NIST) National Vulnerability Database (NVD)
notesStringThe additional notes provided for a KEV Vulnerability
requiredActionStringThe immediate action required by federal entities and other organizations to address a KEV Vulnerability
shortDescriptionStringThe short description of a KEV Vulnerability
sourceStringThe reference source for a Vulnerability
subtypeStringThe subtype of a Vulnerability
Acceptable values:
  • CVE
  • KEV
titleStringThe summary of a Vulnerability provided by a third party (e.g., VulnCheck)
vendorProjectStringThe vendor project that discovered a KEV Vulnerability
vulnerabilityNameStringThe name of a KEV Vulnerability
hasAffectedProduct() Parameters

Table 4 provides the TQL parameters that can be used within the hasAffectedProduct() nested query parameter.

 

ParameterData TypeComments
cpe23uriStringA CPE 2.3-formatted string
dateAddedDateTimeThe date and time an affected product was first created in ThreatConnect
editionStringEdition information applied by the vendor to characterize an affected product (e.g., Professional, Enterprise)
hasCommonGroup()Nested QueryA nested query that returns Groups that meet the specified unified Group criteria. See Table 3 for a list of parameters that can be used within the hasCommonGroup() nested query parameter.
idIntegerAn affected product's ID number
languageStringThe language supported in an affected product's user interface
lastModifiedDateTimeThe date and time an affected product was last modified in, or re-ingested into, ThreatConnect
otherStringAdditional vendor- or product-specific information available for an affected product
partStringThe type of affected product
Acceptable values:
  • a (application)
  • h (hardware)
  • o (operating system)
productStringAn affected product's name or title
swEditionStringAn affected product's software edition, which identifies how an affected product is marketed to end users
targetHwStringThe instruction set architecture in which an affected product operates
targetSwStringThe software environment in which an affected product operates
updateStringAn affected product's update or revision
vendorStringAn affected product's vendor
versionStringAn affected product's version number
vulnerabilityIdIntegerThe ID number of a unified Vulnerability Group associated with an affected product
hasThreatActorProfile() Parameters

Table 5 provides the TQL parameters that can be used within the hasThreatActorProfile() nested query parameter.

 

ParameterData TypeComments
deprecatedBooleanA flag indicating whether the Threat Actor Profile is deprecated
externalDateAddedDateTimeThe date and time the Threat Actor Profile was first created by MITRE ATT&CK
externalDateModifiedDateTimeThe date and time the Threat Actor Profile was last modified by MITRE ATT&CK
mitreIdStringThe MITRE ID of the Threat Actor Profile
mitreLinkStringThe URL of the MITRE ID details page on the MITRE ATT&CK website

Indicators

Table 6 provides the TQL parameters available for Indicators.

 

Object TypeParameterData TypeComments
IndicatorsabuseIpdbConfidenceScoreIntegerThe Confidence of Abuse percentage calculated by AbuseIPDB for the Indicator. It is a rating, from 0 to 100, of how confident AbuseIPDB is, based on user reports, that an IP address is entirely malicious.
IndicatorsactiveLockedBoolean
IndicatorsaddressASNInteger
IndicatorsaddressCIDRCIDR Expression
IndicatorsaddressCityString
IndicatorsaddressCountryCodeString
IndicatorsaddressCountryNameString
IndicatorsaddressIpValBigInteger
IndicatorsaddressIsIpv6Boolean
IndicatorsaddressRegisteringOrgString
IndicatorsaddressStateString
IndicatorsaddressTimezoneString
IndicatorsassociatedGroupIntegerDeprecated by nested query; equivalent to hasGroup(id=n)
IndicatorsassociatedGroupSourceStringAcceptable values:
  • UNKNOWN
  • MANUAL
  • API
  • TQL
  • DNS
  • EMAIL
See the “Query for Objects by Association Method” section of Constructing Query Expressions for more information.
IndicatorsassociatedIndicatorSourceStringAcceptable values:
  • UNKNOWN
  • MANUAL
  • API
  • TQL
  • DNS
  • EMAIL
See the “Query for Objects by Association Method” section of Constructing Query Expressions for more information.
IndicatorsattackTagStringThe name of an ATT&CK Tag applied to the Indicator
IndicatorsattributeNNDependentSee the “Query for Attributes” section of Constructing Query Expressions for more information.
IndicatorscalScoreIntegerA stored version of the Indicator’s CAL™ Global Threat Score. This ThreatConnect-stored version of the CAL Global Threat Score is typically updated daily. The timing may vary per instance. Note that the stored version may not match the CAL Global Threat Score displayed on an Indicator’s Details screen, which derives the CAL Global Threat Score on demand.
IndicatorsconfidenceInteger
IndicatorsdateAddedDateTime
IndicatorsdescriptionString
IndicatorsdtLastUpdatedDateTimeThe last date and time the Indicator was looked at with DomainTools®
IndicatorsdtMalwareScoreIntegerThe malware score for the Indicator in DomainTools
IndicatorsdtOverallScoreIntegerThe overall score for the Indicator in DomainTools
IndicatorsdtPhishingScoreIntegerThe phishing score for the Indicator in DomainTools
IndicatorsdtSpamScoreIntegerThe spam score for the Indicator in DomainTools
IndicatorsdtStatusBooleanThe domain status for the Indicator in DomainTools
IndicatorsexternalDateAddedDateTimeThe date and time the Indicator was first created by a third party
IndicatorsexternalDateExpiresDateTimeThe date and time the Indicator expires in a third party
IndicatorsexternalLastModifiedDateTimeThe date and time the Indicator was last modified by a third party
IndicatorsfalsePositiveCountString
IndicatorsfileNameString
IndicatorsfilePathString
IndicatorsfileSizeBigInteger
IndicatorsfirstSeenDateTimeThe date and time the Indicator was first seen
IndicatorshasAllTags()Nested QueryA nested query that returns only Indicators with all specified Tags applied to them. The query must be of the form hasAllTags(id=x) or hasAllTags(id IN (x,y)), where x and y represent Tag ID numbers.
IndicatorshasArtifact()Nested Query
IndicatorshasAttribute()Nested Query
IndicatorshasCase()Nested Query
IndicatorshasCustomAssociation()Nested Query
IndicatorshasGroup()Nested Query
IndicatorshasIndicator()Nested Query
IndicatorshasIntelRequirement()Nested Query
IndicatorshasSecurityLabel()Nested Query
IndicatorshasTag()Nested Query
IndicatorshasVictim()Nested Query
IndicatorshasVictimAsset()Nested Query
IndicatorshostDnsActiveBoolean
IndicatorshostWhoisActiveBoolean
IndicatorsidIntegerThe ID number of an Indicator. This number can be found in the URL of the Indicator’s Details screen, between indicators/ and /overview.
IndicatorsindicatorActiveBoolean
IndicatorslastFalsePositiveDateTime
IndicatorslastModifiedDateTime
IndicatorslastObservedDateTime
IndicatorslastSeenDateTimeThe date and time the Indicator was last seen
IndicatorsobservationCountInteger
IndicatorsownerInteger
IndicatorsownerNameString
IndicatorsratingInteger
IndicatorssameNameAs
IntegerUsed to search for Indicators by ID number instead of their full summary string
IndicatorssecurityLabelString
IndicatorssourceString
IndicatorssummaryString
IndicatorstagStringDeprecated by nested query; equivalent to hasTag(summary="")
IndicatorstagOwnerIntegerDeprecated by nested query; equivalent to hasTag(owner=n)
IndicatorstagOwnerNameStringDeprecated by nested query; equivalent to hasTag(ownerName="")
IndicatorsthreatAssessLastUpdatedDateTimeThe date and time an Indicator’s ThreatAssess score was most recently updated (or, for newly scored Indicators, the date and time the Indicator’s ThreatAssess score was first calculated)
IndicatorsthreatAssessScoreInteger
IndicatorstypeInteger
IndicatorstypeNameString
Indicatorsvalue1StringUsed to search for Indicators that include multiple fields (e.g., File Indicators, Registry Key Indicators)
Indicatorsvalue2StringUsed to search for Indicators that include multiple fields (e.g., File Indicators, Registry Key Indicators)
Indicatorsvalue3StringUsed to search for Indicators that include multiple fields (e.g., File Indicators, Registry Key Indicators)
IndicatorsvtLastUpdatedDateTimeThe last date and time the Indicator was looked at with VirusTotal™
IndicatorsvtMaliciousCountIntegerThe number of malicious reports for an Indicator from VirusTotal (i.e., the VirusTotal score)

Intelligence Requirements

Table 7 provides the TQL parameters available for Intelligence Requirements (IRs).

 

Object TypeParameterData TypeComments
Intelligence RequirementscategoryStringThe category of an IR
Intelligence RequirementsdateAddedDateTimeThe date and time an IR was added to ThreatConnect
Intelligence RequirementshasArtifact()Nested QueryA nested query for association to Artifacts
Intelligence RequirementshasCase()Nested QueryA nested query for association to Cases
Intelligence RequirementshasGroup()Nested QueryA nested query for association to Groups
Intelligence RequirementshasIndicator()Nested QueryA nested query for association to Indicators
Intelligence RequirementshasTag()Nested QueryA nested query for association to Tags
Intelligence RequirementshasVictim()Nested QueryA nested query for association to Victims
Intelligence RequirementshasVictimAsset()Nested QueryA nested query for association to Victim Assets
Intelligence RequirementsidIntegerThe ID number of an IR. This number can be found in the URL of the IR’s Details screen, between intel-requirements/ and /overview.
Intelligence RequirementslastModifiedDateTimeThe last modified date for an IR
Intelligence RequirementsownerIntegerThe ID of an IR’s owner
Intelligence RequirementsownerNameStringThe name of an IR's owner
Intelligence RequirementsrequirementStringThe summary of an IR
Intelligence RequirementssubtypeStringThe subtype of an IR
Intelligence RequirementstagStringThe name of a Tag applied to an IR
Intelligence RequirementsuniqueIdStringThe unique ID of an IR. This is the number that was entered in the ID field when the IR was created. It is found at the upper left of the header of the IR’s Details screen, both next to the Browse link and above the IR’s summary.

Intelligence Requirement Results

Table 8 provides the TQL parameters available for Intelligence Requirement (IR) results.

Important
You can query for Intelligence Requirement results only in dashboard Query cards  and when using the ThreatConnect v3 API. You cannot query for them on the Legacy Browse screen or when searching by object type on the Search screen.

 

Object TypeParameterData TypeComments
Intelligence Requirement ResultsarchivedDateDateTimeThe date and time an IR query result was archived
Intelligence Requirement ResultsdateAddedDateTimeThe date and time the ThreatConnect object to which an IR query result corresponds was created
Intelligence Requirement ResultshasIntelRequirement()Nested Query
Intelligence Requirement ResultsidIntegerThe ID number of an IR query result
Intelligence Requirement ResultsintelIdIntegerThe ID number of the ThreatConnect object to which an IR query result corresponds
Intelligence Requirement ResultsintelReqIdIntegerThe ID number of the IR to which an IR query result corresponds
Intelligence Requirement ResultsintelTypeStringThe type of ThreatConnect object to which an IR query result corresponds (e.g., Address, Host, Adversary, Campaign)
Intelligence Requirement ResultsisArchivedBooleanA flag indicating whether an IR query result has been archived
Intelligence Requirement ResultsisAssociatedBooleanA flag indicating whether an IR query result has been associated to an IR
Intelligence Requirement ResultsisDeletedBooleanA flag indicating whether an IR query result has been deleted
Intelligence Requirement ResultsisFalsePositiveBooleanA flag indicating whether an IR query result has been flagged as a false positive
Intelligence Requirement ResultsisLocalBooleanA flag indicating whether an IR query result exists in the owners to which you have access on your ThreatConnect instance
Intelligence Requirement ResultslastMatchedDateDateTimeThe date and time that an IR query result last matched the IR’s keyword query
Intelligence Requirement ResultslastModifiedDateTimeThe date and time the ThreatConnect object to which an IR query result corresponds was last modified
Intelligence Requirement ResultsownerIntegerThe ID number of the owner of the ThreatConnect object to which an IR query result corresponds
Intelligence Requirement ResultsownerNameStringThe name of the owner of the ThreatConnect object to which an IR query result corresponds
Intelligence Requirement ResultsscoreDecimalA weighted score indicating the relevancy of an IR query result
Note
The score for an IR query result is not available in the ThreatConnect UI. It can be accessed only via TQL queries and the v3 API. This parameter can be used to target IR query results that have the most relevancy out of all available IR query results.
Intelligence Requirement ResultssummaryStringThe summary of the ThreatConnect object to which an IR query result corresponds

Tags

Table 9 provides the TQL parameters available for Tags.

 

Object TypeParameterData TypeComments
TagsactiveBooleanRead-only field that can be false for certain ATT&CK Tags that become deprecated over time and will be excluded from places such as the ATT&CK Visualizer. The value of this parameter is true in all other cases.
TagsassociatedCaseIntegerDeprecated by nested query; equivalent to hasCase(id=n)
TagsassociatedGroupIntegerDeprecated by nested query; equivalent to hasGroup(id=n)
TagsassociatedIndicatorIntegerDeprecated by nested query; equivalent to hasIndicator(id=n)
TagsassociatedVictimIntegerDeprecated by nested query; equivalent to hasVictim(id=n)
TagscaseIdInteger
TagsdescriptionString
TagsfinancialRiskStringThe financial risk level of an ATT&CK Tag as it relates to the user's Organization. This score is derived from ThreatConnect Risk Quantifier (RQ). For more information, see ATT&CK RQ Financial Impact.
Acceptable values:
  • Very Low
  • Low
  • Medium
  • High
  • Very High
TagshasCase()Nested Query
TagshasGroup()Nested Query
TagshasIndicator()Nested Query
TagshasVictim()Nested Query
TagsidIntegerThe ID number of a Tag. This number can be found in the URL of the Tag’s Details screen, after tag.xhtml?tag=.
TagslastUsedDateTime
TagsnameStringThe name of the Tag (case sensitive)
TagsnormalizedBooleanRead-only field that indicates if a Tag is defined as a main Tag within a Tag normalization rule.
TagsownerInteger
TagsownerNameString
TagssecurityCoverageEnum

The security coverage level assigned to an ATT&CK Tag in your Organization.

Acceptable values:

  • None
  • Weak
  • Moderate
  • Strong
TagssummaryStringThe name of the Tag (case insensitive)
TagstechniqueIdStringThe standard ID for specific MITRE ATT&CK techniques and sub-techniques (e.g., T1234, T1234.001). The value of this parameter is null for all non-ATT&CK Tags.

Victim Assets

Table 10 provides the TQL parameters available for Victim Assets.

 

Object TypeParameterData TypeComments
Victim AssetsassetString
Victim AssetsassociatedGroupIntegerDeprecated by nested query; equivalent to hasGroup(id=n)
Victim AssetshasGroup()Nested Query
Victim AssetshasIndicator()Nested Query
Victim AssetshasVictim()Nested Query
Victim AssetshasVictimAsset()Nested Query
Victim AssetsidInteger
Victim AssetsownerInteger
Victim AssetsownerNameString
Victim AssetssummaryString
Victim AssetstypeInteger
Victim AssetstypeNameString
Victim AssetsvictimIdInteger
Victim AssetsvictimNameString

Victims

Table 11 provides the TQL parameters available for Victims.

 

Object TypeParameterData TypeComments
VictimsassetNameStringDeprecated by nested query; equivalent to hasVictimAsset(summary="")
VictimsassetTypeIntegerDeprecated by nested query; equivalent to hasVictimAsset(type=n)
VictimsassetTypeNameStringDeprecated by nested query; equivalent to hasVictimAsset(typeName="")
VictimsattackTagStringThe name of an ATT&CK Tag applied to the Victim
VictimsattributeNNDependentSee the “Query for Attributes” section of Constructing Query Expressions for more information.
VictimsdescriptionString
VictimshasAllTags()Nested QueryA nested query that returns only Victims with all specified Tags applied to them. The query must be of the form hasAllTags(id=x) or hasAllTags(id IN (x,y)), where x and y represent Tag ID numbers.
VictimshasAttribute()Nested Query
VictimshasGroup()Nested Query
VictimshasIndicator()Nested Query
VictimshasSecurityLabel()Nested Query
VictimshasTag()Nested Query
VictimshasVictim()Nested Query
VictimshasVictimAsset()Nested Query
VictimsidIntegerThe ID number of a Victim. This number can be found in the URL of the Victim’s Details screen, after victim.xhtml?victim=.
VictimsnameString
VictimsnationalityString
VictimsorganizationString
VictimsownerInteger
VictimsownerNameString
VictimssecurityLabelString
VictimssubOrgString
VictimssummaryStringEquivalent to name
VictimstagStringDeprecated by nested query; equivalent to hasTag(summary="")
VictimstagOwnerIntegerDeprecated by nested query; equivalent to hasTag(owner=n)
VictimstagOwnerNameStringDeprecated by nested query; equivalent to hasTag(ownerName="")
VictimsworkLocationString

Workflow Parameters

The following subsections describe the TQL parameters available for Workflow objects in ThreatConnect.

Important
You can query for Workflow objects only in dashboard Query cards and the ThreatConnect v3 API. You cannot query for them on the Legacy Browse screen or when searching by object type on the Search screen .
Note
Use ISO-8601-compliant formatting for TQL parameters whose data type is DateTime.

Artifacts

Table 12 provides the TQL parameters available for Artifacts.

 

Workflow TypeParameterData TypeDescription
ArtifactanalyticsScoreIntegerThe ThreatAssess assessment level of the Artifact
ArtifactcaseIdIntegerThe ID number of a Case associated with an Artifact
ArtifactdateAddedDateTimeThe date and time an Artifact was created
ArtifacthasCase()Nested QueryA nested query for association to other Cases
ArtifacthasGroup()Nested QueryA nested query for association to other Groups
ArtifacthasIndicator()Nested QueryA nested query for association to other Indicators
ArtifacthasNote()Nested QueryA nested query for association to other Case Notes
ArtifacthasTask()Nested QueryA nested query for association to other Tasks
ArtifactidIntegerThe ID number of an Artifact
ArtifactindicatorActiveBooleanA flag indicating whether the Artifact is active
ArtifactnoteIdIntegerThe ID number of a Case Note associated with an Artifact
ArtifactsourceStringThe source of an Artifact
ArtifactsummaryStringThe summary of an Artifact
ArtifacttaskIdIntegerThe ID number of a Task associated with an Artifact
ArtifacttypeStringThe type name of an Artifact
ArtifacttypeNameStringThe type name of an Artifact

Artifact Types

Table 13 provides the TQL parameters available for Artifact types.

 

Workflow TypeParameterData TypeDescription
ArtifactTypeactiveBooleanThe active status of an Artifact type
ArtifactTypedataTypeEnumThe data type of an Artifact type
ArtifactTypedescriptionStringThe description of an Artifact type
ArtifactTypeidIntegerThe ID number of an Artifact type
ArtifactTypeintelTypeStringThe intel type of an Artifact type
ArtifactTypemanagedBooleanThe managed status of an Artifact type
ArtifactTypenameStringThe name of an Artifact type

Cases

Table 14 provides the TQL parameters available for Cases.

 

Workflow TypeParameterData TypeDescription
CaseassignedToUserOrGroupEnumThe type of Case assignee (either User or Group)
CaseassigneeNameStringThe name of the user or user group assigned to the Case
CaseattackTagStringThe name of an ATT&CK Tag applied to the Case
CaseattributeStringAn Attribute corresponding to a Case
CasecalScoreIntegerA stored version of the Case’s CAL Global Threat Score (i.e., the highest CAL Global Threat Score among the Case’s Artifacts that have a CAL Global Threat Score and an active Indicator statusdetermined by CAL). This ThreatConnect-stored version of the CAL Global Threat Score is typically updated daily. The timing may vary per instance. Note that the stored version may not match the CAL Global Threat Score displayed on an Indicator’s or Case’s Details screen, which derives the CAL Global Threat Score on demand.
CasecaseCloseDateDateTimeThe date and time a Case was closed
CasecaseCloseTimeDateTimeThe date and time a Case was closed
CasecaseCloseUserUserThe username of the user who closed a Case
CasecaseDetectionTimeDateTimeThe date and time a security incident or threat (i.e., the event that caused a Case to be opened) was detected (e.g., by the security team)
CasecaseDetectionUserUserThe username of the user who logged a Case’s detection time
CasecaseOccurrenceTimeDateTimeThe date and time a security incident or threat (i.e., the event that caused a Case to be opened) occurred
CasecaseOccurrenceUserUserThe username of the user who logged a Case’s occurrence time
CasecaseOpenDateDateTimeThe date and time a Case was opened
CasecaseOpenTimeDateTimeThe date and time a Case was opened
CasecaseOpenUserUserThe username of the user who opened a Case
CasecreatedByUserThe username of the user who created a Case
CasecreatedByIdIntegerThe user ID number of the user who created a Case
CasedateAddedDateTimeThe date and time a Case was created
CasedescriptionStringThe description of a Case
CasedetectionDueDateTimeThe Service Level Agreement (SLA) detection due date for a Case
CasedetectionOverdueBooleanA flag indicating whether a Case exceeded the allowed completion time for its SLA detection due date
CasehasAllTags()Nested QueryA nested query that returns only Cases with all specified Tags applied to them. The query must be of the form hasAllTags(id=x) or hasAllTags(id IN (x,y)), where x and y represent Tag ID numbers.
CasehasArtifact()Nested QueryA nested query for association to Artifacts
CasehasCase()Nested QueryA nested query for association to other Cases
CasehasGroup()Nested QueryA nested query for association to other Groups
CasehasIndicator()Nested QueryA nested query for association to other Indicators
CasehasNote()Nested QueryA nested query for association to Case Notes
CasehasTag()Nested QueryA nested query for association to labels
CasehasTask()Nested QueryA nested query for association to Tasks
CasehasWorkflowTemplate()Nested QueryA nested query for association to Workflow Templates
CaseidIntegerThe ID number of a Case
CaseidAsStringStringThe ID number of a Case as a String
CaselastUpdatedDateTimeThe date and time a Case was last updated
CasemissingArtifactCountIntegerThe number of required Artifacts that have not been collected for a Case’s Tasks
CasenameStringThe name of a Case
Note
If querying for Cases with a name that contains a backslash character (\), use a double backslash (\\) in the query to escape the single backslash. For more information, see the “Workflow-Related Queries” section of Constructing Query Expressions.
CaseownerIntegerThe ID number for the owner of a Case
CaseownerNameStringThe name of the owner of a Case
CaseresolutionStringThe resolution of a Case
CaseresponseDueDateTimeThe SLA response due date for a Case
CaseresponseOverdueBooleanA flag indicating whether a Case exceeded the allowed completion time for its SLA response due date
CaseseverityEnumThe severity of a Case
CasestatusEnumThe status of a Case
CasetagStringThe name of a Tag applied to a Case
CasetargetIdIntegerThe user or user group ID number for a Case assignee
CasetargetTypeEnumThe target type for a Case (either User or Group)
CasethreatAssessScoreIntegerThe ThreatAssess score of a Case (i.e., the highest ThreatAssess score among the Case’s Artifacts with a ThreatAssess score)
CasetimeToDetectIntegerThe amount of time, in seconds, it took to either detect a security incident or threat after it occurred or open a Case for a security incident or threat after it was detected
CasetimeToRespondIntegerThe amount of time, in seconds, it took to respond to a security incident or threat after it was detected
CasetypeNameStringThe name of a Case
CasexidStringThe XID of a Case

Case Attributes

Table 15 provides the TQL parameters available for Case Attributes.

 

Workflow TypeParameterData TypeDescription
CaseAttributecaseIdIntegerThe ID number of a Case to which the Attribute is added
CaseAttributedateAddedDateTimeThe date and time the Attribute was created
CaseAttributedateValDateTimeThe date value of an Attribute (applies only to certain Attribute Types)
CaseAttributedisplayedBooleanA flag indicating whether the Attribute is displayed in a Case
CaseAttributehasCase()Nested QueryA nested query for association to other Cases
CaseAttributeidIntegerThe ID number of an Attribute
CaseAttributeintValIntegerThe integer value of an Attribute (applies only to certain Attribute Types)
CaseAttributelastModifiedDateTimeThe date and time an Attribute was last modified
CaseAttributemaxSizeIntegerThe maximum length of an Attribute’s text
CaseAttributeownerIntegerThe ID of the owner in which an Attribute exists
CaseAttributeownerNameStringThe name of the owner in which an Attribute exists
CaseAttributeshortTextStringThe short text of an Attribute (applies only to certain Attribute Types)
CaseAttributesourceStringAn Attribute’s source
CaseAttributetextStringThe text of an Attribute (applies only to certain Attribute Types)
CaseAttributetypeIntegerThe ID number of an Attribute’s Type
CaseAttributetypeNameStringThe name of an Attribute’s Type
CaseAttributeuserStringThe username of the user who created an Attribute

Case Notes

Table 16 provides the TQL parameters available for Case Notes.

 

Workflow TypeParameterData TypeDescription
Case NoteartifactIdIntegerThe ID number of an Artifact with which a Case Note is associated
Case NoteauthorUserThe account login of a user who wrote a Case Note
Case NotecaseIdIntegerThe ID number of a Case with which a Case Note is associated
Case NotedataStringThe contents of a Case Note
Case NotedateAddedDateTimeThe date and time a Case Note was created
Case NotehasArtifact()Nested QueryA nested query for association to Artifacts
Case NotehasCase()Nested QueryA nested query for association to Cases
Case NotehasTask()Nested QueryA nested query for association to Tasks
Case NoteidIntegerThe ID number of a Case Note
Case NotelastModifiedDateTimeThe date and time a Case Note was last modified
Case NotesummaryStringText of the first 100 characters of a Case Note
Case NotetaskIdIntegerThe ID number of a Task with which a Case Note is associated
Case NoteworkflowEventIdIntegerThe ID number of a Workflow Timeline event with which a Case Note is associated

Tasks

Table 17 provides the TQL parameters available for Tasks.

 

Workflow TypeParameterData TypeDescription
TaskassignedToUserOrGroupEnumThe type of Task assignee (either User or Group)
TaskassigneeNameStringThe name of the user or user group assigned to the Task
TaskautomatedBooleanA flag indicating whether a Task is automated
TaskcaseIdIntegerThe ID number of a Case with which a Task is associated
TaskcaseIdAsStringStringThe ID number of a Case as a String
TaskcaseSeverityEnumThe severity of a Case associated with a Task
TaskcompletedByUserThe username of a user who completed a Task
TaskcompletedDateDateTimeThe date and time a Task was completed
TaskdescriptionStringThe description of a Task
TaskdueDateDateTimeThe due date for a Task
TaskhasArtifact()Nested QueryA nested query for association to other Artifacts
TaskhasCase()Nested QueryA nested query for association to other Cases
TaskhasNote()Nested QueryA nested query for association to other Case Notes
TaskidIntegerThe ID number of a Task
TaskmissingArtifactCountIntegerThe number of required Artifacts that have not been collected for a Task
TasknameStringThe name of a Task
TaskownerIntegerThe ID of the owner in which a Task exists
TaskownerNameStringThe name of the owner in which a Task exists
TaskrequiredBooleanA flag indicating whether a Task is required or not
TaskstatusEnumThe status of a Task
TasktargetIdLongThe user or user group ID number for a Task assignee
TasktargetTypeEnumThe target type for a Task (either User or Group)
TaskworkflowPhaseIntegerThe Workflow Phase of a Task
TaskworkflowStepIntegerThe Workflow step of a Task
TaskxidStringThe XID of a Task

Workflow Events

Table 18 provides the TQL parameters available for Workflow Events (i.e., Timeline Events).

 

Workflow TypeParameterData TypeDescription
WorkflowEventcaseIdIntegerThe ID number of a Case with which a Timeline Event is associated
WorkflowEventdateAddedDateTimeThe date and time a Timeline Event was added
WorkflowEventdeletedBooleanThe deletion status of a Timeline Event
WorkflowEventdeletedReasonStringThe reason a Timeline Event was deleted
WorkflowEventeventDateDateTimeThe date and time a Timeline Event occurred
WorkflowEventidIntegerThe ID number of a Timeline Event
WorkflowEventlinkStringUpperThe item to which a Timeline Event pertains, in format <type>:<id>
WorkflowEventsummaryStringThe text of a Timeline Event
WorkflowEventsystemGeneratedBooleanFlag determining whether a Timeline Event was created automatically by the system
WorkflowEventuserNameStringThe username associated with a Timeline Event

Workflow Templates

Table 19 provides the TQL parameters available for Workflow Templates.

 

Workflow TypeParameterData TypeDescription
WorkflowTemplateactiveBooleanThe active status of a Workflow Template
WorkflowTemplatedescriptionStringThe description of a Workflow Template
WorkflowTemplateidIntegerThe ID number of a Workflow Template
WorkflowTemplatenameStringThe name of a Workflow Template
WorkflowTemplateownerIntegerThe ID of the owner in which a Workflow Template exists
WorkflowTemplateownerNameStringThe name of the owner in which a Workflow Template exists
WorkflowTemplatetargetIdIntegerThe user or user group ID for the default assignee for a Workflow Template
WorkflowTemplatetargetTypeEnumThe target type for a Workflow Template (either User or Group)
WorkflowTemplateversionIntegerThe version of a Workflow Template

General Parameters

The following subsections describe all the general TQL parameters available in ThreatConnect.

Attribute Types

Table 20 provides the TQL parameters available for Attribute Types.

 

Object TypeParameterData TypeDescription
AttributeTypeassociatedTypeStringThe data type(s) for which an Attribute Type can be used
AttributeTypedefaultBooleanA flag designating whether the Attribute Type is a default Attribute Type
AttributeTypedefaultOwnerIdIntegerThe ID number of the owner in which an Attribute Preference is configured for the Attribute Type
AttributeTypedescriptionStringThe description of an Attribute Type
AttributeTypeidIntegerThe ID number of an Attribute Type
AttributeTypemaxsizeIntegerThe maximum size, in characters, of an Attribute Type’s value.
AttributeTypenameStringThe name of an Attribute Type
AttributeTypeownerIntegerThe ID number for the owner of an Attribute Type
AttributeTypeownerNameStringThe name of the owner of an Attribute Type
AttributeTypesystemBooleanA flag designating whether to show System-level Attributes (TRUE) or owner-specific Attributes only (FALSE)

Indicator Exclusion Lists

Table 21 provides the TQL parameters available for Indicator Exclusion Lists.

Important
Querying for Indicator Exclusion Lists with TQL is available only in the ThreatConnect v3 API.

 

Object TypeParameterData TypeDescription
IndicatorExclusionListsactiveBooleanSpecifies whether an Indicator Exclusion List is active
IndicatorExclusionListsidIntegerThe ID number of an Indicator Exclusion List
IndicatorExclusionListsmanagedBooleanSpecifies whether an Indicator Exclusion List is a non-custom, default Exclusion List managed at the System level
IndicatorExclusionListsnameStringThe name of an Indicator Exclusion List
IndicatorExclusionListsownerStringThe ID number of the owner to which an owner-level Indicator Exclusion List applies

Posts

Table 22 provides the TQL parameters available for posts (Notes).

Important
Querying for posts with TQL is available only in the ThreatConnect v3 API.

 

Object TypeParameterData TypeDescription
PostsdateAddedDateTimeThe date and time the post was created
PostsdateModifiedDateTimeThe date and time the post was last modified
PostsidIntegerThe ID number of the post
PostsobjectIdString

The type and ID combination of the object that the post is added to (e.g., B12345)

Acceptable type identifiers:

  • B (Group)
  • I (Indicator)
  • T (Tag)
  • V (Victim)
PoststextStringThe contents of the post

ThreatConnect® is a registered trademark, and CAL™ is a trademark, of ThreatConnect, Inc.
DomainTools® is a registered trademark of DomainTools, LLC.
VirusTotal™ is a trademark of Google, Inc.

MITRE ATT&CK® and ATT&CK® are registered trademarks of The MITRE Corporation.

20052-04 v.28.A