---
title: "CreateQuery"
method: POST
path: "/v1/namespaces/{tenant_meta.namespace}/queries"
tags: ["QueryService"]
---

# CreateQuery

`POST /v1/namespaces/{tenant_meta.namespace}/queries`

Queries metrics for specific values. It returns back a
list of metric UUIDs. The caller must call the List or Get metric
to retrieve the individual metric values.

## Path parameters

- `tenant_meta.namespace` string, required

## Request body

- QueryServiceCreateQueryBody — Query implements the metric query requests.
  - `meta` V1Meta, required — Common fields for all Endor Labs resources.
    - `annotations` object — Annotations can be used to attach metadata to a resource message. Annotation values can be small or large, structured or unstructured, and may include characters not permitted by labels. The keys may contain alphanumerics, underscores (_), dots (.) and dashes (-). The values of an annotation must be 16384 bytes or smaller.
    - `create_time` string, date-time — Time the resource was created. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `created_by` string — Name and authentication source of the user who created the object, for example, ewok@endor.ai@google@api-key.
    - `description` string — Resource description. Must be less than 1024 bytes.
    - `index_data` V1IndexData — IndexData is used to index the resource for search. It's an internal object.
      - `data` string[]
      - `search_score` number, float — search_score is the score of the resource for search. Internal use only.
      - `tenant` string
      - `will_be_deleted_at` string, date-time — Time that the resource will be deleted.
    - `kind` string — Resource kind, for example, HelloResponse. Auto-generated using the protobuf message proto.MessageName().Name().
    - `name` string, required — Resource name. Must be 63 characters or less.
    - `parent_kind` string — Parent object resource kind, for example, Project.
    - `parent_uuid` string — Parent object UUID.
    - `references` object — Map of objects referenced in a query API.
    - `tags` string[] — List of tags attached to the resource. Tags can be used to select objects and to find collections of objects that satisfy certain conditions. A tag must be 255 characters or less.
    - `update_time` string, date-time — Time the resource was last updated. Note: Updated on all create/patch/delete operations. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `updated_by` string — Name and authentication source of the last user who updated the object, for example, vulnerabilityingestor@endor.ai@x509.
    - `upsert_time` string, date-time — Time the resource was last upserted. Note: create_time is only set the first time the resource is created. upsert_time is set every time the resource is upseted. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `version` string — Message version.
  - `spec` V1QuerySpec
    - `query_response` GoogleprotobufAny — `Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message. Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type. Example 1: Pack and unpack a message in C++. Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... } Example 2: Pack and unpack a message in Java. Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); } Example 3: Pack and unpack a message in Python. foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ... Example 4: Pack and unpack a message in Go foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... } The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z". JSON ==== The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example: package google.profile; message Person { string first_name = 1; string last_name = 2; } { "@type": "type.googleapis.com/google.profile.Person", "firstName": <string>, "lastName": <string> } If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]): { "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }
      - `@type` string — A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.
    - `query_spec` QueryQuerySpec
      - `kind` string, required — The parent object kind of the metric.
      - `list_parameters` V1ListParameters — Parameters for a list request.
        - `action` string — Action to be executed with a request. Not supported for all endpoints.
        - `ci_run_uuid` string — Only return objects from PR scans that match this context id.
        - `count` boolean — Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.
        - `disable_pagination` boolean — If true, the results will not be paginated and only the first page will be returned. The order of the results is not guaranteed.
        - `filter` string — String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses. Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".
        - `group` ListParametersGroup — Contains the group parameters.
          - `aggregation_paths` string — Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.
          - `show_aggregation_uuids` boolean — Return the UUID of each object in each group as specified by aggregation_paths.
          - `unique_count_paths` string — List of fields for which we want the unique count. Supports arrays and maps.
          - `unique_value_paths` string — List of fields for which we want the unique values. Supports arrays and maps.
        - `group_by_time` ListParametersGroupByTime — Contains the group_by_time parameters.
          - `aggregation_operator` string
          - `aggregation_paths` string — Group the objects based on this time field, for example, meta.create_time.
          - `aggregation_value_field` string
          - `end_time` string, date-time — End of the time period to group objects. Defaults to the current time.
          - `group_size` integer — Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.
          - `interval` 'GROUP_BY_TIME_INTERVAL_UNSPECIFIED' | 'GROUP_BY_TIME_INTERVAL_YEAR' | 'GROUP_BY_TIME_INTERVAL_QUARTER' | 'GROUP_BY_TIME_INTERVAL_MONTH' | 'GROUP_BY_TIME_INTERVAL_WEEK' | 'GROUP_BY_TIME_INTERVAL_DAY' | 'GROUP_BY_TIME_INTERVAL_HOUR' | 'GROUP_BY_TIME_INTERVAL_MINUTE' | 'GROUP_BY_TIME_INTERVAL_SECOND'
          - `mode` string — The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.
          - `show_aggregation_uuids` boolean — Return the UUIDs of the objects in each group.
          - `start_time` string, date-time — Beginning of the time period to group objects. Defaults to the beginning of time.
        - `mask` string — List of fields to return (all fields are returned by default).
        - `page_id` string — Page ID to retrieve.
        - `page_size` integer — Set the page size to limit the number of results returned. Default: 100. Max: 500.
        - `page_token` integer — Set the page token to start from. Use page tokens to page through list results or list specific pages.
        - `search_query` V1SearchQuery — SearchQuery is the top level message for search queries.
          - `filters` V1SearchClause[] — filters are used to filter the results.
            - `autocomplete` V1SearchClauseAutocomplete — Search clause for the autocomplete operator.
              - …
            - `compound` V1SearchQuery — recursive
            - `equals` V1SearchClauseEquals — Search clause for equals operator. Field must be indexed as token.
              - …
            - `in` V1SearchClauseIn — Search clause for in operator. Field must be indexed as token.
              - …
            - `phrase` V1SearchClausePhrase — Search clause for phrase operator. Field must be indexed as text.
              - …
            - `query_string` V1SearchClauseQueryString — Search clause for query string operator. Field must be indexed as text.
              - …
            - `range` V1SearchClauseRange — Search clause for the range operator. Field must be indexed as number.
              - …
            - `regex` V1SearchClauseRegex — Regex is used to search for a string that matches a regular expression.
              - …
            - `text` V1SearchClauseText — Search clause for text operator. Field must be indexed as text.
              - …
            - `wildcard` V1SearchClauseWildcard — Search clause for the wildcard operator.
              - …
          - `must` V1SearchClause[] — must clauses must be satisfied.
            - `autocomplete` V1SearchClauseAutocomplete — Search clause for the autocomplete operator.
              - …
            - `compound` V1SearchQuery — recursive
            - `equals` V1SearchClauseEquals — Search clause for equals operator. Field must be indexed as token.
              - …
            - `in` V1SearchClauseIn — Search clause for in operator. Field must be indexed as token.
              - …
            - `phrase` V1SearchClausePhrase — Search clause for phrase operator. Field must be indexed as text.
              - …
            - `query_string` V1SearchClauseQueryString — Search clause for query string operator. Field must be indexed as text.
              - …
            - `range` V1SearchClauseRange — Search clause for the range operator. Field must be indexed as number.
              - …
            - `regex` V1SearchClauseRegex — Regex is used to search for a string that matches a regular expression.
              - …
            - `text` V1SearchClauseText — Search clause for text operator. Field must be indexed as text.
              - …
            - `wildcard` V1SearchClauseWildcard — Search clause for the wildcard operator.
              - …
          - `must_not` V1SearchClause[] — must_not clauses must not be satisfied for a result to be returned.
            - `autocomplete` V1SearchClauseAutocomplete — Search clause for the autocomplete operator.
              - …
            - `compound` V1SearchQuery — recursive
            - `equals` V1SearchClauseEquals — Search clause for equals operator. Field must be indexed as token.
              - …
            - `in` V1SearchClauseIn — Search clause for in operator. Field must be indexed as token.
              - …
            - `phrase` V1SearchClausePhrase — Search clause for phrase operator. Field must be indexed as text.
              - …
            - `query_string` V1SearchClauseQueryString — Search clause for query string operator. Field must be indexed as text.
              - …
            - `range` V1SearchClauseRange — Search clause for the range operator. Field must be indexed as number.
              - …
            - `regex` V1SearchClauseRegex — Regex is used to search for a string that matches a regular expression.
              - …
            - `text` V1SearchClauseText — Search clause for text operator. Field must be indexed as text.
              - …
            - `wildcard` V1SearchClauseWildcard — Search clause for the wildcard operator.
              - …
          - `should` V1SearchClause[] — should clauses should be satisfied for a result to be returned. Mainly used for partial matching.
            - `autocomplete` V1SearchClauseAutocomplete — Search clause for the autocomplete operator.
              - …
            - `compound` V1SearchQuery — recursive
            - `equals` V1SearchClauseEquals — Search clause for equals operator. Field must be indexed as token.
              - …
            - `in` V1SearchClauseIn — Search clause for in operator. Field must be indexed as token.
              - …
            - `phrase` V1SearchClausePhrase — Search clause for phrase operator. Field must be indexed as text.
              - …
            - `query_string` V1SearchClauseQueryString — Search clause for query string operator. Field must be indexed as text.
              - …
            - `range` V1SearchClauseRange — Search clause for the range operator. Field must be indexed as number.
              - …
            - `regex` V1SearchClauseRegex — Regex is used to search for a string that matches a regular expression.
              - …
            - `text` V1SearchClauseText — Search clause for text operator. Field must be indexed as text.
              - …
            - `wildcard` V1SearchClauseWildcard — Search clause for the wildcard operator.
              - …
        - `sort` ListParametersSortEntry — Contains the sort parameters.
          - `order` 'SORT_ENTRY_ORDER_UNSPECIFIED' | 'SORT_ENTRY_ORDER_ASC' | 'SORT_ENTRY_ORDER_DESC'
          - `path` string — Field to sort objects by, for example, meta.name.
        - `traverse` boolean — Get data from any child namespaces as well.
      - `references` V1QueryReference[]
        - `connect_from` string — The parent field from which we are connecting. If emtpy, it is UUID.
        - `connect_operator` string — The operation that should be used to connect parent and child. If empty it is the equal operator. Only supporting scalar value operators at this time.
        - `connect_to` string — The child field to connect to. If empty, it is parent_uuid.
        - `query_spec` QueryQuerySpec — recursive
      - `return_as` string — Determines the alias name for reference that should be returned. If not specified, the value of kind is used. This field can be used to query a same kind several times. For instance, you can use this field to list and do a count on a same kind.
      - `with` QueryJoinFilters[] — A list of join filters that identify the kind + filter of the other collections that should be joined. For example, if we are looking for projects that are also have repositories with specific attributes, we can use "with" : [{ "Kind" : "Repository", "Filter" : "filter for the repository", }] With is only available for the PackageVersion and Project resource kinds at this time.
        - `filter` string
        - `kind` string, required
  - `tenant_meta` object, required — The Tenant Metadata restricts access to a specific tenant.
  - `uuid` string — The UUID of the resource.

## Response `200`

A successful response.

- V1Query — Query implements the metric query requests.
  - `meta` V1Meta, required — Common fields for all Endor Labs resources.
    - `annotations` object — Annotations can be used to attach metadata to a resource message. Annotation values can be small or large, structured or unstructured, and may include characters not permitted by labels. The keys may contain alphanumerics, underscores (_), dots (.) and dashes (-). The values of an annotation must be 16384 bytes or smaller.
    - `create_time` string, date-time — Time the resource was created. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `created_by` string — Name and authentication source of the user who created the object, for example, ewok@endor.ai@google@api-key.
    - `description` string — Resource description. Must be less than 1024 bytes.
    - `index_data` V1IndexData — IndexData is used to index the resource for search. It's an internal object.
      - `data` string[]
      - `search_score` number, float — search_score is the score of the resource for search. Internal use only.
      - `tenant` string
      - `will_be_deleted_at` string, date-time — Time that the resource will be deleted.
    - `kind` string — Resource kind, for example, HelloResponse. Auto-generated using the protobuf message proto.MessageName().Name().
    - `name` string, required — Resource name. Must be 63 characters or less.
    - `parent_kind` string — Parent object resource kind, for example, Project.
    - `parent_uuid` string — Parent object UUID.
    - `references` object — Map of objects referenced in a query API.
    - `tags` string[] — List of tags attached to the resource. Tags can be used to select objects and to find collections of objects that satisfy certain conditions. A tag must be 255 characters or less.
    - `update_time` string, date-time — Time the resource was last updated. Note: Updated on all create/patch/delete operations. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `updated_by` string — Name and authentication source of the last user who updated the object, for example, vulnerabilityingestor@endor.ai@x509.
    - `upsert_time` string, date-time — Time the resource was last upserted. Note: create_time is only set the first time the resource is created. upsert_time is set every time the resource is upseted. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `version` string — Message version.
  - `spec` V1QuerySpec
    - `query_response` GoogleprotobufAny — `Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message. Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type. Example 1: Pack and unpack a message in C++. Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... } Example 2: Pack and unpack a message in Java. Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); } Example 3: Pack and unpack a message in Python. foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ... Example 4: Pack and unpack a message in Go foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... } The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z". JSON ==== The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example: package google.profile; message Person { string first_name = 1; string last_name = 2; } { "@type": "type.googleapis.com/google.profile.Person", "firstName": <string>, "lastName": <string> } If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]): { "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }
      - `@type` string — A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.
    - `query_spec` QueryQuerySpec
      - `kind` string, required — The parent object kind of the metric.
      - `list_parameters` V1ListParameters — Parameters for a list request.
        - `action` string — Action to be executed with a request. Not supported for all endpoints.
        - `ci_run_uuid` string — Only return objects from PR scans that match this context id.
        - `count` boolean — Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.
        - `disable_pagination` boolean — If true, the results will not be paginated and only the first page will be returned. The order of the results is not guaranteed.
        - `filter` string — String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses. Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".
        - `group` ListParametersGroup — Contains the group parameters.
          - `aggregation_paths` string — Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.
          - `show_aggregation_uuids` boolean — Return the UUID of each object in each group as specified by aggregation_paths.
          - `unique_count_paths` string — List of fields for which we want the unique count. Supports arrays and maps.
          - `unique_value_paths` string — List of fields for which we want the unique values. Supports arrays and maps.
        - `group_by_time` ListParametersGroupByTime — Contains the group_by_time parameters.
          - `aggregation_operator` string
          - `aggregation_paths` string — Group the objects based on this time field, for example, meta.create_time.
          - `aggregation_value_field` string
          - `end_time` string, date-time — End of the time period to group objects. Defaults to the current time.
          - `group_size` integer — Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.
          - `interval` 'GROUP_BY_TIME_INTERVAL_UNSPECIFIED' | 'GROUP_BY_TIME_INTERVAL_YEAR' | 'GROUP_BY_TIME_INTERVAL_QUARTER' | 'GROUP_BY_TIME_INTERVAL_MONTH' | 'GROUP_BY_TIME_INTERVAL_WEEK' | 'GROUP_BY_TIME_INTERVAL_DAY' | 'GROUP_BY_TIME_INTERVAL_HOUR' | 'GROUP_BY_TIME_INTERVAL_MINUTE' | 'GROUP_BY_TIME_INTERVAL_SECOND'
          - `mode` string — The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.
          - `show_aggregation_uuids` boolean — Return the UUIDs of the objects in each group.
          - `start_time` string, date-time — Beginning of the time period to group objects. Defaults to the beginning of time.
        - `mask` string — List of fields to return (all fields are returned by default).
        - `page_id` string — Page ID to retrieve.
        - `page_size` integer — Set the page size to limit the number of results returned. Default: 100. Max: 500.
        - `page_token` integer — Set the page token to start from. Use page tokens to page through list results or list specific pages.
        - `search_query` V1SearchQuery — SearchQuery is the top level message for search queries.
          - `filters` V1SearchClause[] — filters are used to filter the results.
            - `autocomplete` V1SearchClauseAutocomplete — Search clause for the autocomplete operator.
              - …
            - `compound` V1SearchQuery — recursive
            - `equals` V1SearchClauseEquals — Search clause for equals operator. Field must be indexed as token.
              - …
            - `in` V1SearchClauseIn — Search clause for in operator. Field must be indexed as token.
              - …
            - `phrase` V1SearchClausePhrase — Search clause for phrase operator. Field must be indexed as text.
              - …
            - `query_string` V1SearchClauseQueryString — Search clause for query string operator. Field must be indexed as text.
              - …
            - `range` V1SearchClauseRange — Search clause for the range operator. Field must be indexed as number.
              - …
            - `regex` V1SearchClauseRegex — Regex is used to search for a string that matches a regular expression.
              - …
            - `text` V1SearchClauseText — Search clause for text operator. Field must be indexed as text.
              - …
            - `wildcard` V1SearchClauseWildcard — Search clause for the wildcard operator.
              - …
          - `must` V1SearchClause[] — must clauses must be satisfied.
            - `autocomplete` V1SearchClauseAutocomplete — Search clause for the autocomplete operator.
              - …
            - `compound` V1SearchQuery — recursive
            - `equals` V1SearchClauseEquals — Search clause for equals operator. Field must be indexed as token.
              - …
            - `in` V1SearchClauseIn — Search clause for in operator. Field must be indexed as token.
              - …
            - `phrase` V1SearchClausePhrase — Search clause for phrase operator. Field must be indexed as text.
              - …
            - `query_string` V1SearchClauseQueryString — Search clause for query string operator. Field must be indexed as text.
              - …
            - `range` V1SearchClauseRange — Search clause for the range operator. Field must be indexed as number.
              - …
            - `regex` V1SearchClauseRegex — Regex is used to search for a string that matches a regular expression.
              - …
            - `text` V1SearchClauseText — Search clause for text operator. Field must be indexed as text.
              - …
            - `wildcard` V1SearchClauseWildcard — Search clause for the wildcard operator.
              - …
          - `must_not` V1SearchClause[] — must_not clauses must not be satisfied for a result to be returned.
            - `autocomplete` V1SearchClauseAutocomplete — Search clause for the autocomplete operator.
              - …
            - `compound` V1SearchQuery — recursive
            - `equals` V1SearchClauseEquals — Search clause for equals operator. Field must be indexed as token.
              - …
            - `in` V1SearchClauseIn — Search clause for in operator. Field must be indexed as token.
              - …
            - `phrase` V1SearchClausePhrase — Search clause for phrase operator. Field must be indexed as text.
              - …
            - `query_string` V1SearchClauseQueryString — Search clause for query string operator. Field must be indexed as text.
              - …
            - `range` V1SearchClauseRange — Search clause for the range operator. Field must be indexed as number.
              - …
            - `regex` V1SearchClauseRegex — Regex is used to search for a string that matches a regular expression.
              - …
            - `text` V1SearchClauseText — Search clause for text operator. Field must be indexed as text.
              - …
            - `wildcard` V1SearchClauseWildcard — Search clause for the wildcard operator.
              - …
          - `should` V1SearchClause[] — should clauses should be satisfied for a result to be returned. Mainly used for partial matching.
            - `autocomplete` V1SearchClauseAutocomplete — Search clause for the autocomplete operator.
              - …
            - `compound` V1SearchQuery — recursive
            - `equals` V1SearchClauseEquals — Search clause for equals operator. Field must be indexed as token.
              - …
            - `in` V1SearchClauseIn — Search clause for in operator. Field must be indexed as token.
              - …
            - `phrase` V1SearchClausePhrase — Search clause for phrase operator. Field must be indexed as text.
              - …
            - `query_string` V1SearchClauseQueryString — Search clause for query string operator. Field must be indexed as text.
              - …
            - `range` V1SearchClauseRange — Search clause for the range operator. Field must be indexed as number.
              - …
            - `regex` V1SearchClauseRegex — Regex is used to search for a string that matches a regular expression.
              - …
            - `text` V1SearchClauseText — Search clause for text operator. Field must be indexed as text.
              - …
            - `wildcard` V1SearchClauseWildcard — Search clause for the wildcard operator.
              - …
        - `sort` ListParametersSortEntry — Contains the sort parameters.
          - `order` 'SORT_ENTRY_ORDER_UNSPECIFIED' | 'SORT_ENTRY_ORDER_ASC' | 'SORT_ENTRY_ORDER_DESC'
          - `path` string — Field to sort objects by, for example, meta.name.
        - `traverse` boolean — Get data from any child namespaces as well.
      - `references` V1QueryReference[]
        - `connect_from` string — The parent field from which we are connecting. If emtpy, it is UUID.
        - `connect_operator` string — The operation that should be used to connect parent and child. If empty it is the equal operator. Only supporting scalar value operators at this time.
        - `connect_to` string — The child field to connect to. If empty, it is parent_uuid.
        - `query_spec` QueryQuerySpec — recursive
      - `return_as` string — Determines the alias name for reference that should be returned. If not specified, the value of kind is used. This field can be used to query a same kind several times. For instance, you can use this field to list and do a count on a same kind.
      - `with` QueryJoinFilters[] — A list of join filters that identify the kind + filter of the other collections that should be joined. For example, if we are looking for projects that are also have repositories with specific attributes, we can use "with" : [{ "Kind" : "Repository", "Filter" : "filter for the repository", }] With is only available for the PackageVersion and Project resource kinds at this time.
        - `filter` string
        - `kind` string, required
  - `tenant_meta` V1TenantMeta, required — Tenant related data for the tenant containing the resource.
    - `namespace` string, required — Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".
  - `uuid` string — The UUID of the resource.

## Other responses

- `default` — An unexpected error response.

---

[API](https://skmtc.net/endorlabs/apis/endor-labs-rest-api-reference.md) · [All operations](https://skmtc.net/endorlabs/apis/endor-labs-rest-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/endorlabs/endor-labs-rest-api-reference/revisions/2fe1f84213b3/schema)
