bag_has_key function in APL to check whether a dynamic property bag contains a specific key. This is helpful when your data includes semi-structured or nested fields encoded as dynamic objects, such as JSON-formatted logs or telemetry metadata.
You often encounter property bags in observability data where log entries, spans, or alerts carry key–value metadata. Use bag_has_key to filter, conditionally process, or join such records based on the existence of specific keys, without needing to extract the values themselves.
For users of other query languages
If you come from other query languages, this section explains how to adjust your existing queries to achieve the same results in APL.Splunk SPL users
Splunk SPL users
In Splunk SPL, you often check whether a key exists in a JSON object using 
spath and conditional logic. APL simplifies this with bag_has_key, which returns a boolean directly and avoids explicit parsing.ANSI SQL users
ANSI SQL users
ANSI SQL doesn’t include native support for property bags or dynamic fields. You typically use JSON functions to access keys in JSON-formatted strings. In APL, dynamic fields are first-class, and 
bag_has_key provides direct support for key existence checks.Usage
Syntax
Parameters
| Name | Type | Description | 
|---|---|---|
bag | dynamic | A dynamic value representing a property bag (e.g., JSON object). | 
key | string | The key to check for within the property bag. | 
Returns
Returns abool value:
trueif the specified key exists in the property bagfalseotherwise
Use case examples
- Log analysis
 - OpenTelemetry traces
 - Security logs
 
Use Run in PlaygroundOutput
The query filters logs where the synthetic 
bag_has_key to filter log entries that include a specific metadata key embedded in a dynamic object.Query| _time | id | method | uri | status | metadata | 
|---|---|---|---|---|---|
| 2025-05-27T12:30Z | u123 | GET | /login | 200 | {‘source’:‘cdn’,‘env’:‘prod’} | 
| 2025-05-27T12:31Z | u124 | POST | /cart/checkout | 500 | {‘source’:‘cdn’,‘env’:‘prod’} | 
metadata bag includes the key 'env'.