## Create a sharable link to a query result `client.Workers.Observability.SharedQueries.New(ctx, params) (*ObservabilitySharedQueryNewResponse, error)` **post** `/accounts/{account_id}/workers/observability/shared/query` Shared queries store the results of a previously run query, allowing you to share the results with others. ### Parameters - `params ObservabilitySharedQueryNewParams` - `AccountID param.Field[string]` Path param: Your Cloudflare account ID. - `QueryID param.Field[string]` Body param: Identifier for the query. When parameters are omitted, this ID is used to load a previously saved query's parameters. When providing parameters inline, pass any identifier (e.g. an ad-hoc ID). - `Timeframe param.Field[ObservabilitySharedQueryNewParamsTimeframe]` Body param: Timeframe for the query using Unix timestamps in milliseconds. Narrower timeframes produce faster responses and more specific results. - `From float64` Start timestamp for the query timeframe (Unix timestamp in milliseconds) - `To float64` End timestamp for the query timeframe (Unix timestamp in milliseconds) - `Chart param.Field[bool]` Body param: When true, includes time-series data in the response. - `Compare param.Field[bool]` Body param: When true, includes a comparison dataset from the previous time period of equal length. - `Dry param.Field[bool]` Body param: When true, executes the query without persisting the results. Useful for validation or previewing. - `Granularity param.Field[float64]` Body param: Number of time-series buckets. Only used when view is 'calculations'. Omit to let the system auto-detect an appropriate granularity. - `IgnoreSeries param.Field[bool]` Body param: When true, omits time-series data from the response and returns only aggregated values. Reduces response size when series are not needed. - `Limit param.Field[float64]` Body param: Maximum number of events to return when view is 'events'. Also controls the number of group-by rows when view is 'calculations'. - `Offset param.Field[string]` Body param: Cursor for pagination in event, trace, and invocation views. Pass the $metadata.id of the last returned item to fetch the next page. - `OffsetBy param.Field[float64]` Body param: Numeric offset for paginating grouped/pattern results (top-N lists). Use together with limit. Not used by cursor-based pagination. - `OffsetDirection param.Field[string]` Body param: Pagination direction: 'next' for forward, 'prev' for backward. - `Parameters param.Field[ObservabilitySharedQueryNewParamsParameters]` Body param: Query parameters defining what data to retrieve — filters, calculations, group-bys, and ordering. In practice this should always be provided for ad-hoc queries. Only omit when executing a previously saved query by queryId. Use the keys and values endpoints to discover available fields before building filters. - `Calculations []ObservabilitySharedQueryNewParamsParametersCalculation` Aggregation calculations to compute (e.g. count, avg, p99). Each calculation produces aggregate values and optional time-series data. - `Operator ObservabilitySharedQueryNewParamsParametersCalculationsOperator` Aggregation operator to apply. Examples: count, avg, sum, min, max, median, p90, p95, p99, uniq, stddev, variance. - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorUniq ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "uniq"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorCount ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "count"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorMax ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "max"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorMin ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "min"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorSum ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "sum"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorAvg ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "avg"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorMedian ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "median"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP001 ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "p001"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP01 ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "p01"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP05 ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "p05"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP10 ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "p10"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP25 ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "p25"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP75 ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "p75"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP90 ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "p90"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP95 ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "p95"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP99 ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "p99"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP999 ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "p999"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorStddev ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "stddev"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorVariance ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "variance"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorCountDistinct ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "COUNT_DISTINCT"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorCountUppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "COUNT"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorMaxUppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "MAX"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorMinUppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "MIN"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorSumUppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "SUM"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorAvgUppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "AVG"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorMedianUppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "MEDIAN"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP001Uppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "P001"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP01Uppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "P01"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP05Uppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "P05"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP10Uppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "P10"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP25Uppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "P25"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP75Uppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "P75"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP90Uppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "P90"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP95Uppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "P95"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP99Uppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "P99"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorP999Uppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "P999"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorStddevUppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "STDDEV"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsOperatorVarianceUppercase ObservabilitySharedQueryNewParamsParametersCalculationsOperator = "VARIANCE"` - `Alias string` Custom label for this calculation in the results. Useful for distinguishing multiple calculations. - `Key string` Field name to calculate over. Must exist in the data — verify with the keys endpoint. Omit for operators that don't require a key (e.g. count). - `KeyType ObservabilitySharedQueryNewParamsParametersCalculationsKeyType` Data type of the key. Required when key is provided to ensure correct aggregation. - `const ObservabilitySharedQueryNewParamsParametersCalculationsKeyTypeString ObservabilitySharedQueryNewParamsParametersCalculationsKeyType = "string"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsKeyTypeNumber ObservabilitySharedQueryNewParamsParametersCalculationsKeyType = "number"` - `const ObservabilitySharedQueryNewParamsParametersCalculationsKeyTypeBoolean ObservabilitySharedQueryNewParamsParametersCalculationsKeyType = "boolean"` - `Datasets []string` Datasets to query. Leave empty to query all available datasets. - `FilterCombination ObservabilitySharedQueryNewParamsParametersFilterCombination` Logical operator for combining top-level filters: 'and' (all must match) or 'or' (any must match). Defaults to 'and'. - `const ObservabilitySharedQueryNewParamsParametersFilterCombinationAnd ObservabilitySharedQueryNewParamsParametersFilterCombination = "and"` - `const ObservabilitySharedQueryNewParamsParametersFilterCombinationOr ObservabilitySharedQueryNewParamsParametersFilterCombination = "or"` - `const ObservabilitySharedQueryNewParamsParametersFilterCombinationAndUppercase ObservabilitySharedQueryNewParamsParametersFilterCombination = "AND"` - `const ObservabilitySharedQueryNewParamsParametersFilterCombinationOrUppercase ObservabilitySharedQueryNewParamsParametersFilterCombination = "OR"` - `Filters []ObservabilitySharedQueryNewParamsParametersFilter` Filters to narrow query results. Use the keys and values endpoints to discover available fields before building filters. Supports nested groups via kind: 'group'. Maximum nesting depth is 4. - `type ObservabilitySharedQueryNewParamsParametersFiltersObject struct{…}` - `FilterCombination ObservabilitySharedQueryNewParamsParametersFiltersObjectFilterCombination` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFilterCombinationAnd ObservabilitySharedQueryNewParamsParametersFiltersObjectFilterCombination = "and"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFilterCombinationOr ObservabilitySharedQueryNewParamsParametersFiltersObjectFilterCombination = "or"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFilterCombinationAndUppercase ObservabilitySharedQueryNewParamsParametersFiltersObjectFilterCombination = "AND"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFilterCombinationOrUppercase ObservabilitySharedQueryNewParamsParametersFiltersObjectFilterCombination = "OR"` - `Filters []ObservabilitySharedQueryNewParamsParametersFiltersObjectFilter` - `type ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersObject struct{…}` - `FilterCombination ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersObjectFilterCombination` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersObjectFilterCombinationAnd ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersObjectFilterCombination = "and"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersObjectFilterCombinationOr ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersObjectFilterCombination = "or"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersObjectFilterCombinationAndUppercase ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersObjectFilterCombination = "AND"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersObjectFilterCombinationOrUppercase ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersObjectFilterCombination = "OR"` - `Filters []unknown` - `Kind ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersObjectKind` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersObjectKindGroup ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersObjectKind = "group"` - `type ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeaf struct{…}` A filter condition applied to query results. Use the keys and values endpoints to discover available fields and their values before constructing filters. - `Key string` Filter field name. Use verified keys from previous query results or the keys endpoint. Common keys include $metadata.service, $metadata.origin, $metadata.trigger, $metadata.message, and $metadata.error. - `Operation ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation` Comparison operator. String operators: includes, not_includes, starts_with, ends_with, regex. Existence: exists, is_null. Set membership: in, not_in (comma-separated values). Numeric: eq, neq, gt, gte, lt, lte. - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationIncludes ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "includes"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationNotIncludes ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "not_includes"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationStartsWith ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "starts_with"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationEndsWith ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "ends_with"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationRegex ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "regex"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationExists ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "exists"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationIsNull ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "is_null"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationIn ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "in"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationNotIn ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "not_in"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationEq ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "eq"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationNeq ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "neq"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationGt ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "gt"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationGte ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "gte"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationLt ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "lt"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationLte ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "lte"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationEquals ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "="` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationNotEquals ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "!="` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationGreater ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = ">"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationGreaterOrEquals ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = ">="` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationLess ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "<"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationLessOrEquals ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "<="` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationIncludesUppercase ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "INCLUDES"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationDoesNotInclude ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "DOES_NOT_INCLUDE"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationMatchRegex ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "MATCH_REGEX"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationExistsUppercase ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "EXISTS"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationDoesNotExist ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "DOES_NOT_EXIST"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationInUppercase ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "IN"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationNotInUppercase ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "NOT_IN"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationStartsWithUppercase ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "STARTS_WITH"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperationEndsWithUppercase ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafOperation = "ENDS_WITH"` - `Type ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafType` Data type of the filter field. Must match the actual type of the key being filtered. - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafTypeString ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafType = "string"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafTypeNumber ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafType = "number"` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafTypeBoolean ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafType = "boolean"` - `Kind ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafKind` Discriminator for leaf filter nodes. Always 'filter' when present; may be omitted. - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafKindFilter ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafKind = "filter"` - `Value ObservabilitySharedQueryNewParamsParametersFiltersObjectFiltersWorkersObservabilityFilterLeafValueUnion` Comparison value. Must match actual values in your data — verify with the values endpoint. Ensure the value type (string/number/boolean) matches the field type. String comparisons are case-sensitive. Regex uses RE2 syntax (no lookaheads/lookbehinds). - `UnionString` - `UnionFloat` - `UnionBool` - `Kind ObservabilitySharedQueryNewParamsParametersFiltersObjectKind` - `const ObservabilitySharedQueryNewParamsParametersFiltersObjectKindGroup ObservabilitySharedQueryNewParamsParametersFiltersObjectKind = "group"` - `type ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeaf struct{…}` A filter condition applied to query results. Use the keys and values endpoints to discover available fields and their values before constructing filters. - `Key string` Filter field name. Use verified keys from previous query results or the keys endpoint. Common keys include $metadata.service, $metadata.origin, $metadata.trigger, $metadata.message, and $metadata.error. - `Operation ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation` Comparison operator. String operators: includes, not_includes, starts_with, ends_with, regex. Existence: exists, is_null. Set membership: in, not_in (comma-separated values). Numeric: eq, neq, gt, gte, lt, lte. - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationIncludes ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "includes"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationNotIncludes ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "not_includes"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationStartsWith ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "starts_with"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationEndsWith ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "ends_with"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationRegex ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "regex"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationExists ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "exists"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationIsNull ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "is_null"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationIn ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "in"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationNotIn ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "not_in"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationEq ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "eq"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationNeq ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "neq"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationGt ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "gt"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationGte ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "gte"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationLt ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "lt"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationLte ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "lte"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationEquals ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "="` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationNotEquals ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "!="` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationGreater ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = ">"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationGreaterOrEquals ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = ">="` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationLess ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "<"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationLessOrEquals ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "<="` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationIncludesUppercase ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "INCLUDES"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationDoesNotInclude ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "DOES_NOT_INCLUDE"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationMatchRegex ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "MATCH_REGEX"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationExistsUppercase ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "EXISTS"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationDoesNotExist ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "DOES_NOT_EXIST"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationInUppercase ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "IN"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationNotInUppercase ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "NOT_IN"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationStartsWithUppercase ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "STARTS_WITH"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperationEndsWithUppercase ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafOperation = "ENDS_WITH"` - `Type ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafType` Data type of the filter field. Must match the actual type of the key being filtered. - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafTypeString ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafType = "string"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafTypeNumber ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafType = "number"` - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafTypeBoolean ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafType = "boolean"` - `Kind ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafKind` Discriminator for leaf filter nodes. Always 'filter' when present; may be omitted. - `const ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafKindFilter ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafKind = "filter"` - `Value ObservabilitySharedQueryNewParamsParametersFiltersWorkersObservabilityFilterLeafValueUnion` Comparison value. Must match actual values in your data — verify with the values endpoint. Ensure the value type (string/number/boolean) matches the field type. String comparisons are case-sensitive. Regex uses RE2 syntax (no lookaheads/lookbehinds). - `UnionString` - `UnionFloat` - `UnionBool` - `GroupBys []ObservabilitySharedQueryNewParamsParametersGroupBy` Fields to group calculation results by. Only applicable when the query view is 'calculations'. Produces per-group aggregate values. - `Type ObservabilitySharedQueryNewParamsParametersGroupBysType` Data type of the group-by field. - `const ObservabilitySharedQueryNewParamsParametersGroupBysTypeString ObservabilitySharedQueryNewParamsParametersGroupBysType = "string"` - `const ObservabilitySharedQueryNewParamsParametersGroupBysTypeNumber ObservabilitySharedQueryNewParamsParametersGroupBysType = "number"` - `const ObservabilitySharedQueryNewParamsParametersGroupBysTypeBoolean ObservabilitySharedQueryNewParamsParametersGroupBysType = "boolean"` - `Value string` Field name to group results by (e.g. $metadata.service, $metadata.statusCode). - `Havings []ObservabilitySharedQueryNewParamsParametersHaving` Post-aggregation filters applied to calculation results. Use to filter groups after aggregation (e.g. only groups where count > 100). - `Key string` Calculation alias or operator to filter on after aggregation. - `Operation ObservabilitySharedQueryNewParamsParametersHavingsOperation` Numeric comparison operator: eq, neq, gt, gte, lt, lte. - `const ObservabilitySharedQueryNewParamsParametersHavingsOperationEq ObservabilitySharedQueryNewParamsParametersHavingsOperation = "eq"` - `const ObservabilitySharedQueryNewParamsParametersHavingsOperationNeq ObservabilitySharedQueryNewParamsParametersHavingsOperation = "neq"` - `const ObservabilitySharedQueryNewParamsParametersHavingsOperationGt ObservabilitySharedQueryNewParamsParametersHavingsOperation = "gt"` - `const ObservabilitySharedQueryNewParamsParametersHavingsOperationGte ObservabilitySharedQueryNewParamsParametersHavingsOperation = "gte"` - `const ObservabilitySharedQueryNewParamsParametersHavingsOperationLt ObservabilitySharedQueryNewParamsParametersHavingsOperation = "lt"` - `const ObservabilitySharedQueryNewParamsParametersHavingsOperationLte ObservabilitySharedQueryNewParamsParametersHavingsOperation = "lte"` - `Value float64` Threshold value to compare the calculation result against. - `Limit int64` Maximum number of group-by rows to return in calculation results. A value of 10 is a sensible default for most use cases. - `Needle ObservabilitySharedQueryNewParamsParametersNeedle` Full-text search expression applied across all event fields. Matches events containing the specified text. - `Value ObservabilitySharedQueryNewParamsParametersNeedleValueUnion` The text or pattern to search for. - `UnionString` - `UnionFloat` - `UnionBool` - `IsRegex bool` When true, treats the value as a regular expression (RE2 syntax). - `MatchCase bool` When true, performs a case-sensitive search. Defaults to case-insensitive. - `OrderBy ObservabilitySharedQueryNewParamsParametersOrderBy` Ordering for grouped calculation results. Only effective when a group-by is present. - `Value string` Alias of the calculation to order results by. Must match the alias (or operator) of a calculation in the query. - `Order ObservabilitySharedQueryNewParamsParametersOrderByOrder` Sort direction: 'asc' for ascending, 'desc' for descending. - `const ObservabilitySharedQueryNewParamsParametersOrderByOrderAsc ObservabilitySharedQueryNewParamsParametersOrderByOrder = "asc"` - `const ObservabilitySharedQueryNewParamsParametersOrderByOrderDesc ObservabilitySharedQueryNewParamsParametersOrderByOrder = "desc"` - `View param.Field[ObservabilitySharedQueryNewParamsView]` Body param: Controls the shape of the response. 'events': individual log lines matching the query. 'calculations': aggregated metrics (count, avg, p99, etc.) with optional group-by breakdowns and time-series. 'invocations': events grouped by request ID. 'traces': distributed trace summaries. 'agents': Durable Object agent summaries. - `const ObservabilitySharedQueryNewParamsViewTraces ObservabilitySharedQueryNewParamsView = "traces"` - `const ObservabilitySharedQueryNewParamsViewEvents ObservabilitySharedQueryNewParamsView = "events"` - `const ObservabilitySharedQueryNewParamsViewCalculations ObservabilitySharedQueryNewParamsView = "calculations"` - `const ObservabilitySharedQueryNewParamsViewInvocations ObservabilitySharedQueryNewParamsView = "invocations"` - `const ObservabilitySharedQueryNewParamsViewRequests ObservabilitySharedQueryNewParamsView = "requests"` - `const ObservabilitySharedQueryNewParamsViewAgents ObservabilitySharedQueryNewParamsView = "agents"` ### Returns - `type ObservabilitySharedQueryNewResponse struct{…}` - `ID string` Specify the ID of the shared query. ### Example ```go package main import ( "context" "fmt" "github.com/stainless-sdks/cloudflare-go" "github.com/stainless-sdks/cloudflare-go/option" "github.com/stainless-sdks/cloudflare-go/workers" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) sharedQuery, err := client.Workers.Observability.SharedQueries.New(context.TODO(), workers.ObservabilitySharedQueryNewParams{ AccountID: cloudflare.F("account_id"), QueryID: cloudflare.F("queryId"), Timeframe: cloudflare.F(workers.ObservabilitySharedQueryNewParamsTimeframe{ From: cloudflare.F(0.000000), To: cloudflare.F(0.000000), }), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", sharedQuery.ID) } ``` #### Response ```json { "errors": [ { "message": "message" } ], "messages": [ { "message": "Successful request" } ], "result": { "id": "id" }, "success": true } ```