Endor ReST API (1.0)
Download OpenAPI specification:
UpdateAgentConfig
Updates a specified AgentConfig.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}
}
Response samples
- default
{- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}
ListAgentConfigs
Lists all AgentConfings visible in a namespace.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- null
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateAgentConfig
Creates an AgentConfig.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
Responses
Request samples
- Payload
null
Response samples
- default
{- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}
GetAgentConfig
Fetches an AgentConfig specified by its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- default
{- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}
DeleteAgentConfig
Deletes an AgentConfig specified by its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
UpdateAgentSession
Updates a specified AgentSession.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}
}
Response samples
- default
{- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}
ListAgentSessions
Lists all AgentSessions visible in a namespace.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- null
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateAgentSession
Creates an AgentSession.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
Responses
Request samples
- Payload
null
Response samples
- default
{- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}
GetAgentSession
Fetches an AgentSession specified by its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- default
{- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}
DeleteAgentSession
Deletes an AgentSession specified by its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
CreateAIQuery
Queries metrics for specific values. It returns back a text response.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (The tenant metadata restricts access to a specific tenant.) The tenant metadata restricts access to a specific tenant. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
object (v1AIQuerySpec) |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "input_prompt": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "query_type": "QUERY_TYPE_UNSPECIFIED"
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "input_prompt": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "output_text": "string",
- "packages": [
- {
- "name": "string",
- "description": "string",
- "repository": "string",
- "latest_version": "string",
- "qualified_name": "string",
- "package_version_uuid": "string"
}
], - "query_type": "QUERY_TYPE_UNSPECIFIED"
}
}
UpdateAnalyticsExecutionRecord
Updates the analytic execution record objects.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object Captures the status, time and stats of an execution of the analytics. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "analytics_time": "2019-08-24T14:15:22Z",
- "analytics_state": "ANALYSIS_STATE_UNSPECIFIED",
- "execution_stats": { },
- "project_name": "string",
- "version_name": "string",
- "project_uuid": "string"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "analytics_time": "2019-08-24T14:15:22Z",
- "analytics_state": "ANALYSIS_STATE_UNSPECIFIED",
- "execution_stats": { },
- "project_name": "string",
- "version_name": "string",
- "project_uuid": "string"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
ListAnalyticsExecutionRecord
Lists all analytics execution records for a given namespace.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "analytics_time": "2019-08-24T14:15:22Z",
- "analytics_state": "ANALYSIS_STATE_UNSPECIFIED",
- "execution_stats": { },
- "project_name": "string",
- "version_name": "string",
- "project_uuid": "string"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateAnalyticsExecutionRecord
Creates an analytics execution record in a given namespace.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Analytic records are associated with a tenant.) Analytic records are associated with a tenant. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1AnalyticsExecutionRecordSpec) |
required | object (v1Context) Contexts keep objects from different scans separated. |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "analytics_time": "2019-08-24T14:15:22Z",
- "analytics_state": "ANALYSIS_STATE_UNSPECIFIED",
- "execution_stats": { },
- "project_name": "string",
- "version_name": "string",
- "project_uuid": "string"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "analytics_time": "2019-08-24T14:15:22Z",
- "analytics_state": "ANALYSIS_STATE_UNSPECIFIED",
- "execution_stats": { },
- "project_name": "string",
- "version_name": "string",
- "project_uuid": "string"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
GetAnalyticsExecutionRecord
Fetches the analytics execution records for a specified UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "analytics_time": "2019-08-24T14:15:22Z",
- "analytics_state": "ANALYSIS_STATE_UNSPECIFIED",
- "execution_stats": { },
- "project_name": "string",
- "version_name": "string",
- "project_uuid": "string"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
CreateAPIKeyReq
Validates an API key.
Request Body schema: application/jsonrequired
Validates an API key.
key required | string The unique identifier of the API key. |
secret required | string The secret associated with the provided API Key. |
object (v1User) User represents a user in the system. Mostly includes configuration parameters that are user wise. |
Responses
Request samples
- Payload
{- "key": "string",
- "secret": "string",
- "issuing_user": {
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "first_name": "string",
- "last_name": "string",
- "email": "string",
- "event_tracking": {
- "property1": {
- "event": [
- "string"
]
}, - "property2": {
- "event": [
- "string"
]
}
}, - "token_hash": "string"
}
}
}
Response samples
- 200
- default
{- "key": "string",
- "secret": "string",
- "valid": true,
- "issuing_user": {
- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "user_name": "string",
- "first_name": "string",
- "last_name": "string",
- "email": "string",
- "last_login_time": "2019-08-24T14:15:22Z",
- "event_tracking": {
- "property1": {
- "event": [
- "string"
]
}, - "property2": {
- "event": [
- "string"
]
}
}, - "token_hash": "string"
}
}
}
ListAPIKeys
Lists all API keys for a given namespace.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "key": "string",
- "secret": "string",
- "permissions": {
- "rules": {
- "property1": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}, - "property2": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}
}, - "roles": [
- "SYSTEM_ROLE_UNSPECIFIED"
], - "except_resources": [
- "string"
]
}, - "expiration_time": "2019-08-24T14:15:22Z",
- "issuing_user": {
- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "user_name": "string",
- "first_name": "string",
- "last_name": "string",
- "email": "string",
- "last_login_time": "2019-08-24T14:15:22Z",
- "event_tracking": {
- "property1": {
- "event": [
- null
]
}, - "property2": {
- "event": [
- null
]
}
}, - "token_hash": "string"
}
}
}, - "propagate": true
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateAPIKey
Creates an API key.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (APIKeys are namespaced objects.) APIKeys are namespaced objects. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
object (v1APIKeySpec) | |
propagate | boolean Indicates whether the API key can be used for the child namespaces. |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "permissions": {
- "rules": {
- "property1": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}, - "property2": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}
}, - "roles": [
- "SYSTEM_ROLE_UNSPECIFIED"
], - "except_resources": [
- "string"
]
}, - "expiration_time": "2019-08-24T14:15:22Z",
- "issuing_user": {
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "first_name": "string",
- "last_name": "string",
- "email": "string",
- "event_tracking": {
- "property1": {
- "event": [
- "string"
]
}, - "property2": {
- "event": [
- "string"
]
}
}, - "token_hash": "string"
}
}
}, - "propagate": true
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "key": "string",
- "secret": "string",
- "permissions": {
- "rules": {
- "property1": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}, - "property2": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}
}, - "roles": [
- "SYSTEM_ROLE_UNSPECIFIED"
], - "except_resources": [
- "string"
]
}, - "expiration_time": "2019-08-24T14:15:22Z",
- "issuing_user": {
- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "user_name": "string",
- "first_name": "string",
- "last_name": "string",
- "email": "string",
- "last_login_time": "2019-08-24T14:15:22Z",
- "event_tracking": {
- "property1": {
- "event": [
- "string"
]
}, - "property2": {
- "event": [
- "string"
]
}
}, - "token_hash": "string"
}
}
}, - "propagate": true
}
GetAPIKey
Fetches the API key dentified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "key": "string",
- "secret": "string",
- "permissions": {
- "rules": {
- "property1": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}, - "property2": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}
}, - "roles": [
- "SYSTEM_ROLE_UNSPECIFIED"
], - "except_resources": [
- "string"
]
}, - "expiration_time": "2019-08-24T14:15:22Z",
- "issuing_user": {
- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "user_name": "string",
- "first_name": "string",
- "last_name": "string",
- "email": "string",
- "last_login_time": "2019-08-24T14:15:22Z",
- "event_tracking": {
- "property1": {
- "event": [
- "string"
]
}, - "property2": {
- "event": [
- "string"
]
}
}, - "token_hash": "string"
}
}
}, - "propagate": true
}
DeleteAPIKey
Deletes the API key specified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
ListApproveServiceRequests
Lists all approve service requests in a namespace.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "service_request_uuid": "string",
- "comment": "string",
- "status": "REQUEST_STATUS_UNSPECIFIED"
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateApproveServiceRequest
Creates an approve service request.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (ApproveServiceRequest are raised on a specific internal tenant.) ApproveServiceRequest are raised on a specific internal tenant. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1ApproveServiceRequestSpec) |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "service_request_uuid": "string",
- "comment": "string",
- "status": "REQUEST_STATUS_UNSPECIFIED"
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "service_request_uuid": "string",
- "comment": "string",
- "status": "REQUEST_STATUS_UNSPECIFIED"
}
}
GetApproveServiceRequest
Fetches an approve service request specified by its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "service_request_uuid": "string",
- "comment": "string",
- "status": "REQUEST_STATUS_UNSPECIFIED"
}
}
DeleteApproveServiceRequest
Deletes an approve service request specified by its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
ListArtifactLogs
Returns a list of artifact logs based on the specified list parameters.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "assured_package_version_name": "string",
- "operation": "OPERATION_UNSPECIFIED",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "error": {
- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}, - "claims": [
- "string"
], - "remote_address": "string"
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateArtifactLog
Creates a artifact log.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Namespace of the artifact log.) Namespace of the artifact log. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1ArtifactLogSpec) |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "assured_package_version_name": "string",
- "operation": "OPERATION_UNSPECIFIED",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "error": {
- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}, - "claims": [
- "string"
], - "remote_address": "string"
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "assured_package_version_name": "string",
- "operation": "OPERATION_UNSPECIFIED",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "error": {
- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}, - "claims": [
- "string"
], - "remote_address": "string"
}
}
GetArtifactLog
Returns a specified artifact log.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "assured_package_version_name": "string",
- "operation": "OPERATION_UNSPECIFIED",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "error": {
- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}, - "claims": [
- "string"
], - "remote_address": "string"
}
}
DeleteArtifactLog
Deletes a artifact log specified by its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
CreateArtifactOperation
Services the artifact operations.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (The tenant metadata restrict access to a specific tenant.) The tenant metadata restrict access to a specific tenant. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
object (v1ArtifactOperationSpec) | |
object (v1ArtifactOperationResponse) |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "command": "ARTIFACT_OPERATION_COMMAND_UNSPECIFIED",
- "artifact_name": "string",
- "digest": "string",
- "extensions": {
- "runner_environment": "string",
- "source_repository": "string",
- "source_repository_digest": "string",
- "source_repository_owner": "string",
- "source_repository_ref": "string",
- "build_config_name": "string",
- "build_config_digest": "string",
- "certificate_identity": "string",
- "certificate_oidc_issuer": "string"
}, - "artifact_type": "ARTIFACT_TYPE_UNSPECIFIED"
}, - "response": {
- "result": "ARTIFACT_OPERATION_RESULT_UNSPECIFIED",
- "artifact_signature": {
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "spec": {
- "certificate": "string",
- "signature": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "simple_container_image": {
- "critical": {
- "type": "string",
- "identity": {
- "docker_reference": "string"
}, - "image": {
- "docker_manifest_image": "string",
- "docker_manifest_digest": "string"
}
}
}, - "revoked": true,
- "artifact_type": "ARTIFACT_TYPE_UNSPECIFIED",
- "artifact_digest": "string",
- "source_repository_ref": "string",
- "provenance": {
- "runner_environment": "string",
- "source_repository": "string",
- "source_repository_digest": "string",
- "source_repository_owner": "string",
- "source_repository_ref": "string",
- "build_config_name": "string",
- "build_config_digest": "string",
- "certificate_identity": "string",
- "certificate_oidc_issuer": "string"
}, - "artifact_name": "string"
}
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "command": "ARTIFACT_OPERATION_COMMAND_UNSPECIFIED",
- "artifact_name": "string",
- "digest": "string",
- "extensions": {
- "runner_environment": "string",
- "source_repository": "string",
- "source_repository_digest": "string",
- "source_repository_owner": "string",
- "source_repository_ref": "string",
- "build_config_name": "string",
- "build_config_digest": "string",
- "certificate_identity": "string",
- "certificate_oidc_issuer": "string"
}, - "artifact_type": "ARTIFACT_TYPE_UNSPECIFIED"
}, - "response": {
- "result": "ARTIFACT_OPERATION_RESULT_UNSPECIFIED",
- "artifact_signature": {
- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "spec": {
- "certificate": "string",
- "signature": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "simple_container_image": {
- "critical": {
- "type": "string",
- "identity": {
- "docker_reference": "string"
}, - "image": {
- "docker_manifest_image": "string",
- "docker_manifest_digest": "string"
}
}
}, - "revoked": true,
- "artifact_type": "ARTIFACT_TYPE_UNSPECIFIED",
- "artifact_digest": "string",
- "source_repository_ref": "string",
- "provenance": {
- "runner_environment": "string",
- "source_repository": "string",
- "source_repository_digest": "string",
- "source_repository_owner": "string",
- "source_repository_ref": "string",
- "build_config_name": "string",
- "build_config_digest": "string",
- "certificate_identity": "string",
- "certificate_oidc_issuer": "string"
}, - "artifact_name": "string"
}
}
}
}
UpdateArtifactSignature
Updates the artifact signature.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object Represents an artifact signature object. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "tenant_meta": { },
- "spec": {
- "certificate": "string",
- "signature": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "simple_container_image": {
- "critical": {
- "type": "string",
- "identity": {
- "docker_reference": "string"
}, - "image": {
- "docker_manifest_image": "string",
- "docker_manifest_digest": "string"
}
}
}, - "revoked": true,
- "artifact_type": "ARTIFACT_TYPE_UNSPECIFIED",
- "artifact_digest": "string",
- "source_repository_ref": "string",
- "provenance": {
- "runner_environment": "string",
- "source_repository": "string",
- "source_repository_digest": "string",
- "source_repository_owner": "string",
- "source_repository_ref": "string",
- "build_config_name": "string",
- "build_config_digest": "string",
- "certificate_identity": "string",
- "certificate_oidc_issuer": "string"
}, - "artifact_name": "string"
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "spec": {
- "certificate": "string",
- "signature": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "simple_container_image": {
- "critical": {
- "type": "string",
- "identity": {
- "docker_reference": "string"
}, - "image": {
- "docker_manifest_image": "string",
- "docker_manifest_digest": "string"
}
}
}, - "revoked": true,
- "artifact_type": "ARTIFACT_TYPE_UNSPECIFIED",
- "artifact_digest": "string",
- "source_repository_ref": "string",
- "provenance": {
- "runner_environment": "string",
- "source_repository": "string",
- "source_repository_digest": "string",
- "source_repository_owner": "string",
- "source_repository_ref": "string",
- "build_config_name": "string",
- "build_config_digest": "string",
- "certificate_identity": "string",
- "certificate_oidc_issuer": "string"
}, - "artifact_name": "string"
}
}
ListArtifactSignatures
Lists all artifact signatures.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "spec": {
- "certificate": "string",
- "signature": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "simple_container_image": {
- "critical": {
- "type": "string",
- "identity": {
- "docker_reference": "string"
}, - "image": {
- "docker_manifest_image": "string",
- "docker_manifest_digest": "string"
}
}
}, - "revoked": true,
- "artifact_type": "ARTIFACT_TYPE_UNSPECIFIED",
- "artifact_digest": "string",
- "source_repository_ref": "string",
- "provenance": {
- "runner_environment": "string",
- "source_repository": "string",
- "source_repository_digest": "string",
- "source_repository_owner": "string",
- "source_repository_ref": "string",
- "build_config_name": "string",
- "build_config_digest": "string",
- "certificate_identity": "string",
- "certificate_oidc_issuer": "string"
}, - "artifact_name": "string"
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateArtifactSignature
Creates a new artifact signature.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
required | object (v1Meta) Common fields for all Endor Labs resources. |
tenant_meta | object (Tenant metadata required for artifact signature requests.) Tenant metadata required for artifact signature requests. |
required | object (v1ArtifactSignatureSpec) |
Responses
Request samples
- Payload
{- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "tenant_meta": { },
- "spec": {
- "certificate": "string",
- "signature": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "simple_container_image": {
- "critical": {
- "type": "string",
- "identity": {
- "docker_reference": "string"
}, - "image": {
- "docker_manifest_image": "string",
- "docker_manifest_digest": "string"
}
}
}, - "revoked": true,
- "artifact_type": "ARTIFACT_TYPE_UNSPECIFIED",
- "artifact_digest": "string",
- "source_repository_ref": "string",
- "provenance": {
- "runner_environment": "string",
- "source_repository": "string",
- "source_repository_digest": "string",
- "source_repository_owner": "string",
- "source_repository_ref": "string",
- "build_config_name": "string",
- "build_config_digest": "string",
- "certificate_identity": "string",
- "certificate_oidc_issuer": "string"
}, - "artifact_name": "string"
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "spec": {
- "certificate": "string",
- "signature": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "simple_container_image": {
- "critical": {
- "type": "string",
- "identity": {
- "docker_reference": "string"
}, - "image": {
- "docker_manifest_image": "string",
- "docker_manifest_digest": "string"
}
}
}, - "revoked": true,
- "artifact_type": "ARTIFACT_TYPE_UNSPECIFIED",
- "artifact_digest": "string",
- "source_repository_ref": "string",
- "provenance": {
- "runner_environment": "string",
- "source_repository": "string",
- "source_repository_digest": "string",
- "source_repository_owner": "string",
- "source_repository_ref": "string",
- "build_config_name": "string",
- "build_config_digest": "string",
- "certificate_identity": "string",
- "certificate_oidc_issuer": "string"
}, - "artifact_name": "string"
}
}
GetArtifactSignature
Fetches an artifact signature identified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "spec": {
- "certificate": "string",
- "signature": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "simple_container_image": {
- "critical": {
- "type": "string",
- "identity": {
- "docker_reference": "string"
}, - "image": {
- "docker_manifest_image": "string",
- "docker_manifest_digest": "string"
}
}
}, - "revoked": true,
- "artifact_type": "ARTIFACT_TYPE_UNSPECIFIED",
- "artifact_digest": "string",
- "source_repository_ref": "string",
- "provenance": {
- "runner_environment": "string",
- "source_repository": "string",
- "source_repository_digest": "string",
- "source_repository_owner": "string",
- "source_repository_ref": "string",
- "build_config_name": "string",
- "build_config_digest": "string",
- "certificate_identity": "string",
- "certificate_oidc_issuer": "string"
}, - "artifact_name": "string"
}
}
UpdateAssuredPackageVersion
Updates a specified assured package version.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object AssuredPackageVersion is a package version that have been built, tested, and patched by Endor Labs. It includes details on how the version was built, tested, and patched, as well as information on the vulnerabilities that have been addressed through the patches. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "build_attestation": {
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "test_attestation": {
- "are_tests_run": true,
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "security_attestation": {
- "patches": [
- {
- "included_commits": [
- {
- "commit_type": "COMMIT_TYPE_UNSPECIFIED",
- "author": "string",
- "message": "string",
- "commit_date": "2019-08-24T14:15:22Z",
- "sha": "string",
- "commit_url": "string"
}
], - "fix_type": "FIX_TYPE_UNSPECIFIED",
- "fixed_vulns": [
- {
- "name": "string",
- "aliases": [
- "string"
], - "uuid": "string"
}
], - "patch_files": [
- "string"
], - "description": "string"
}
], - "validations": [
- {
- "vulnerability_name": "string",
- "logs_upload_content": "string",
- "validated_with_unittest": true
}
]
}, - "deploy_attestation": {
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "package_name": "string",
- "sha256": "string",
- "reproducible_build_source_code_upload_content": "string",
- "upgrade_summary": {
- "line_added": 0,
- "line_removed": 0,
- "fixed_vulns": {
- "property1": {
- "vulns": [
- {
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- null
], - "annotations": {
- "property1": null,
- "property2": null
}
}, - "spec": {
- "deepdive": true,
- "disputed": true,
- "additional_notes": [
- null
], - "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- null
], - "related": [
- null
], - "cvss_v3_severity": {
- "score": null,
- "vector": null,
- "level": null,
- "temporal_score": null,
- "temporal_vector": null,
- "temporal_level": null
}, - "credits": [
- null
], - "database_specific": { },
- "summary": "string",
- "affected": [
- null
], - "references": [
- null
], - "epss_score": {
- "probability_score": null,
- "percentile_score": null
}, - "raw": {
- "osv_vulnerability": null,
- "endor_vulnerability": null,
- "epss_record": null,
- "nvd_vulnerability": null,
- "kev_record": null
}, - "malicious": true,
- "additional_endor_notes": [
- null
]
}
}
]
}, - "property2": {
- "vulns": [
- {
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- null
], - "annotations": {
- "property1": null,
- "property2": null
}
}, - "spec": {
- "deepdive": true,
- "disputed": true,
- "additional_notes": [
- null
], - "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- null
], - "related": [
- null
], - "cvss_v3_severity": {
- "score": null,
- "vector": null,
- "level": null,
- "temporal_score": null,
- "temporal_vector": null,
- "temporal_level": null
}, - "credits": [
- null
], - "database_specific": { },
- "summary": "string",
- "affected": [
- null
], - "references": [
- null
], - "epss_score": {
- "probability_score": null,
- "percentile_score": null
}, - "raw": {
- "osv_vulnerability": null,
- "endor_vulnerability": null,
- "epss_record": null,
- "nvd_vulnerability": null,
- "kev_record": null
}, - "malicious": true,
- "additional_endor_notes": [
- null
]
}
}
]
}
}, - "number_of_endor_patches": 0,
- "number_of_original_patches": 0,
- "are_tests_run": true
}, - "version_type": "VERSION_TYPE_UNSPECIFIED"
}, - "processing_status": {
- "scan_state": "SCAN_STATE_UNSPECIFIED",
- "scan_time": "2019-08-24T14:15:22Z",
- "analytic_time": "2019-08-24T14:15:22Z",
- "queue_time": "2019-08-24T14:15:22Z",
- "disable_automated_scan": true,
- "metadata": {
- "full_history_scan_time": "2019-08-24T14:15:22Z"
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "build_attestation": {
- "logs_url": "string",
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "test_attestation": {
- "are_tests_run": true,
- "logs_url": "string",
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "security_attestation": {
- "patches": [
- {
- "included_commits": [
- {
- "commit_type": "COMMIT_TYPE_UNSPECIFIED",
- "author": "string",
- "message": "string",
- "commit_date": "2019-08-24T14:15:22Z",
- "sha": "string",
- "commit_url": "string"
}
], - "fix_type": "FIX_TYPE_UNSPECIFIED",
- "fixed_vulns": [
- {
- "name": "string",
- "aliases": [
- "string"
], - "uuid": "string"
}
], - "patch_files": [
- "string"
], - "description": "string"
}
], - "validations": [
- {
- "vulnerability_name": "string",
- "logs_url": "string",
- "logs_upload_content": "string",
- "validated_with_unittest": true
}
]
}, - "deploy_attestation": {
- "logs_url": "string",
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "package_name": "string",
- "sha256": "string",
- "reproducible_build_source_code_url": "string",
- "reproducible_build_source_code_upload_content": "string",
- "upgrade_summary": {
- "line_added": 0,
- "line_removed": 0,
- "fixed_vulns": {
- "property1": {
- "vulns": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": null,
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": null,
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "deepdive": true,
- "disputed": true,
- "additional_notes": [
- "string"
], - "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "cvss_v3_severity": {
- "score": 0.1,
- "vector": "string",
- "level": "LEVEL_UNSPECIFIED",
- "temporal_score": 0.1,
- "temporal_vector": "string",
- "temporal_level": "LEVEL_UNSPECIFIED"
}, - "credits": [
- {
- "name": null,
- "contact": [ ]
}
], - "database_specific": { },
- "summary": "string",
- "affected": [
- {
- "package": null,
- "ranges": [ ],
- "versions": [ ],
- "database_specific": { },
- "ecosystem_specific": { },
- "affected_filepaths": [ ],
- "affected_callpath_uris": [ ],
- "fix_commits": [ ],
- "has_been_fixed": null,
- "source": null,
- "maintainer_severity": null
}
], - "references": [
- {
- "type": null,
- "url": null
}
], - "epss_score": {
- "probability_score": 0.1,
- "percentile_score": 0.1
}, - "raw": {
- "osv_vulnerability": {
- "schema_version": null,
- "id": null,
- "published": null,
- "modified": null,
- "withdrawn": null,
- "aliases": [ ],
- "related": [ ],
- "package": null,
- "summary": null,
- "details": null,
- "affected": [ ],
- "references": [ ],
- "database_specific": { },
- "severity": [ ],
- "credits": [ ]
}, - "endor_vulnerability": {
- "cve_id": null,
- "cve_description": null,
- "cvss_score": null,
- "cvss_vector": null,
- "cwe": null,
- "cve_references": [ ],
- "package_name": null,
- "ecosystem": null,
- "fix_commit": [ ],
- "additional_notes": null,
- "component": [ ],
- "deepdive": null,
- "disputed": null,
- "nofix": null,
- "schema_version": null,
- "malicious": null,
- "withdrawn": null
}, - "epss_record": {
- "cve_id": null,
- "probability": null,
- "percentile": null,
- "ingestion_time": null
}, - "nvd_vulnerability": {
- "cve": null
}, - "kev_record": {
- "cve_id": null,
- "vendor_project": null,
- "product": null,
- "vulnerability_name": null,
- "date_added": null,
- "short_description": null,
- "required_action": null,
- "due_date": null,
- "known_ransomware_campaign_use": null,
- "notes": null
}
}, - "malicious": true,
- "additional_endor_notes": [
- "string"
]
}
}
]
}, - "property2": {
- "vulns": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": null,
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": null,
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "deepdive": true,
- "disputed": true,
- "additional_notes": [
- "string"
], - "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "cvss_v3_severity": {
- "score": 0.1,
- "vector": "string",
- "level": "LEVEL_UNSPECIFIED",
- "temporal_score": 0.1,
- "temporal_vector": "string",
- "temporal_level": "LEVEL_UNSPECIFIED"
}, - "credits": [
- {
- "name": null,
- "contact": [ ]
}
], - "database_specific": { },
- "summary": "string",
- "affected": [
- {
- "package": null,
- "ranges": [ ],
- "versions": [ ],
- "database_specific": { },
- "ecosystem_specific": { },
- "affected_filepaths": [ ],
- "affected_callpath_uris": [ ],
- "fix_commits": [ ],
- "has_been_fixed": null,
- "source": null,
- "maintainer_severity": null
}
], - "references": [
- {
- "type": null,
- "url": null
}
], - "epss_score": {
- "probability_score": 0.1,
- "percentile_score": 0.1
}, - "raw": {
- "osv_vulnerability": {
- "schema_version": null,
- "id": null,
- "published": null,
- "modified": null,
- "withdrawn": null,
- "aliases": [ ],
- "related": [ ],
- "package": null,
- "summary": null,
- "details": null,
- "affected": [ ],
- "references": [ ],
- "database_specific": { },
- "severity": [ ],
- "credits": [ ]
}, - "endor_vulnerability": {
- "cve_id": null,
- "cve_description": null,
- "cvss_score": null,
- "cvss_vector": null,
- "cwe": null,
- "cve_references": [ ],
- "package_name": null,
- "ecosystem": null,
- "fix_commit": [ ],
- "additional_notes": null,
- "component": [ ],
- "deepdive": null,
- "disputed": null,
- "nofix": null,
- "schema_version": null,
- "malicious": null,
- "withdrawn": null
}, - "epss_record": {
- "cve_id": null,
- "probability": null,
- "percentile": null,
- "ingestion_time": null
}, - "nvd_vulnerability": {
- "cve": null
}, - "kev_record": {
- "cve_id": null,
- "vendor_project": null,
- "product": null,
- "vulnerability_name": null,
- "date_added": null,
- "short_description": null,
- "required_action": null,
- "due_date": null,
- "known_ransomware_campaign_use": null,
- "notes": null
}
}, - "malicious": true,
- "additional_endor_notes": [
- "string"
]
}
}
]
}
}, - "number_of_endor_patches": 0,
- "number_of_original_patches": 0,
- "are_tests_run": true
}, - "version_type": "VERSION_TYPE_UNSPECIFIED"
}, - "processing_status": {
- "scan_state": "SCAN_STATE_UNSPECIFIED",
- "scan_time": "2019-08-24T14:15:22Z",
- "analytic_time": "2019-08-24T14:15:22Z",
- "queue_time": "2019-08-24T14:15:22Z",
- "disable_automated_scan": true,
- "metadata": {
- "full_history_scan_time": "2019-08-24T14:15:22Z"
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
ListAssuredPackageVersions
Lists all assured package versions in a given namespace
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "build_attestation": {
- "logs_url": "string",
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "test_attestation": {
- "are_tests_run": true,
- "logs_url": "string",
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "security_attestation": {
- "patches": [
- {
- "included_commits": [
- {
- "commit_type": null,
- "author": null,
- "message": null,
- "commit_date": null,
- "sha": null,
- "commit_url": null
}
], - "fix_type": "FIX_TYPE_UNSPECIFIED",
- "fixed_vulns": [
- {
- "name": null,
- "aliases": [ ],
- "uuid": null
}
], - "patch_files": [
- "string"
], - "description": "string"
}
], - "validations": [
- {
- "vulnerability_name": "string",
- "logs_url": "string",
- "logs_upload_content": "string",
- "validated_with_unittest": true
}
]
}, - "deploy_attestation": {
- "logs_url": "string",
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "package_name": "string",
- "sha256": "string",
- "reproducible_build_source_code_url": "string",
- "reproducible_build_source_code_upload_content": "string",
- "upgrade_summary": {
- "line_added": 0,
- "line_removed": 0,
- "fixed_vulns": {
- "property1": {
- "vulns": [
- {
- "uuid": null,
- "tenant_meta": null,
- "meta": null,
- "spec": null
}
]
}, - "property2": {
- "vulns": [
- {
- "uuid": null,
- "tenant_meta": null,
- "meta": null,
- "spec": null
}
]
}
}, - "number_of_endor_patches": 0,
- "number_of_original_patches": 0,
- "are_tests_run": true
}, - "version_type": "VERSION_TYPE_UNSPECIFIED"
}, - "processing_status": {
- "scan_state": "SCAN_STATE_UNSPECIFIED",
- "scan_time": "2019-08-24T14:15:22Z",
- "analytic_time": "2019-08-24T14:15:22Z",
- "queue_time": "2019-08-24T14:15:22Z",
- "disable_automated_scan": true,
- "metadata": {
- "full_history_scan_time": "2019-08-24T14:15:22Z"
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateAssuredPackageVersion
Creates an assured package version in a given namespace.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Git repositories are associated with a tenant.) Git repositories are associated with a tenant. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1AssuredPackageVersionSpec) |
object (v1ProcessingStatus) | |
required | object (v1Context) Contexts keep objects from different scans separated. |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "build_attestation": {
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "test_attestation": {
- "are_tests_run": true,
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "security_attestation": {
- "patches": [
- {
- "included_commits": [
- {
- "commit_type": "COMMIT_TYPE_UNSPECIFIED",
- "author": "string",
- "message": "string",
- "commit_date": "2019-08-24T14:15:22Z",
- "sha": "string",
- "commit_url": "string"
}
], - "fix_type": "FIX_TYPE_UNSPECIFIED",
- "fixed_vulns": [
- {
- "name": "string",
- "aliases": [
- "string"
], - "uuid": "string"
}
], - "patch_files": [
- "string"
], - "description": "string"
}
], - "validations": [
- {
- "vulnerability_name": "string",
- "logs_upload_content": "string",
- "validated_with_unittest": true
}
]
}, - "deploy_attestation": {
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "package_name": "string",
- "sha256": "string",
- "reproducible_build_source_code_upload_content": "string",
- "upgrade_summary": {
- "line_added": 0,
- "line_removed": 0,
- "fixed_vulns": {
- "property1": {
- "vulns": [
- {
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "deepdive": true,
- "disputed": true,
- "additional_notes": [
- "string"
], - "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "cvss_v3_severity": {
- "score": 0.1,
- "vector": "string",
- "level": "LEVEL_UNSPECIFIED",
- "temporal_score": 0.1,
- "temporal_vector": "string",
- "temporal_level": "LEVEL_UNSPECIFIED"
}, - "credits": [
- {
- "name": null,
- "contact": [ ]
}
], - "database_specific": { },
- "summary": "string",
- "affected": [
- {
- "package": null,
- "ranges": [ ],
- "versions": [ ],
- "database_specific": { },
- "ecosystem_specific": { },
- "affected_filepaths": [ ],
- "affected_callpath_uris": [ ],
- "fix_commits": [ ],
- "has_been_fixed": null,
- "source": null,
- "maintainer_severity": null
}
], - "references": [
- {
- "type": null,
- "url": null
}
], - "epss_score": {
- "probability_score": 0.1,
- "percentile_score": 0.1
}, - "raw": {
- "osv_vulnerability": {
- "schema_version": null,
- "id": null,
- "published": null,
- "modified": null,
- "withdrawn": null,
- "aliases": [ ],
- "related": [ ],
- "package": null,
- "summary": null,
- "details": null,
- "affected": [ ],
- "references": [ ],
- "database_specific": { },
- "severity": [ ],
- "credits": [ ]
}, - "endor_vulnerability": {
- "cve_id": null,
- "cve_description": null,
- "cvss_score": null,
- "cvss_vector": null,
- "cwe": null,
- "cve_references": [ ],
- "package_name": null,
- "ecosystem": null,
- "fix_commit": [ ],
- "additional_notes": null,
- "component": [ ],
- "deepdive": null,
- "disputed": null,
- "nofix": null,
- "schema_version": null,
- "malicious": null,
- "withdrawn": null
}, - "epss_record": {
- "cve_id": null,
- "probability": null,
- "percentile": null,
- "ingestion_time": null
}, - "nvd_vulnerability": {
- "cve": null
}, - "kev_record": {
- "cve_id": null,
- "vendor_project": null,
- "product": null,
- "vulnerability_name": null,
- "date_added": null,
- "short_description": null,
- "required_action": null,
- "due_date": null,
- "known_ransomware_campaign_use": null,
- "notes": null
}
}, - "malicious": true,
- "additional_endor_notes": [
- "string"
]
}
}
]
}, - "property2": {
- "vulns": [
- {
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "deepdive": true,
- "disputed": true,
- "additional_notes": [
- "string"
], - "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "cvss_v3_severity": {
- "score": 0.1,
- "vector": "string",
- "level": "LEVEL_UNSPECIFIED",
- "temporal_score": 0.1,
- "temporal_vector": "string",
- "temporal_level": "LEVEL_UNSPECIFIED"
}, - "credits": [
- {
- "name": null,
- "contact": [ ]
}
], - "database_specific": { },
- "summary": "string",
- "affected": [
- {
- "package": null,
- "ranges": [ ],
- "versions": [ ],
- "database_specific": { },
- "ecosystem_specific": { },
- "affected_filepaths": [ ],
- "affected_callpath_uris": [ ],
- "fix_commits": [ ],
- "has_been_fixed": null,
- "source": null,
- "maintainer_severity": null
}
], - "references": [
- {
- "type": null,
- "url": null
}
], - "epss_score": {
- "probability_score": 0.1,
- "percentile_score": 0.1
}, - "raw": {
- "osv_vulnerability": {
- "schema_version": null,
- "id": null,
- "published": null,
- "modified": null,
- "withdrawn": null,
- "aliases": [ ],
- "related": [ ],
- "package": null,
- "summary": null,
- "details": null,
- "affected": [ ],
- "references": [ ],
- "database_specific": { },
- "severity": [ ],
- "credits": [ ]
}, - "endor_vulnerability": {
- "cve_id": null,
- "cve_description": null,
- "cvss_score": null,
- "cvss_vector": null,
- "cwe": null,
- "cve_references": [ ],
- "package_name": null,
- "ecosystem": null,
- "fix_commit": [ ],
- "additional_notes": null,
- "component": [ ],
- "deepdive": null,
- "disputed": null,
- "nofix": null,
- "schema_version": null,
- "malicious": null,
- "withdrawn": null
}, - "epss_record": {
- "cve_id": null,
- "probability": null,
- "percentile": null,
- "ingestion_time": null
}, - "nvd_vulnerability": {
- "cve": null
}, - "kev_record": {
- "cve_id": null,
- "vendor_project": null,
- "product": null,
- "vulnerability_name": null,
- "date_added": null,
- "short_description": null,
- "required_action": null,
- "due_date": null,
- "known_ransomware_campaign_use": null,
- "notes": null
}
}, - "malicious": true,
- "additional_endor_notes": [
- "string"
]
}
}
]
}
}, - "number_of_endor_patches": 0,
- "number_of_original_patches": 0,
- "are_tests_run": true
}, - "version_type": "VERSION_TYPE_UNSPECIFIED"
}, - "processing_status": {
- "scan_state": "SCAN_STATE_UNSPECIFIED",
- "scan_time": "2019-08-24T14:15:22Z",
- "analytic_time": "2019-08-24T14:15:22Z",
- "queue_time": "2019-08-24T14:15:22Z",
- "disable_automated_scan": true,
- "metadata": {
- "full_history_scan_time": "2019-08-24T14:15:22Z"
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "build_attestation": {
- "logs_url": "string",
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "test_attestation": {
- "are_tests_run": true,
- "logs_url": "string",
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "security_attestation": {
- "patches": [
- {
- "included_commits": [
- {
- "commit_type": "COMMIT_TYPE_UNSPECIFIED",
- "author": "string",
- "message": "string",
- "commit_date": "2019-08-24T14:15:22Z",
- "sha": "string",
- "commit_url": "string"
}
], - "fix_type": "FIX_TYPE_UNSPECIFIED",
- "fixed_vulns": [
- {
- "name": "string",
- "aliases": [
- "string"
], - "uuid": "string"
}
], - "patch_files": [
- "string"
], - "description": "string"
}
], - "validations": [
- {
- "vulnerability_name": "string",
- "logs_url": "string",
- "logs_upload_content": "string",
- "validated_with_unittest": true
}
]
}, - "deploy_attestation": {
- "logs_url": "string",
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "package_name": "string",
- "sha256": "string",
- "reproducible_build_source_code_url": "string",
- "reproducible_build_source_code_upload_content": "string",
- "upgrade_summary": {
- "line_added": 0,
- "line_removed": 0,
- "fixed_vulns": {
- "property1": {
- "vulns": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": null,
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": null,
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "deepdive": true,
- "disputed": true,
- "additional_notes": [
- "string"
], - "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "cvss_v3_severity": {
- "score": 0.1,
- "vector": "string",
- "level": "LEVEL_UNSPECIFIED",
- "temporal_score": 0.1,
- "temporal_vector": "string",
- "temporal_level": "LEVEL_UNSPECIFIED"
}, - "credits": [
- {
- "name": null,
- "contact": [ ]
}
], - "database_specific": { },
- "summary": "string",
- "affected": [
- {
- "package": null,
- "ranges": [ ],
- "versions": [ ],
- "database_specific": { },
- "ecosystem_specific": { },
- "affected_filepaths": [ ],
- "affected_callpath_uris": [ ],
- "fix_commits": [ ],
- "has_been_fixed": null,
- "source": null,
- "maintainer_severity": null
}
], - "references": [
- {
- "type": null,
- "url": null
}
], - "epss_score": {
- "probability_score": 0.1,
- "percentile_score": 0.1
}, - "raw": {
- "osv_vulnerability": {
- "schema_version": null,
- "id": null,
- "published": null,
- "modified": null,
- "withdrawn": null,
- "aliases": [ ],
- "related": [ ],
- "package": null,
- "summary": null,
- "details": null,
- "affected": [ ],
- "references": [ ],
- "database_specific": { },
- "severity": [ ],
- "credits": [ ]
}, - "endor_vulnerability": {
- "cve_id": null,
- "cve_description": null,
- "cvss_score": null,
- "cvss_vector": null,
- "cwe": null,
- "cve_references": [ ],
- "package_name": null,
- "ecosystem": null,
- "fix_commit": [ ],
- "additional_notes": null,
- "component": [ ],
- "deepdive": null,
- "disputed": null,
- "nofix": null,
- "schema_version": null,
- "malicious": null,
- "withdrawn": null
}, - "epss_record": {
- "cve_id": null,
- "probability": null,
- "percentile": null,
- "ingestion_time": null
}, - "nvd_vulnerability": {
- "cve": null
}, - "kev_record": {
- "cve_id": null,
- "vendor_project": null,
- "product": null,
- "vulnerability_name": null,
- "date_added": null,
- "short_description": null,
- "required_action": null,
- "due_date": null,
- "known_ransomware_campaign_use": null,
- "notes": null
}
}, - "malicious": true,
- "additional_endor_notes": [
- "string"
]
}
}
]
}, - "property2": {
- "vulns": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": null,
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": null,
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "deepdive": true,
- "disputed": true,
- "additional_notes": [
- "string"
], - "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "cvss_v3_severity": {
- "score": 0.1,
- "vector": "string",
- "level": "LEVEL_UNSPECIFIED",
- "temporal_score": 0.1,
- "temporal_vector": "string",
- "temporal_level": "LEVEL_UNSPECIFIED"
}, - "credits": [
- {
- "name": null,
- "contact": [ ]
}
], - "database_specific": { },
- "summary": "string",
- "affected": [
- {
- "package": null,
- "ranges": [ ],
- "versions": [ ],
- "database_specific": { },
- "ecosystem_specific": { },
- "affected_filepaths": [ ],
- "affected_callpath_uris": [ ],
- "fix_commits": [ ],
- "has_been_fixed": null,
- "source": null,
- "maintainer_severity": null
}
], - "references": [
- {
- "type": null,
- "url": null
}
], - "epss_score": {
- "probability_score": 0.1,
- "percentile_score": 0.1
}, - "raw": {
- "osv_vulnerability": {
- "schema_version": null,
- "id": null,
- "published": null,
- "modified": null,
- "withdrawn": null,
- "aliases": [ ],
- "related": [ ],
- "package": null,
- "summary": null,
- "details": null,
- "affected": [ ],
- "references": [ ],
- "database_specific": { },
- "severity": [ ],
- "credits": [ ]
}, - "endor_vulnerability": {
- "cve_id": null,
- "cve_description": null,
- "cvss_score": null,
- "cvss_vector": null,
- "cwe": null,
- "cve_references": [ ],
- "package_name": null,
- "ecosystem": null,
- "fix_commit": [ ],
- "additional_notes": null,
- "component": [ ],
- "deepdive": null,
- "disputed": null,
- "nofix": null,
- "schema_version": null,
- "malicious": null,
- "withdrawn": null
}, - "epss_record": {
- "cve_id": null,
- "probability": null,
- "percentile": null,
- "ingestion_time": null
}, - "nvd_vulnerability": {
- "cve": null
}, - "kev_record": {
- "cve_id": null,
- "vendor_project": null,
- "product": null,
- "vulnerability_name": null,
- "date_added": null,
- "short_description": null,
- "required_action": null,
- "due_date": null,
- "known_ransomware_campaign_use": null,
- "notes": null
}
}, - "malicious": true,
- "additional_endor_notes": [
- "string"
]
}
}
]
}
}, - "number_of_endor_patches": 0,
- "number_of_original_patches": 0,
- "are_tests_run": true
}, - "version_type": "VERSION_TYPE_UNSPECIFIED"
}, - "processing_status": {
- "scan_state": "SCAN_STATE_UNSPECIFIED",
- "scan_time": "2019-08-24T14:15:22Z",
- "analytic_time": "2019-08-24T14:15:22Z",
- "queue_time": "2019-08-24T14:15:22Z",
- "disable_automated_scan": true,
- "metadata": {
- "full_history_scan_time": "2019-08-24T14:15:22Z"
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
GetAssuredPackageVersion
Fetches the assured package version identified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "build_attestation": {
- "logs_url": "string",
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "test_attestation": {
- "are_tests_run": true,
- "logs_url": "string",
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "security_attestation": {
- "patches": [
- {
- "included_commits": [
- {
- "commit_type": "COMMIT_TYPE_UNSPECIFIED",
- "author": "string",
- "message": "string",
- "commit_date": "2019-08-24T14:15:22Z",
- "sha": "string",
- "commit_url": "string"
}
], - "fix_type": "FIX_TYPE_UNSPECIFIED",
- "fixed_vulns": [
- {
- "name": "string",
- "aliases": [
- "string"
], - "uuid": "string"
}
], - "patch_files": [
- "string"
], - "description": "string"
}
], - "validations": [
- {
- "vulnerability_name": "string",
- "logs_url": "string",
- "logs_upload_content": "string",
- "validated_with_unittest": true
}
]
}, - "deploy_attestation": {
- "logs_url": "string",
- "commands": [
- "string"
], - "logs_upload_content": "string"
}, - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "package_name": "string",
- "sha256": "string",
- "reproducible_build_source_code_url": "string",
- "reproducible_build_source_code_upload_content": "string",
- "upgrade_summary": {
- "line_added": 0,
- "line_removed": 0,
- "fixed_vulns": {
- "property1": {
- "vulns": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": null,
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": null,
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "deepdive": true,
- "disputed": true,
- "additional_notes": [
- "string"
], - "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "cvss_v3_severity": {
- "score": 0.1,
- "vector": "string",
- "level": "LEVEL_UNSPECIFIED",
- "temporal_score": 0.1,
- "temporal_vector": "string",
- "temporal_level": "LEVEL_UNSPECIFIED"
}, - "credits": [
- {
- "name": null,
- "contact": [ ]
}
], - "database_specific": { },
- "summary": "string",
- "affected": [
- {
- "package": null,
- "ranges": [ ],
- "versions": [ ],
- "database_specific": { },
- "ecosystem_specific": { },
- "affected_filepaths": [ ],
- "affected_callpath_uris": [ ],
- "fix_commits": [ ],
- "has_been_fixed": null,
- "source": null,
- "maintainer_severity": null
}
], - "references": [
- {
- "type": null,
- "url": null
}
], - "epss_score": {
- "probability_score": 0.1,
- "percentile_score": 0.1
}, - "raw": {
- "osv_vulnerability": {
- "schema_version": null,
- "id": null,
- "published": null,
- "modified": null,
- "withdrawn": null,
- "aliases": [ ],
- "related": [ ],
- "package": null,
- "summary": null,
- "details": null,
- "affected": [ ],
- "references": [ ],
- "database_specific": { },
- "severity": [ ],
- "credits": [ ]
}, - "endor_vulnerability": {
- "cve_id": null,
- "cve_description": null,
- "cvss_score": null,
- "cvss_vector": null,
- "cwe": null,
- "cve_references": [ ],
- "package_name": null,
- "ecosystem": null,
- "fix_commit": [ ],
- "additional_notes": null,
- "component": [ ],
- "deepdive": null,
- "disputed": null,
- "nofix": null,
- "schema_version": null,
- "malicious": null,
- "withdrawn": null
}, - "epss_record": {
- "cve_id": null,
- "probability": null,
- "percentile": null,
- "ingestion_time": null
}, - "nvd_vulnerability": {
- "cve": null
}, - "kev_record": {
- "cve_id": null,
- "vendor_project": null,
- "product": null,
- "vulnerability_name": null,
- "date_added": null,
- "short_description": null,
- "required_action": null,
- "due_date": null,
- "known_ransomware_campaign_use": null,
- "notes": null
}
}, - "malicious": true,
- "additional_endor_notes": [
- "string"
]
}
}
]
}, - "property2": {
- "vulns": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": null,
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": null,
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "deepdive": true,
- "disputed": true,
- "additional_notes": [
- "string"
], - "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "cvss_v3_severity": {
- "score": 0.1,
- "vector": "string",
- "level": "LEVEL_UNSPECIFIED",
- "temporal_score": 0.1,
- "temporal_vector": "string",
- "temporal_level": "LEVEL_UNSPECIFIED"
}, - "credits": [
- {
- "name": null,
- "contact": [ ]
}
], - "database_specific": { },
- "summary": "string",
- "affected": [
- {
- "package": null,
- "ranges": [ ],
- "versions": [ ],
- "database_specific": { },
- "ecosystem_specific": { },
- "affected_filepaths": [ ],
- "affected_callpath_uris": [ ],
- "fix_commits": [ ],
- "has_been_fixed": null,
- "source": null,
- "maintainer_severity": null
}
], - "references": [
- {
- "type": null,
- "url": null
}
], - "epss_score": {
- "probability_score": 0.1,
- "percentile_score": 0.1
}, - "raw": {
- "osv_vulnerability": {
- "schema_version": null,
- "id": null,
- "published": null,
- "modified": null,
- "withdrawn": null,
- "aliases": [ ],
- "related": [ ],
- "package": null,
- "summary": null,
- "details": null,
- "affected": [ ],
- "references": [ ],
- "database_specific": { },
- "severity": [ ],
- "credits": [ ]
}, - "endor_vulnerability": {
- "cve_id": null,
- "cve_description": null,
- "cvss_score": null,
- "cvss_vector": null,
- "cwe": null,
- "cve_references": [ ],
- "package_name": null,
- "ecosystem": null,
- "fix_commit": [ ],
- "additional_notes": null,
- "component": [ ],
- "deepdive": null,
- "disputed": null,
- "nofix": null,
- "schema_version": null,
- "malicious": null,
- "withdrawn": null
}, - "epss_record": {
- "cve_id": null,
- "probability": null,
- "percentile": null,
- "ingestion_time": null
}, - "nvd_vulnerability": {
- "cve": null
}, - "kev_record": {
- "cve_id": null,
- "vendor_project": null,
- "product": null,
- "vulnerability_name": null,
- "date_added": null,
- "short_description": null,
- "required_action": null,
- "due_date": null,
- "known_ransomware_campaign_use": null,
- "notes": null
}
}, - "malicious": true,
- "additional_endor_notes": [
- "string"
]
}
}
]
}
}, - "number_of_endor_patches": 0,
- "number_of_original_patches": 0,
- "are_tests_run": true
}, - "version_type": "VERSION_TYPE_UNSPECIFIED"
}, - "processing_status": {
- "scan_state": "SCAN_STATE_UNSPECIFIED",
- "scan_time": "2019-08-24T14:15:22Z",
- "analytic_time": "2019-08-24T14:15:22Z",
- "queue_time": "2019-08-24T14:15:22Z",
- "disable_automated_scan": true,
- "metadata": {
- "full_history_scan_time": "2019-08-24T14:15:22Z"
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
DeleteAssuredPackageVersion
Deletes an assured package version specified by its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
ListAuditLogs
List all audit logs in a given namespace.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "message_uuid": "string",
- "message_kind": "string",
- "operation": "OPERATION_UNSPECIFIED",
- "payload": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "error": {
- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}, - "claims": [
- "string"
], - "remote_address": "string"
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateAuditLog
Creates an audit log for a given object.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Namespace of the message that is accessed.) Namespace of the message that is accessed. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1AuditLogSpec) |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "message_uuid": "string",
- "message_kind": "string",
- "operation": "OPERATION_UNSPECIFIED",
- "payload": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "error": {
- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}, - "claims": [
- "string"
], - "remote_address": "string"
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "message_uuid": "string",
- "message_kind": "string",
- "operation": "OPERATION_UNSPECIFIED",
- "payload": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "error": {
- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}, - "claims": [
- "string"
], - "remote_address": "string"
}
}
GetAuditLog
Fetches an audit log identified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "message_uuid": "string",
- "message_kind": "string",
- "operation": "OPERATION_UNSPECIFIED",
- "payload": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "error": {
- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}, - "claims": [
- "string"
], - "remote_address": "string"
}
}
DeleteAuditLog
Deletes an audit log specified by its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
Authenticate
Initiates an authentication request and returns a token along with the token expiration time for an authenticated user.
path Parameters
authentication_source required | string Specifies a user's authentication method, such as "GitHub". |
query Parameters
key | string The API key used for system authentication. Key is required only if the authentication source is "api-key". |
secret | string The API secret used for system authentication. Secret is required only if the authentication source is "api-key". |
Responses
Response samples
- 200
- default
{- "authentication_source": "string",
- "token": "string",
- "expiration_time": "2019-08-24T14:15:22Z",
- "user": {
- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "user_name": "string",
- "first_name": "string",
- "last_name": "string",
- "email": "string",
- "last_login_time": "2019-08-24T14:15:22Z",
- "event_tracking": {
- "property1": {
- "event": [
- "string"
]
}, - "property2": {
- "event": [
- "string"
]
}
}, - "token_hash": "string"
}
}
}
Logout
Clears the user session and cookies.
path Parameters
authentication_source required | string Specifies a user's authentication method, such as "GitHub". |
query Parameters
key | string The API key used for system authentication. Key is required only if the authentication source is "api-key". |
secret | string The API secret used for system authentication. Secret is required only if the authentication source is "api-key". |
Responses
Response samples
- 200
- default
{- "authentication_source": "string",
- "token": "string",
- "expiration_time": "2019-08-24T14:15:22Z",
- "user": {
- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "user_name": "string",
- "first_name": "string",
- "last_name": "string",
- "email": "string",
- "last_login_time": "2019-08-24T14:15:22Z",
- "event_tracking": {
- "property1": {
- "event": [
- "string"
]
}, - "property2": {
- "event": [
- "string"
]
}
}, - "token_hash": "string"
}
}
}
ListAuthenticationLogs
Lists all authentication logs in a given namespace.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "success": true,
- "authorized_tenants": [
- "string"
], - "error_message": "string",
- "status": 0,
- "claims": [
- "string"
], - "remote_address": "string",
- "uri": "string"
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateAuthenticationLog
Creates an authentication log for a given object.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Namespace of the message that is accessed.) Namespace of the message that is accessed. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1AuthenticationLogSpec) |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "success": true,
- "authorized_tenants": [
- "string"
], - "error_message": "string",
- "status": 0,
- "claims": [
- "string"
], - "remote_address": "string",
- "uri": "string"
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "success": true,
- "authorized_tenants": [
- "string"
], - "error_message": "string",
- "status": 0,
- "claims": [
- "string"
], - "remote_address": "string",
- "uri": "string"
}
}
GetAuthenticationLog
Fetches the authentication log identified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "success": true,
- "authorized_tenants": [
- "string"
], - "error_message": "string",
- "status": 0,
- "claims": [
- "string"
], - "remote_address": "string",
- "uri": "string"
}
}
DeleteAuthenticationLog
Deletes the authentication log specified by its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
UpdateAuthorizationPolicy
Updates the authorization policy for a given tenant.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object Represents an authorization policy in the system. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "clause": [
- "string"
], - "target_namespaces": [
- "string"
], - "propagate": true,
- "permissions": {
- "rules": {
- "property1": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}, - "property2": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}
}, - "roles": [
- "SYSTEM_ROLE_UNSPECIFIED"
], - "except_resources": [
- "string"
]
}, - "expiration_time": "2019-08-24T14:15:22Z"
}, - "propagate": true
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "clause": [
- "string"
], - "target_namespaces": [
- "string"
], - "propagate": true,
- "permissions": {
- "rules": {
- "property1": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}, - "property2": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}
}, - "roles": [
- "SYSTEM_ROLE_UNSPECIFIED"
], - "except_resources": [
- "string"
]
}, - "expiration_time": "2019-08-24T14:15:22Z"
}, - "propagate": true
}
ListAuthorizationPolicies
Lists all authorization policies for a given tenant.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "clause": [
- "string"
], - "target_namespaces": [
- "string"
], - "propagate": true,
- "permissions": {
- "rules": {
- "property1": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}, - "property2": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}
}, - "roles": [
- "SYSTEM_ROLE_UNSPECIFIED"
], - "except_resources": [
- "string"
]
}, - "expiration_time": "2019-08-24T14:15:22Z"
}, - "propagate": true
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateAuthorizationPolicy
Creates an authorization policy for a given tenant.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Authorization policies are associated with a tenant.) Authorization policies are associated with a tenant. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1AuthorizationPolicySpec) |
propagate | boolean Indicates that the object should be visible in the child namespaces. |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "clause": [
- "string"
], - "target_namespaces": [
- "string"
], - "propagate": true,
- "permissions": {
- "rules": {
- "property1": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}, - "property2": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}
}, - "roles": [
- "SYSTEM_ROLE_UNSPECIFIED"
], - "except_resources": [
- "string"
]
}, - "expiration_time": "2019-08-24T14:15:22Z"
}, - "propagate": true
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "clause": [
- "string"
], - "target_namespaces": [
- "string"
], - "propagate": true,
- "permissions": {
- "rules": {
- "property1": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}, - "property2": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}
}, - "roles": [
- "SYSTEM_ROLE_UNSPECIFIED"
], - "except_resources": [
- "string"
]
}, - "expiration_time": "2019-08-24T14:15:22Z"
}, - "propagate": true
}
GetAuthorizationPolicy
Fetches an authorization policy specified by its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "clause": [
- "string"
], - "target_namespaces": [
- "string"
], - "propagate": true,
- "permissions": {
- "rules": {
- "property1": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}, - "property2": {
- "methods": [
- "METHOD_UNSPECIFIED"
]
}
}, - "roles": [
- "SYSTEM_ROLE_UNSPECIFIED"
], - "except_resources": [
- "string"
]
}, - "expiration_time": "2019-08-24T14:15:22Z"
}, - "propagate": true
}
DeleteAuthorizationPolicy
Deletes an authorization policy specified by its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
UpdateCallGraphData
Updates the metadata of a callgraph.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object CallGraphData represents a call graph data request in the system. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "tenant_meta": { },
- "zstd_bytes": "string",
- "any": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "zstd_bytes": "string",
- "any": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "related_object": "string",
- "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}, - "storage_url": "string"
}
ListCallGraphData
Lists all call graph data in a namespace.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "zstd_bytes": "string",
- "any": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "related_object": "string",
- "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}, - "storage_url": "string"
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateCallGraphData
Creates a call graph. The object must provide a parent ID that is the associated package version that this call graph belongs to. A create operation will replace any previous data and is considered an upsert.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
required | object (v1Meta) Common fields for all Endor Labs resources. |
tenant_meta | object (Namespaces are associated with a tenant.) Namespaces are associated with a tenant. |
zstd_bytes | string <byte> Callgraph proto bytes are encoded in zstd bytes. The caller is responsible to compress/uncompress the bytes. |
object (googleprotobufAny)
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++.
Example 2: Pack and unpack a message in Java.
Example 3: Pack and unpack a message in Python.
Example 4: Pack and unpack a message in Go
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
If the embedded message type is well-known and has a custom JSON
representation, that representation will be embedded adding a field
| |
object (v1Context) Contexts keep objects from different scans separated. |
Responses
Request samples
- Payload
{- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "tenant_meta": { },
- "zstd_bytes": "string",
- "any": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "zstd_bytes": "string",
- "any": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "related_object": "string",
- "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}, - "storage_url": "string"
}
GetCallGraphData
Fetches the call graph for a given package version that is captured in the parent UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "zstd_bytes": "string",
- "any": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "related_object": "string",
- "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}, - "storage_url": "string"
}
DeleteCallGraphData
Deletes a call graph for the given package version that is captured in the parent UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
UpdateCIRun
Updates a specified CI run.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object Represents the information captured from a CI run of endorctl. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "run_uuid": "string",
- "run_tags": [
- "string"
], - "baseline": "string"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "run_uuid": "string",
- "run_tags": [
- "string"
], - "baseline": "string"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
ListCIRuns
Lists all CI runs in a namespace.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "run_uuid": "string",
- "run_tags": [
- "string"
], - "baseline": "string"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateCIRun
Creates a CI run.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (CI runs are associated with a tenant.) CI runs are associated with a tenant. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
object (v1CIRunSpec) | |
required | object (v1Context) Contexts keep objects from different scans separated. |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "run_uuid": "string",
- "run_tags": [
- "string"
], - "baseline": "string"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "run_uuid": "string",
- "run_tags": [
- "string"
], - "baseline": "string"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
GetCIRun
Fetches a CI run specified by its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "run_uuid": "string",
- "run_tags": [
- "string"
], - "baseline": "string"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
DeleteCIRun
Deletes a CI run specified by its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
ListVersionDiffs
Lists all version diffs in a namespace.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "pkg_version_uuid": "string",
- "to_pkg_version_uuid": "string",
- "func_diff": [
- {
- "id": "string",
- "function_reference": "string",
- "defined": true,
- "diff_change": "CHANGE_TYPE_UNSPECIFIED",
- "modifier_change": "MODIFIER_CHANGE_TYPE_UNSPECIFIED"
}
], - "type_diff": [
- {
- "id": "string",
- "declared_type": "string",
- "package_name": "string",
- "diff_change": "CHANGE_TYPE_UNSPECIFIED",
- "modifier_change": "MODIFIER_CHANGE_TYPE_UNSPECIFIED"
}
]
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateVersionDiff
Creates a version diff. The creation of the resource will be an upsert if the given spec.external_id and spec.platform_resource are already available.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Tenant metadata information.) Tenant metadata information. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
object (v1VersionDiffSpec) |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "pkg_version_uuid": "string",
- "to_pkg_version_uuid": "string",
- "func_diff": [
- {
- "id": "string",
- "function_reference": "string",
- "defined": true,
- "diff_change": "CHANGE_TYPE_UNSPECIFIED",
- "modifier_change": "MODIFIER_CHANGE_TYPE_UNSPECIFIED"
}
], - "type_diff": [
- {
- "id": "string",
- "declared_type": "string",
- "package_name": "string",
- "diff_change": "CHANGE_TYPE_UNSPECIFIED",
- "modifier_change": "MODIFIER_CHANGE_TYPE_UNSPECIFIED"
}
]
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "pkg_version_uuid": "string",
- "to_pkg_version_uuid": "string",
- "func_diff": [
- {
- "id": "string",
- "function_reference": "string",
- "defined": true,
- "diff_change": "CHANGE_TYPE_UNSPECIFIED",
- "modifier_change": "MODIFIER_CHANGE_TYPE_UNSPECIFIED"
}
], - "type_diff": [
- {
- "id": "string",
- "declared_type": "string",
- "package_name": "string",
- "diff_change": "CHANGE_TYPE_UNSPECIFIED",
- "modifier_change": "MODIFIER_CHANGE_TYPE_UNSPECIFIED"
}
]
}
}
GetVersionDiff
Fetches a version diff identified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "pkg_version_uuid": "string",
- "to_pkg_version_uuid": "string",
- "func_diff": [
- {
- "id": "string",
- "function_reference": "string",
- "defined": true,
- "diff_change": "CHANGE_TYPE_UNSPECIFIED",
- "modifier_change": "MODIFIER_CHANGE_TYPE_UNSPECIFIED"
}
], - "type_diff": [
- {
- "id": "string",
- "declared_type": "string",
- "package_name": "string",
- "diff_change": "CHANGE_TYPE_UNSPECIFIED",
- "modifier_change": "MODIFIER_CHANGE_TYPE_UNSPECIFIED"
}
]
}
}
DeleteVersionDiff
Deletes a version diff.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
CreateClientLog
Creates a client log for a given object.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Namespace of the message that is accessed.) Namespace of the message that is accessed. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1ClientLogSpec) |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "log_messages": [
- {
- "level": "LOG_LEVEL_UNSPECIFIED",
- "json_payload": "string",
- "tags": {
- "property1": "string",
- "property2": "string"
}, - "timestamp": "2019-08-24T14:15:22Z"
}
], - "source": "string"
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "log_messages": [
- {
- "level": "LOG_LEVEL_UNSPECIFIED",
- "json_payload": "string",
- "tags": {
- "property1": "string",
- "property2": "string"
}, - "timestamp": "2019-08-24T14:15:22Z"
}
], - "source": "string"
}
}
UpdateCodeOwners
Updates the CodeOwner object specified by the UUID.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object Code owner information for a project. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "patterns": {
- "property1": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}, - "property2": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}
}
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "patterns": {
- "property1": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}, - "property2": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}
}
}
}
ListCodeOwners
Lists all CodeOwners objects in a namespace.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "patterns": {
- "property1": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}, - "property2": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}
}
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateCodeOwners
Creates a CodeOwners object.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Tenant data.) Tenant data. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1CodeOwnersSpec) |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "patterns": {
- "property1": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}, - "property2": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "patterns": {
- "property1": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}, - "property2": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}
}
}
}
GetCodeOwners
Fetches the CodeOwners object identified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "patterns": {
- "property1": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}, - "property2": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}
}
}
}
DeleteCodeOwners
Deletes the CodeOwners object specified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
CreateCertificate
Creates a new certificate from the provided certificate request.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
required | object (v1Meta) Common fields for all Endor Labs resources. |
tenant_meta | object (Tenant metadata required for certificate requests.) Tenant metadata required for certificate requests. |
object (v1CertificateRequestSpec) |
Responses
Request samples
- Payload
{- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "tenant_meta": { },
- "spec": {
- "certificate_request": "string",
- "type": "REQUEST_TYPE_UNSPECIFIED",
- "extensions": {
- "runner_environment": "string",
- "source_repository": "string",
- "source_repository_digest": "string",
- "source_repository_owner": "string",
- "source_repository_ref": "string",
- "build_config_name": "string",
- "build_config_digest": "string",
- "certificate_identity": "string",
- "certificate_oidc_issuer": "string"
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "spec": {
- "certificate_request": "string",
- "certificate": "string",
- "type": "REQUEST_TYPE_UNSPECIFIED",
- "extensions": {
- "runner_environment": "string",
- "source_repository": "string",
- "source_repository_digest": "string",
- "source_repository_owner": "string",
- "source_repository_ref": "string",
- "build_config_name": "string",
- "build_config_digest": "string",
- "certificate_identity": "string",
- "certificate_oidc_issuer": "string"
}
}
}
GetDefaultTemplate
Fetches the default template for the given template type.
path Parameters
custom_template_type required | string template_type is the type of the template. |
Responses
Response samples
- 200
- default
{- "template_type": "CUSTOM_TEMPLATE_TYPE_UNSPECIFIED",
- "prcomments_template": {
- "findings_summary_template": "string"
}, - "email_template": {
- "open_action_template": "string",
- "update_action_template": "string",
- "resolve_action_template": "string"
}, - "slack_template": {
- "open_action_template": "string",
- "update_action_template": "string"
}, - "webhook_template": {
- "open_action_template": "string",
- "update_action_template": "string",
- "resolve_action_template": "string"
}
}
UpdateDashboardConfig
Updates a specified dashboard configuration.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object DashboardConfig represents the dashboard configuration for a namespace. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "vuln_prioritization": {
- "epss_probability_score_threshold": 0.1,
- "finding_reachability_tags": [
- "FINDING_TAGS_UNSPECIFIED"
]
}, - "dev_estimate": {
- "baseline_findings_filter": "string",
- "dev_hours": 0.1,
- "hourly_cost": 0.1,
- "currency_code": "string"
}, - "sla_days": {
- "critical": 0,
- "high": 0,
- "medium": 0,
- "low": 0
}
}, - "propagate": true
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "vuln_prioritization": {
- "epss_probability_score_threshold": 0.1,
- "finding_reachability_tags": [
- "FINDING_TAGS_UNSPECIFIED"
]
}, - "dev_estimate": {
- "baseline_findings_filter": "string",
- "dev_hours": 0.1,
- "hourly_cost": 0.1,
- "currency_code": "string"
}, - "sla_days": {
- "critical": 0,
- "high": 0,
- "medium": 0,
- "low": 0
}
}, - "propagate": true
}
ListDashboardConfig
Lists all dashboard configuration objects.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "vuln_prioritization": {
- "epss_probability_score_threshold": 0.1,
- "finding_reachability_tags": [
- "FINDING_TAGS_UNSPECIFIED"
]
}, - "dev_estimate": {
- "baseline_findings_filter": "string",
- "dev_hours": 0.1,
- "hourly_cost": 0.1,
- "currency_code": "string"
}, - "sla_days": {
- "critical": 0,
- "high": 0,
- "medium": 0,
- "low": 0
}
}, - "propagate": true
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateDashboardConfig
Creates a dashboard configuration object.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (DashboardConfig is associated with a tenant and namespace.) DashboardConfig is associated with a tenant and namespace. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1DashboardConfigSpec) |
propagate | boolean Propagate indicates that the object should be visible in child namespaces. |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "vuln_prioritization": {
- "epss_probability_score_threshold": 0.1,
- "finding_reachability_tags": [
- "FINDING_TAGS_UNSPECIFIED"
]
}, - "dev_estimate": {
- "baseline_findings_filter": "string",
- "dev_hours": 0.1,
- "hourly_cost": 0.1,
- "currency_code": "string"
}, - "sla_days": {
- "critical": 0,
- "high": 0,
- "medium": 0,
- "low": 0
}
}, - "propagate": true
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "vuln_prioritization": {
- "epss_probability_score_threshold": 0.1,
- "finding_reachability_tags": [
- "FINDING_TAGS_UNSPECIFIED"
]
}, - "dev_estimate": {
- "baseline_findings_filter": "string",
- "dev_hours": 0.1,
- "hourly_cost": 0.1,
- "currency_code": "string"
}, - "sla_days": {
- "critical": 0,
- "high": 0,
- "medium": 0,
- "low": 0
}
}, - "propagate": true
}
GetDashboardConfig
Fetches a specified dashboard configuration.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "vuln_prioritization": {
- "epss_probability_score_threshold": 0.1,
- "finding_reachability_tags": [
- "FINDING_TAGS_UNSPECIFIED"
]
}, - "dev_estimate": {
- "baseline_findings_filter": "string",
- "dev_hours": 0.1,
- "hourly_cost": 0.1,
- "currency_code": "string"
}, - "sla_days": {
- "critical": 0,
- "high": 0,
- "medium": 0,
- "low": 0
}
}, - "propagate": true
}
DeleteDashboardConfig
Deletes a specified dashboard configuration.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
UpdateDemo
Updates a provided namespace based on its UUID.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object Demo provides a mechanism for isolating groups of resources. Demos may be defined in a parent child hierarchy. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "requested_project": "string",
- "initiate_scan": true
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "workflow_url": "string",
- "demo_projects": [
- "string"
], - "requested_project": "string",
- "initiate_scan": true,
- "code_url": "string",
- "workflow_id": "string",
- "workflow_logs": "string",
- "job_status": { }
}
}
ListDemos
Lists all namespaces in a tenant.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "workflow_url": "string",
- "demo_projects": [
- "string"
], - "requested_project": "string",
- "initiate_scan": true,
- "code_url": "string",
- "workflow_id": "string",
- "workflow_logs": "string",
- "job_status": { }
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateDemo
Creates a namespace.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Demos are per tenant.) Demos are per tenant. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
object (v1DemoSpec) |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "requested_project": "string",
- "initiate_scan": true
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "workflow_url": "string",
- "demo_projects": [
- "string"
], - "requested_project": "string",
- "initiate_scan": true,
- "code_url": "string",
- "workflow_id": "string",
- "workflow_logs": "string",
- "job_status": { }
}
}
GetDemo
Returns a provided namespace based on its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "workflow_url": "string",
- "demo_projects": [
- "string"
], - "requested_project": "string",
- "initiate_scan": true,
- "code_url": "string",
- "workflow_id": "string",
- "workflow_logs": "string",
- "job_status": { }
}
}
DeleteDemo
Deletes a provided namespace based on its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
UpdateDependencyMetadata
Update a specified dependency metadata object.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object Information about the relationship between a root package version (importer) and one of its dependencies. DependencyMetadata objects are children of the root PackageVersion object and belong to the same project and namespace as the root PackageVersion object. They are connected to the importer project through spec.importer_data.project_uuid, and to the dependency project through spec.dependency_data.project_uuid. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "dependency_data": {
- "project_uuid": "string",
- "package_name": "string",
- "package_version_uuid": "string",
- "unresolved_version": "string",
- "resolved_version": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "direct": true,
- "pinned": true,
- "reachable": "REACHABILITY_TYPE_UNSPECIFIED",
- "utilization": 0.1,
- "namespace": "string",
- "parent_version_name": "string",
- "repo_name": "string",
- "scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "internal": true,
- "parent_count": 0,
- "callgraph_available": true,
- "last_commit": "2019-08-24T14:15:22Z",
- "abstract": true,
- "orphan": true,
- "missing": true,
- "approximation": true,
- "public": true,
- "project_paths": [
- {
- "nodes": [
- "string"
]
}
], - "vendored": true,
- "discovery_type": "DISCOVERY_TYPE_UNSPECIFIED",
- "patched": true,
- "container_data": {
- "layers": [
- {
- "digest": "string",
- "file_locations": [
- "string"
], - "base_layer": true
}
]
}, - "purl": "string"
}, - "importer_data": {
- "project_uuid": "string",
- "package_name": "string",
- "package_version_uuid": "string",
- "package_version_name": "string",
- "package_version_sha": "string",
- "package_version_ref": "string",
- "callgraph_available": true,
- "version_name": "string",
- "container_base_image": {
- "name": "string"
}
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "dependency_data": {
- "project_uuid": "string",
- "package_name": "string",
- "package_version_uuid": "string",
- "unresolved_version": "string",
- "resolved_version": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "direct": true,
- "pinned": true,
- "reachable": "REACHABILITY_TYPE_UNSPECIFIED",
- "utilization": 0.1,
- "namespace": "string",
- "parent_version_name": "string",
- "repo_name": "string",
- "scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "internal": true,
- "parent_count": 0,
- "callgraph_available": true,
- "last_commit": "2019-08-24T14:15:22Z",
- "abstract": true,
- "orphan": true,
- "missing": true,
- "approximation": true,
- "public": true,
- "project_paths": [
- {
- "nodes": [
- "string"
]
}
], - "vendored": true,
- "discovery_type": "DISCOVERY_TYPE_UNSPECIFIED",
- "patched": true,
- "container_data": {
- "layers": [
- {
- "digest": "string",
- "file_locations": [
- "string"
], - "base_layer": true
}
]
}, - "purl": "string"
}, - "importer_data": {
- "project_uuid": "string",
- "package_name": "string",
- "package_version_uuid": "string",
- "package_version_name": "string",
- "package_version_sha": "string",
- "package_version_ref": "string",
- "callgraph_available": true,
- "version_name": "string",
- "container_base_image": {
- "name": "string"
}
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
ListDependencyMetadata
List dependency metadata objects based on the specified list parameters.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "dependency_data": {
- "project_uuid": "string",
- "package_name": "string",
- "package_version_uuid": "string",
- "unresolved_version": "string",
- "resolved_version": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "direct": true,
- "pinned": true,
- "reachable": "REACHABILITY_TYPE_UNSPECIFIED",
- "utilization": 0.1,
- "namespace": "string",
- "parent_version_name": "string",
- "repo_name": "string",
- "scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "internal": true,
- "parent_count": 0,
- "callgraph_available": true,
- "last_commit": "2019-08-24T14:15:22Z",
- "abstract": true,
- "orphan": true,
- "missing": true,
- "approximation": true,
- "public": true,
- "project_paths": [
- {
- "nodes": [
- "string"
]
}
], - "vendored": true,
- "discovery_type": "DISCOVERY_TYPE_UNSPECIFIED",
- "patched": true,
- "container_data": {
- "layers": [
- {
- "digest": "string",
- "file_locations": [
- null
], - "base_layer": true
}
]
}, - "purl": "string"
}, - "importer_data": {
- "project_uuid": "string",
- "package_name": "string",
- "package_version_uuid": "string",
- "package_version_name": "string",
- "package_version_sha": "string",
- "package_version_ref": "string",
- "callgraph_available": true,
- "version_name": "string",
- "container_base_image": {
- "name": "string"
}
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateDependencyMetadata
Creates a dependency metadata object.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Information about the tenant to which the root package (importer) belongs.) Information about the tenant to which the root package (importer) belongs. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1DependencyMetadataSpec) DependencyMetadata specific data. |
required | object (v1Context) Contexts keep objects from different scans separated. |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "dependency_data": {
- "project_uuid": "string",
- "package_name": "string",
- "package_version_uuid": "string",
- "unresolved_version": "string",
- "resolved_version": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "direct": true,
- "pinned": true,
- "reachable": "REACHABILITY_TYPE_UNSPECIFIED",
- "utilization": 0.1,
- "namespace": "string",
- "parent_version_name": "string",
- "repo_name": "string",
- "scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "internal": true,
- "parent_count": 0,
- "callgraph_available": true,
- "last_commit": "2019-08-24T14:15:22Z",
- "abstract": true,
- "orphan": true,
- "missing": true,
- "approximation": true,
- "public": true,
- "project_paths": [
- {
- "nodes": [
- "string"
]
}
], - "vendored": true,
- "discovery_type": "DISCOVERY_TYPE_UNSPECIFIED",
- "patched": true,
- "container_data": {
- "layers": [
- {
- "digest": "string",
- "file_locations": [
- "string"
], - "base_layer": true
}
]
}, - "purl": "string"
}, - "importer_data": {
- "project_uuid": "string",
- "package_name": "string",
- "package_version_uuid": "string",
- "package_version_name": "string",
- "package_version_sha": "string",
- "package_version_ref": "string",
- "callgraph_available": true,
- "version_name": "string",
- "container_base_image": {
- "name": "string"
}
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "dependency_data": {
- "project_uuid": "string",
- "package_name": "string",
- "package_version_uuid": "string",
- "unresolved_version": "string",
- "resolved_version": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "direct": true,
- "pinned": true,
- "reachable": "REACHABILITY_TYPE_UNSPECIFIED",
- "utilization": 0.1,
- "namespace": "string",
- "parent_version_name": "string",
- "repo_name": "string",
- "scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "internal": true,
- "parent_count": 0,
- "callgraph_available": true,
- "last_commit": "2019-08-24T14:15:22Z",
- "abstract": true,
- "orphan": true,
- "missing": true,
- "approximation": true,
- "public": true,
- "project_paths": [
- {
- "nodes": [
- "string"
]
}
], - "vendored": true,
- "discovery_type": "DISCOVERY_TYPE_UNSPECIFIED",
- "patched": true,
- "container_data": {
- "layers": [
- {
- "digest": "string",
- "file_locations": [
- "string"
], - "base_layer": true
}
]
}, - "purl": "string"
}, - "importer_data": {
- "project_uuid": "string",
- "package_name": "string",
- "package_version_uuid": "string",
- "package_version_name": "string",
- "package_version_sha": "string",
- "package_version_ref": "string",
- "callgraph_available": true,
- "version_name": "string",
- "container_base_image": {
- "name": "string"
}
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
GetDependencyMetadata
Returns a specified dependency metadata object.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "dependency_data": {
- "project_uuid": "string",
- "package_name": "string",
- "package_version_uuid": "string",
- "unresolved_version": "string",
- "resolved_version": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "direct": true,
- "pinned": true,
- "reachable": "REACHABILITY_TYPE_UNSPECIFIED",
- "utilization": 0.1,
- "namespace": "string",
- "parent_version_name": "string",
- "repo_name": "string",
- "scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "internal": true,
- "parent_count": 0,
- "callgraph_available": true,
- "last_commit": "2019-08-24T14:15:22Z",
- "abstract": true,
- "orphan": true,
- "missing": true,
- "approximation": true,
- "public": true,
- "project_paths": [
- {
- "nodes": [
- "string"
]
}
], - "vendored": true,
- "discovery_type": "DISCOVERY_TYPE_UNSPECIFIED",
- "patched": true,
- "container_data": {
- "layers": [
- {
- "digest": "string",
- "file_locations": [
- "string"
], - "base_layer": true
}
]
}, - "purl": "string"
}, - "importer_data": {
- "project_uuid": "string",
- "package_name": "string",
- "package_version_uuid": "string",
- "package_version_name": "string",
- "package_version_sha": "string",
- "package_version_ref": "string",
- "callgraph_available": true,
- "version_name": "string",
- "container_base_image": {
- "name": "string"
}
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
DeleteDependencyMetadata
Delete a specified dependency metadata object.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
CreateBatchDependencyMetadata
Create multiple dependency metadata objects through a batch API call.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1Meta) Common fields for all Endor Labs resources. | |
tenant_meta | object (Information about the tenant to which the root package (importer) belongs.) Information about the tenant to which the root package (importer) belongs. |
object (v1BatchDependencyMetadataSpec) BatchDependencyMetadata specific data. |
Responses
Request samples
- Payload
{- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "tenant_meta": { },
- "spec": {
- "data": [
- {
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "dependency_data": {
- "project_uuid": "string",
- "package_name": "string",
- "package_version_uuid": "string",
- "unresolved_version": "string",
- "resolved_version": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "direct": true,
- "pinned": true,
- "reachable": "REACHABILITY_TYPE_UNSPECIFIED",
- "utilization": 0.1,
- "namespace": "string",
- "parent_version_name": "string",
- "repo_name": "string",
- "scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "internal": true,
- "parent_count": 0,
- "callgraph_available": true,
- "last_commit": "2019-08-24T14:15:22Z",
- "abstract": true,
- "orphan": true,
- "missing": true,
- "approximation": true,
- "public": true,
- "project_paths": [
- {
- "nodes": [
- "string"
]
}
], - "vendored": true,
- "discovery_type": "DISCOVERY_TYPE_UNSPECIFIED",
- "patched": true,
- "container_data": {
- "layers": [
- {
- "digest": "string",
- "file_locations": [
- null
], - "base_layer": true
}
]
}, - "purl": "string"
}, - "importer_data": {
- "project_uuid": "string",
- "package_name": "string",
- "package_version_uuid": "string",
- "package_version_name": "string",
- "package_version_sha": "string",
- "package_version_ref": "string",
- "callgraph_available": true,
- "version_name": "string",
- "container_base_image": {
- "name": "string"
}
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
]
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "spec": {
- "data": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "dependency_data": {
- "project_uuid": "string",
- "package_name": "string",
- "package_version_uuid": "string",
- "unresolved_version": "string",
- "resolved_version": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "direct": true,
- "pinned": true,
- "reachable": "REACHABILITY_TYPE_UNSPECIFIED",
- "utilization": 0.1,
- "namespace": "string",
- "parent_version_name": "string",
- "repo_name": "string",
- "scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "internal": true,
- "parent_count": 0,
- "callgraph_available": true,
- "last_commit": "2019-08-24T14:15:22Z",
- "abstract": true,
- "orphan": true,
- "missing": true,
- "approximation": true,
- "public": true,
- "project_paths": [
- {
- "nodes": [
- "string"
]
}
], - "vendored": true,
- "discovery_type": "DISCOVERY_TYPE_UNSPECIFIED",
- "patched": true,
- "container_data": {
- "layers": [
- {
- "digest": "string",
- "file_locations": [
- null
], - "base_layer": true
}
]
}, - "purl": "string"
}, - "importer_data": {
- "project_uuid": "string",
- "package_name": "string",
- "package_version_uuid": "string",
- "package_version_name": "string",
- "package_version_sha": "string",
- "package_version_ref": "string",
- "callgraph_available": true,
- "version_name": "string",
- "container_base_image": {
- "name": "string"
}
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
]
}
}
UpdateEvaluationMethod
Updates the evaluation method.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object EvaluationMethod represents an evaluation method. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "type": "EVALUATION_METHOD_TYPE_UNSPECIFIED",
- "system_method": "SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED",
- "target_kinds": [
- "string"
]
}, - "propagate": true
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "type": "EVALUATION_METHOD_TYPE_UNSPECIFIED",
- "system_method": "SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED",
- "target_kinds": [
- "string"
]
}, - "propagate": true
}
ListEvaluationMethods
Lists all evaluation methods.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "type": "EVALUATION_METHOD_TYPE_UNSPECIFIED",
- "system_method": "SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED",
- "target_kinds": [
- "string"
]
}, - "propagate": true
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateEvaluationMethod
Creates an evaluation method.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (EvaluationMethods are associated with a tenant and namespace.) EvaluationMethods are associated with a tenant and namespace. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1EvaluationMethodSpec) |
propagate | boolean Indicates that the object should be visible in child namespaces. |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "type": "EVALUATION_METHOD_TYPE_UNSPECIFIED",
- "system_method": "SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED",
- "target_kinds": [
- "string"
]
}, - "propagate": true
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "type": "EVALUATION_METHOD_TYPE_UNSPECIFIED",
- "system_method": "SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED",
- "target_kinds": [
- "string"
]
}, - "propagate": true
}
GetEvaluationMethod
Fetches the evaluation method identified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "type": "EVALUATION_METHOD_TYPE_UNSPECIFIED",
- "system_method": "SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED",
- "target_kinds": [
- "string"
]
}, - "propagate": true
}
DeleteEvaluationMethod
Deletes the evaluation method specified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
UpdateEvaluationParameter
Updates an evaluation parameter.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object EvaluationParameter represents an evaluation parameter. The parameters are applied to the method before execution. The parameters correspond to the method identified by the parent UUID. Order of evaluation: For system methods, parameters at the system namespace are used first. If a tenant namespace has parameters for the same method, they overwrite the system level parameters. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "disable": true,
- "parameters": {
- "property1": {
- "string_value": "string",
- "int_value": "string",
- "bool_value": true,
- "float_value": 0.1
}, - "property2": {
- "string_value": "string",
- "int_value": "string",
- "bool_value": true,
- "float_value": 0.1
}
}
}, - "propagate": true
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "disable": true,
- "parameters": {
- "property1": {
- "string_value": "string",
- "int_value": "string",
- "bool_value": true,
- "float_value": 0.1
}, - "property2": {
- "string_value": "string",
- "int_value": "string",
- "bool_value": true,
- "float_value": 0.1
}
}
}, - "propagate": true
}
ListEvaluationParameters
Lists all evaluation parameters.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "disable": true,
- "parameters": {
- "property1": {
- "string_value": "string",
- "int_value": "string",
- "bool_value": true,
- "float_value": 0.1
}, - "property2": {
- "string_value": "string",
- "int_value": "string",
- "bool_value": true,
- "float_value": 0.1
}
}
}, - "propagate": true
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateEvaluationParameter
Creates a evaluation parameter.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Evaluation parameters are associated with a tenant and namespace.) Evaluation parameters are associated with a tenant and namespace. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1EvaluationParameterSpec) |
propagate | boolean Indicates that the object should be visible in child namespaces. |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "disable": true,
- "parameters": {
- "property1": {
- "string_value": "string",
- "int_value": "string",
- "bool_value": true,
- "float_value": 0.1
}, - "property2": {
- "string_value": "string",
- "int_value": "string",
- "bool_value": true,
- "float_value": 0.1
}
}
}, - "propagate": true
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "disable": true,
- "parameters": {
- "property1": {
- "string_value": "string",
- "int_value": "string",
- "bool_value": true,
- "float_value": 0.1
}, - "property2": {
- "string_value": "string",
- "int_value": "string",
- "bool_value": true,
- "float_value": 0.1
}
}
}, - "propagate": true
}
GetEvaluationParameter
Fetches the evaluation parameter identified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "disable": true,
- "parameters": {
- "property1": {
- "string_value": "string",
- "int_value": "string",
- "bool_value": true,
- "float_value": 0.1
}, - "property2": {
- "string_value": "string",
- "int_value": "string",
- "bool_value": true,
- "float_value": 0.1
}
}
}, - "propagate": true
}
DeleteEvaluationParameter
Deletes the evaluation parameter specified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
ListExternalProviderModels
Lists all external provider models in a given namespace.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "name": "string",
- "provider": "AI_MODEL_PROVIDER_UNSPECIFIED",
- "project_uuid": "string",
- "terms_of_service": "string"
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateExternalProviderModel
Creates an external provider model.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Models scanned per namespace.) Models scanned per namespace. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1ExternalProviderModelSpec) |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "name": "string",
- "provider": "AI_MODEL_PROVIDER_UNSPECIFIED",
- "project_uuid": "string",
- "terms_of_service": "string"
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "name": "string",
- "provider": "AI_MODEL_PROVIDER_UNSPECIFIED",
- "project_uuid": "string",
- "terms_of_service": "string"
}
}
GetExternalProviderModel
Fetches the external provider model specified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "name": "string",
- "provider": "AI_MODEL_PROVIDER_UNSPECIFIED",
- "project_uuid": "string",
- "terms_of_service": "string"
}
}
DeleteExternalProviderModel
Deletes a specified external provider model specified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
UpdateFileSegments
Update a specified file segment object.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object File segment metadata for a given customer source file. Stored in mongo and used to refresh dependencies. NOTE: Not used for OSS-projects. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "project_uuid": "string",
- "segments": [
- {
- "signature": "string",
- "embedding": {
- "vector": [
- 0.1
]
}, - "code_size": "string"
}
], - "file_hash": "string",
- "scope": "DEPENDENCY_SCOPE_UNSPECIFIED"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "project_uuid": "string",
- "segments": [
- {
- "signature": "string",
- "embedding": {
- "vector": [
- 0.1
]
}, - "code_size": "string"
}
], - "file_hash": "string",
- "scope": "DEPENDENCY_SCOPE_UNSPECIFIED"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
ListFileSegments
List file segment objects based on the specified list parameters.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "project_uuid": "string",
- "segments": [
- {
- "signature": "string",
- "embedding": {
- "vector": [
- 0.1
]
}, - "code_size": "string"
}
], - "file_hash": "string",
- "scope": "DEPENDENCY_SCOPE_UNSPECIFIED"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateFileSegments
Creates a file segment object.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Namespace of the file segments.) Namespace of the file segments. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1FileSegmentsSpec) |
required | object (v1Context) Contexts keep objects from different scans separated. |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "project_uuid": "string",
- "segments": [
- {
- "signature": "string",
- "embedding": {
- "vector": [
- 0.1
]
}, - "code_size": "string"
}
], - "file_hash": "string",
- "scope": "DEPENDENCY_SCOPE_UNSPECIFIED"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "project_uuid": "string",
- "segments": [
- {
- "signature": "string",
- "embedding": {
- "vector": [
- 0.1
]
}, - "code_size": "string"
}
], - "file_hash": "string",
- "scope": "DEPENDENCY_SCOPE_UNSPECIFIED"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
GetFileSegments
Return a specified file segment object.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "project_uuid": "string",
- "segments": [
- {
- "signature": "string",
- "embedding": {
- "vector": [
- 0.1
]
}, - "code_size": "string"
}
], - "file_hash": "string",
- "scope": "DEPENDENCY_SCOPE_UNSPECIFIED"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
DeleteFileSegments
Delete a specified file segment object.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
CreateBatchFileSegments
Create multiple file segment objects through a batch API call.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1Meta) Common fields for all Endor Labs resources. | |
tenant_meta | object (Namespace of the file segments.) Namespace of the file segments. |
object (v1BatchFileSegmentsSpec) BatchFileSegments specific data. |
Responses
Request samples
- Payload
{- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "tenant_meta": { },
- "spec": {
- "data": [
- {
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "project_uuid": "string",
- "segments": [
- {
- "signature": "string",
- "embedding": {
- "vector": [
- 0.1
]
}, - "code_size": "string"
}
], - "file_hash": "string",
- "scope": "DEPENDENCY_SCOPE_UNSPECIFIED"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
]
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "spec": {
- "data": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "project_uuid": "string",
- "segments": [
- {
- "signature": "string",
- "embedding": {
- "vector": [
- 0.1
]
}, - "code_size": "string"
}
], - "file_hash": "string",
- "scope": "DEPENDENCY_SCOPE_UNSPECIFIED"
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
]
}
}
CreateFileHashQueryRequest
Creates a file hash query request.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Namespace of the filehash query request.) Namespace of the filehash query request. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1FileHashQueryRequestSpec) |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "query": {
- "file_hashes": [
- "string"
]
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "query": {
- "file_hashes": [
- "string"
], - "results": {
- "property1": {
- "file": "string",
- "library": "string",
- "version": "string",
- "version_unique": "string",
- "release_date": "2019-08-24T14:15:22Z"
}, - "property2": {
- "file": "string",
- "library": "string",
- "version": "string",
- "version_unique": "string",
- "release_date": "2019-08-24T14:15:22Z"
}
}
}
}
}
UpdateFinding
Update a specified finding.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object A finding contains details of a problem that needs to be fixed. The finding applies to the parent object, which can be one of: Repository, RepositoryVersion, or PackageVersion. Finding objects are connected to the project via spec.project_uuid. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "project_uuid": "string",
- "last_processed": "2019-08-24T14:15:22Z",
- "level": "FINDING_LEVEL_UNSPECIFIED",
- "dismiss": true,
- "remediation": "string",
- "finding_metadata": {
- "root_package_score_card": {
- "overall_score": 0.1,
- "category_scores": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "centered_score": 0.1,
- "raw_score": 0.1
}
], - "analysis_scope_description": "string"
}, - "dependency_score_card": {
- "overall_score": 0.1,
- "category_scores": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "centered_score": 0.1,
- "raw_score": 0.1
}
], - "analysis_scope_description": "string"
}, - "root_package_score_factor_list": {
- "score_factors": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "name": "string",
- "evidence": "string",
- "id": "string",
- "score_float": 0.1
}
]
}, - "dependency_score_factor_list": {
- "score_factors": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "name": "string",
- "evidence": "string",
- "id": "string",
- "score_float": 0.1
}
]
}, - "vulnerability": {
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "deepdive": true,
- "disputed": true,
- "additional_notes": [
- "string"
], - "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "cvss_v3_severity": {
- "score": 0.1,
- "vector": "string",
- "level": "LEVEL_UNSPECIFIED",
- "temporal_score": 0.1,
- "temporal_vector": "string",
- "temporal_level": "LEVEL_UNSPECIFIED"
}, - "credits": [
- {
- "name": "string",
- "contact": [
- "string"
]
}
], - "database_specific": { },
- "summary": "string",
- "affected": [
- {
- "package": {
- "name": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "purl": "string",
- "cpe": "string",
- "cpes": [
- null
]
}, - "ranges": [
- {
- "type": null,
- "introduced": null,
- "fixed": null,
- "repo": null
}
], - "versions": [
- "string"
], - "database_specific": { },
- "ecosystem_specific": { },
- "affected_filepaths": [
- "string"
], - "affected_callpath_uris": [
- "string"
], - "fix_commits": [
- "string"
], - "has_been_fixed": true,
- "source": "SOURCE_UNSPECIFIED",
- "maintainer_severity": "LEVEL_UNSPECIFIED"
}
], - "references": [
- {
- "type": "REFERENCE_TYPE_UNSPECIFIED",
- "url": "string"
}
], - "epss_score": {
- "probability_score": 0.1,
- "percentile_score": 0.1
}, - "raw": {
- "osv_vulnerability": {
- "schema_version": "string",
- "id": "string",
- "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "package": {
- "name": "string",
- "ecosystem": "string",
- "purl": "string"
}, - "summary": "string",
- "details": "string",
- "affected": [
- {
- "package": null,
- "ranges": [ ],
- "versions": [ ],
- "ecosystem_specific": { },
- "database_specific": { }
}
], - "references": [
- {
- "type": null,
- "url": null
}
], - "database_specific": { },
- "severity": [
- {
- "type": null,
- "score": null
}
], - "credits": [
- {
- "name": null,
- "contact": [ ]
}
]
}, - "endor_vulnerability": {
- "cve_id": "string",
- "cve_description": "string",
- "cvss_score": 0.1,
- "cvss_vector": "string",
- "cwe": "string",
- "cve_references": [
- "string"
], - "package_name": "string",
- "ecosystem": "string",
- "fix_commit": [
- "string"
], - "additional_notes": "string",
- "component": [
- {
- "group_id": null,
- "artifact_id": null,
- "vulnerable_versions": [ ],
- "fixed_versions": [ ],
- "vulnerable_filepath": [ ],
- "versions_range": [ ],
- "endor_uri": [ ]
}
], - "deepdive": true,
- "disputed": true,
- "nofix": true,
- "schema_version": "string",
- "malicious": true,
- "withdrawn": "2019-08-24T14:15:22Z"
}, - "epss_record": {
- "cve_id": "string",
- "probability": 0.1,
- "percentile": 0.1,
- "ingestion_time": "2019-08-24T14:15:22Z"
}, - "nvd_vulnerability": {
- "cve": {
- "id": "string",
- "source_identifier": "string",
- "vuln_status": "string",
- "vuln_typed_status": "NVD_STATUS_UNSPECIFIED",
- "published": "2019-08-24T14:15:22Z",
- "last_modified": "2019-08-24T14:15:22Z",
- "evaluator_comment": "string",
- "evaluator_solution": "string",
- "evaluator_impact": "string",
- "cisa_exploit_add": "string",
- "cisa_action_due": "string",
- "cisa_required_action": "string",
- "cisa_vulnerability_name": "string",
- "descriptions": [
- null
], - "references": [
- null
], - "metrics": {
- "cvss_metric_v2": [ ],
- "cvss_metric_v30": [ ],
- "cvss_metric_v31": [ ]
}, - "weaknesses": [
- null
], - "configurations": [
- null
], - "vendor_comments": [
- null
]
}
}, - "kev_record": {
- "cve_id": "string",
- "vendor_project": "string",
- "product": "string",
- "vulnerability_name": "string",
- "date_added": "2019-08-24T14:15:22Z",
- "short_description": "string",
- "required_action": "string",
- "due_date": "2019-08-24T14:15:22Z",
- "known_ransomware_campaign_use": "string",
- "notes": "string"
}
}, - "malicious": true,
- "additional_endor_notes": [
- "string"
]
}
}, - "root_package_resolved_dependencies": {
- "resolution_timestamp": "2019-08-24T14:15:22Z",
- "dependency_graph": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "dependencies": [
- {
- "name": "string",
- "public": true,
- "source_repository_http_clone_url": "string",
- "source_repository_ref": "string",
- "release_date": "2019-08-24T14:15:22Z",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "maven_dependency_scope": "SCOPE_UNSPECIFIED",
- "rust_dependency_kind": "DEPENDENCY_KIND_UNSPECIFIED",
- "golang_dependency_scope": "SCOPE_UNSPECIFIED",
- "js_dependency_scope": "SCOPE_UNSPECIFIED",
- "pypi_dependency_scope": "SCOPE_UNSPECIFIED",
- "gem_dependency_scope": "SCOPE_UNSPECIFIED",
- "nuget_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "packagist_dependency_scope": "SCOPE_UNSPECIFIED",
- "github_action_kind": "SCOPE_UNSPECIFIED",
- "cocoapod_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "hugging_face_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "pinned": true,
- "abstract": true,
- "targets": [
- {
- "type": "TARGET_TYPE_UNSPECIFIED",
- "name": "string",
- "version": "string",
- "exclude": true
}
], - "vendored": true,
- "imported_type": "IMPORTED_TYPE_UNSPECIFIED",
- "file_locations": [
- "string"
], - "container_layers": [
- {
- "digest": "string",
- "file_locations": [
- null
]
}
], - "patched": true,
- "purl": "string"
}
], - "dependency_files": [
- {
- "path": "string"
}
]
}, - "source_policy_info": {
- "name": "string",
- "uuid": "string",
- "description": "string",
- "finding_name": "string",
- "results": [
- {
- "fields": {
- "property1": "string",
- "property2": "string"
}
}
], - "tags": [
- "string"
]
}, - "ci_blocking_policy_info": {
- "name": "string",
- "uuid": "string",
- "description": "string",
- "finding_name": "string",
- "results": [
- {
- "fields": {
- "property1": "string",
- "property2": "string"
}
}
], - "tags": [
- "string"
]
}, - "root_package_version_metadata": {
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "versions": [
- {
- "version": "string",
- "release_time": "2019-08-24T14:15:22Z",
- "license": [
- "string"
], - "checksums": [
- {
- "value": null,
- "algorithm": null
}
], - "source_code_url": "string",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "source_code_ref": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "license_info": [
- {
- "name": null,
- "spdxid": null,
- "mapping_info": null,
- "type": null,
- "url": null,
- "file": null,
- "file_location": null,
- "matched_text": null
}
], - "consumed": true
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "dependency_package_version_metadata": {
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "versions": [
- {
- "version": "string",
- "release_time": "2019-08-24T14:15:22Z",
- "license": [
- "string"
], - "checksums": [
- {
- "value": null,
- "algorithm": null
}
], - "source_code_url": "string",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "source_code_ref": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "license_info": [
- {
- "name": null,
- "spdxid": null,
- "mapping_info": null,
- "type": null,
- "url": null,
- "file": null,
- "file_location": null,
- "matched_text": null
}
], - "consumed": true
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "typosquatted_dependency_version_metadata": {
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "versions": [
- {
- "version": "string",
- "release_time": "2019-08-24T14:15:22Z",
- "license": [
- "string"
], - "checksums": [
- {
- "value": null,
- "algorithm": null
}
], - "source_code_url": "string",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "source_code_ref": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "license_info": [
- {
- "name": null,
- "spdxid": null,
- "mapping_info": null,
- "type": null,
- "url": null,
- "file": null,
- "file_location": null,
- "matched_text": null
}
], - "consumed": true
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "container_data": {
- "layer_digests": [
- "string"
], - "has_base_layer": true,
- "base_image": "string"
}, - "custom": null,
- "security_review_data": {
- "ai_meta": {
- "llm_context": {
- "structured_content": {
- "data": "string",
- "schema": { }
}, - "unstructured_content": "string"
}, - "confidence_justification": "string",
- "confidence_level": "CONFIDENCE_LEVEL_UNSPECIFIED"
}, - "category": "SECURITY_REVIEW_CATEGORY_UNSPECIFIED",
- "justification": "string",
- "code_snippet": {
- "file": "string",
- "line": 0,
- "line_end": 0,
- "snippet": "string",
- "description": "string",
- "impact": "string",
- "change_kind": "CHANGE_KIND_UNSPECIFIED",
- "language": "string"
}
}
}, - "summary": "string",
- "finding_tags": [
- "FINDING_TAGS_UNSPECIFIED"
], - "target_uuid": "string",
- "extra_key": "string",
- "method": "SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED",
- "target_dependency_package_name": "string",
- "target_dependency_name": "string",
- "target_dependency_version": "string",
- "explanation": "string",
- "remediation_action": "FINDING_REMEDIATION_UNSPECIFIED",
- "source_code_version": {
- "sha": "string",
- "ref": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "reachable_paths": [
- {
- "nodes": [
- {
- "function_ref": {
- "language": "string",
- "registry": "string",
- "product": "string",
- "version": "string",
- "namespace": "string",
- "language_specific": "string",
- "classname": "string",
- "function_or_attribute_name": "string",
- "args": [
- "string"
], - "return_type": "string",
- "declared_type": "string",
- "signature": "string"
}, - "package_version": "string",
- "internal": true
}
]
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "finding_categories": [
- "FINDING_CATEGORY_UNSPECIFIED"
], - "relationship": "string",
- "latest_version": "string",
- "dependency_file_paths": [
- "string"
], - "approximation": true,
- "proposed_version": "string",
- "exceptions": {
- "policy_uuids": [
- "string"
], - "tags": [
- "string"
]
}, - "actions": {
- "policy_uuids": [
- "string"
]
}, - "fixing_upgrades": {
- "upgrade_list": [
- {
- "package_name": "string",
- "direct_dependency_name": "string",
- "from_version": "string",
- "to_version": "string",
- "upgrade_risk": "string"
}
]
}, - "fixing_patch": {
- "endor_patch_available": true
}, - "code_owners": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "project_uuid": "string",
- "last_processed": "2019-08-24T14:15:22Z",
- "level": "FINDING_LEVEL_UNSPECIFIED",
- "dismiss": true,
- "remediation": "string",
- "finding_metadata": {
- "root_package_score_card": {
- "overall_score": 0.1,
- "category_scores": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "centered_score": 0.1,
- "raw_score": 0.1
}
], - "analysis_scope_description": "string"
}, - "dependency_score_card": {
- "overall_score": 0.1,
- "category_scores": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "centered_score": 0.1,
- "raw_score": 0.1
}
], - "analysis_scope_description": "string"
}, - "root_package_score_factor_list": {
- "score_factors": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "name": "string",
- "evidence": "string",
- "id": "string",
- "score_float": 0.1
}
]
}, - "dependency_score_factor_list": {
- "score_factors": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "name": "string",
- "evidence": "string",
- "id": "string",
- "score_float": 0.1
}
]
}, - "vulnerability": {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "deepdive": true,
- "disputed": true,
- "additional_notes": [
- "string"
], - "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "cvss_v3_severity": {
- "score": 0.1,
- "vector": "string",
- "level": "LEVEL_UNSPECIFIED",
- "temporal_score": 0.1,
- "temporal_vector": "string",
- "temporal_level": "LEVEL_UNSPECIFIED"
}, - "credits": [
- {
- "name": "string",
- "contact": [
- "string"
]
}
], - "database_specific": { },
- "summary": "string",
- "affected": [
- {
- "package": {
- "name": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "purl": "string",
- "cpe": "string",
- "cpes": [
- "string"
]
}, - "ranges": [
- {
- "type": "RANGE_TYPE_UNSPECIFIED",
- "introduced": "string",
- "fixed": "string",
- "repo": "string"
}
], - "versions": [
- "string"
], - "database_specific": { },
- "ecosystem_specific": { },
- "affected_filepaths": [
- "string"
], - "affected_callpath_uris": [
- "string"
], - "fix_commits": [
- "string"
], - "has_been_fixed": true,
- "source": "SOURCE_UNSPECIFIED",
- "maintainer_severity": "LEVEL_UNSPECIFIED"
}
], - "references": [
- {
- "type": "REFERENCE_TYPE_UNSPECIFIED",
- "url": "string"
}
], - "epss_score": {
- "probability_score": 0.1,
- "percentile_score": 0.1
}, - "raw": {
- "osv_vulnerability": {
- "schema_version": "string",
- "id": "string",
- "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "package": {
- "name": "string",
- "ecosystem": "string",
- "purl": "string"
}, - "summary": "string",
- "details": "string",
- "affected": [
- {
- "package": {
- "name": null,
- "ecosystem": null,
- "purl": null
}, - "ranges": [
- null
], - "versions": [
- null
], - "ecosystem_specific": { },
- "database_specific": { }
}
], - "references": [
- {
- "type": "NONE",
- "url": "string"
}
], - "database_specific": { },
- "severity": [
- {
- "type": "UNSPECIFIED",
- "score": "string"
}
], - "credits": [
- {
- "name": "string",
- "contact": [
- null
]
}
]
}, - "endor_vulnerability": {
- "cve_id": "string",
- "cve_description": "string",
- "cvss_score": 0.1,
- "cvss_vector": "string",
- "cwe": "string",
- "cve_references": [
- "string"
], - "package_name": "string",
- "ecosystem": "string",
- "fix_commit": [
- "string"
], - "additional_notes": "string",
- "component": [
- {
- "group_id": "string",
- "artifact_id": "string",
- "vulnerable_versions": [
- null
], - "fixed_versions": [
- null
], - "vulnerable_filepath": [
- null
], - "versions_range": [
- null
], - "endor_uri": [
- null
]
}
], - "deepdive": true,
- "disputed": true,
- "nofix": true,
- "schema_version": "string",
- "malicious": true,
- "withdrawn": "2019-08-24T14:15:22Z"
}, - "epss_record": {
- "cve_id": "string",
- "probability": 0.1,
- "percentile": 0.1,
- "ingestion_time": "2019-08-24T14:15:22Z"
}, - "nvd_vulnerability": {
- "cve": {
- "id": "string",
- "source_identifier": "string",
- "vuln_status": "string",
- "vuln_typed_status": "NVD_STATUS_UNSPECIFIED",
- "published": "2019-08-24T14:15:22Z",
- "last_modified": "2019-08-24T14:15:22Z",
- "evaluator_comment": "string",
- "evaluator_solution": "string",
- "evaluator_impact": "string",
- "cisa_exploit_add": "string",
- "cisa_action_due": "string",
- "cisa_required_action": "string",
- "cisa_vulnerability_name": "string",
- "descriptions": [
- {
- "lang": null,
- "value": null
}
], - "references": [
- {
- "url": null,
- "source": null,
- "tags": [ ]
}
], - "metrics": {
- "cvss_metric_v2": [
- null
], - "cvss_metric_v30": [
- null
], - "cvss_metric_v31": [
- null
]
}, - "weaknesses": [
- {
- "source": null,
- "type": null,
- "description": [ ]
}
], - "configurations": [
- {
- "operator": null,
- "negate": null,
- "nodes": [ ]
}
], - "vendor_comments": [
- {
- "organization": null,
- "comment": null,
- "last_modified": null
}
]
}
}, - "kev_record": {
- "cve_id": "string",
- "vendor_project": "string",
- "product": "string",
- "vulnerability_name": "string",
- "date_added": "2019-08-24T14:15:22Z",
- "short_description": "string",
- "required_action": "string",
- "due_date": "2019-08-24T14:15:22Z",
- "known_ransomware_campaign_use": "string",
- "notes": "string"
}
}, - "malicious": true,
- "additional_endor_notes": [
- "string"
]
}
}, - "root_package_resolved_dependencies": {
- "resolution_timestamp": "2019-08-24T14:15:22Z",
- "dependency_graph": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "dependencies": [
- {
- "name": "string",
- "public": true,
- "source_repository_http_clone_url": "string",
- "source_repository_ref": "string",
- "release_date": "2019-08-24T14:15:22Z",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "maven_dependency_scope": "SCOPE_UNSPECIFIED",
- "rust_dependency_kind": "DEPENDENCY_KIND_UNSPECIFIED",
- "golang_dependency_scope": "SCOPE_UNSPECIFIED",
- "js_dependency_scope": "SCOPE_UNSPECIFIED",
- "pypi_dependency_scope": "SCOPE_UNSPECIFIED",
- "gem_dependency_scope": "SCOPE_UNSPECIFIED",
- "nuget_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "packagist_dependency_scope": "SCOPE_UNSPECIFIED",
- "github_action_kind": "SCOPE_UNSPECIFIED",
- "cocoapod_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "hugging_face_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "pinned": true,
- "abstract": true,
- "targets": [
- {
- "type": "TARGET_TYPE_UNSPECIFIED",
- "name": "string",
- "version": "string",
- "exclude": true
}
], - "vendored": true,
- "imported_type": "IMPORTED_TYPE_UNSPECIFIED",
- "file_locations": [
- "string"
], - "container_layers": [
- {
- "digest": "string",
- "file_locations": [
- "string"
]
}
], - "patched": true,
- "purl": "string"
}
], - "dependency_files": [
- {
- "path": "string"
}
]
}, - "source_policy_info": {
- "name": "string",
- "uuid": "string",
- "description": "string",
- "finding_name": "string",
- "results": [
- {
- "fields": {
- "property1": "string",
- "property2": "string"
}
}
], - "tags": [
- "string"
]
}, - "ci_blocking_policy_info": {
- "name": "string",
- "uuid": "string",
- "description": "string",
- "finding_name": "string",
- "results": [
- {
- "fields": {
- "property1": "string",
- "property2": "string"
}
}
], - "tags": [
- "string"
]
}, - "root_package_version_metadata": {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "versions": [
- {
- "version": "string",
- "release_time": "2019-08-24T14:15:22Z",
- "license": [
- "string"
], - "checksums": [
- {
- "value": "string",
- "algorithm": "HASH_ALGORITHM_UNSPECIFIED"
}
], - "source_code_url": "string",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "source_code_ref": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "license_info": [
- {
- "name": "string",
- "spdxid": "string",
- "mapping_info": "LICENSE_MAPPING_INFO_UNSPECIFIED",
- "type": "string",
- "url": "string",
- "file": "string",
- "file_location": 0,
- "matched_text": "string"
}
], - "consumed": true
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "dependency_package_version_metadata": {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "versions": [
- {
- "version": "string",
- "release_time": "2019-08-24T14:15:22Z",
- "license": [
- "string"
], - "checksums": [
- {
- "value": "string",
- "algorithm": "HASH_ALGORITHM_UNSPECIFIED"
}
], - "source_code_url": "string",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "source_code_ref": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "license_info": [
- {
- "name": "string",
- "spdxid": "string",
- "mapping_info": "LICENSE_MAPPING_INFO_UNSPECIFIED",
- "type": "string",
- "url": "string",
- "file": "string",
- "file_location": 0,
- "matched_text": "string"
}
], - "consumed": true
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "typosquatted_dependency_version_metadata": {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "versions": [
- {
- "version": "string",
- "release_time": "2019-08-24T14:15:22Z",
- "license": [
- "string"
], - "checksums": [
- {
- "value": "string",
- "algorithm": "HASH_ALGORITHM_UNSPECIFIED"
}
], - "source_code_url": "string",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "source_code_ref": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "license_info": [
- {
- "name": "string",
- "spdxid": "string",
- "mapping_info": "LICENSE_MAPPING_INFO_UNSPECIFIED",
- "type": "string",
- "url": "string",
- "file": "string",
- "file_location": 0,
- "matched_text": "string"
}
], - "consumed": true
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "container_data": {
- "layer_digests": [
- "string"
], - "has_base_layer": true,
- "base_image": "string"
}, - "custom": null,
- "security_review_data": {
- "ai_meta": {
- "llm_context": {
- "structured_content": {
- "data": "string",
- "schema": { }
}, - "unstructured_content": "string"
}, - "confidence_justification": "string",
- "confidence_level": "CONFIDENCE_LEVEL_UNSPECIFIED"
}, - "category": "SECURITY_REVIEW_CATEGORY_UNSPECIFIED",
- "justification": "string",
- "code_snippet": {
- "file": "string",
- "line": 0,
- "line_end": 0,
- "snippet": "string",
- "description": "string",
- "impact": "string",
- "change_kind": "CHANGE_KIND_UNSPECIFIED",
- "language": "string"
}
}
}, - "summary": "string",
- "finding_tags": [
- "FINDING_TAGS_UNSPECIFIED"
], - "target_uuid": "string",
- "extra_key": "string",
- "method": "SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED",
- "target_dependency_package_name": "string",
- "target_dependency_name": "string",
- "target_dependency_version": "string",
- "explanation": "string",
- "remediation_action": "FINDING_REMEDIATION_UNSPECIFIED",
- "source_code_version": {
- "sha": "string",
- "ref": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "reachable_paths": [
- {
- "nodes": [
- {
- "function_ref": {
- "language": "string",
- "registry": "string",
- "product": "string",
- "version": "string",
- "namespace": "string",
- "language_specific": "string",
- "classname": "string",
- "function_or_attribute_name": "string",
- "args": [
- "string"
], - "return_type": "string",
- "declared_type": "string",
- "signature": "string"
}, - "package_version": "string",
- "internal": true
}
]
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "finding_categories": [
- "FINDING_CATEGORY_UNSPECIFIED"
], - "relationship": "string",
- "latest_version": "string",
- "dependency_file_paths": [
- "string"
], - "approximation": true,
- "proposed_version": "string",
- "exceptions": {
- "policy_uuids": [
- "string"
], - "tags": [
- "string"
]
}, - "actions": {
- "policy_uuids": [
- "string"
]
}, - "fixing_upgrades": {
- "upgrade_list": [
- {
- "package_name": "string",
- "direct_dependency_name": "string",
- "from_version": "string",
- "to_version": "string",
- "upgrade_risk": "string"
}
]
}, - "fixing_patch": {
- "endor_patch_available": true
}, - "code_owners": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
ListFindings
List findings based on the specified list parameters.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "project_uuid": "string",
- "last_processed": "2019-08-24T14:15:22Z",
- "level": "FINDING_LEVEL_UNSPECIFIED",
- "dismiss": true,
- "remediation": "string",
- "finding_metadata": {
- "root_package_score_card": {
- "overall_score": 0.1,
- "category_scores": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "centered_score": 0.1,
- "raw_score": 0.1
}
], - "analysis_scope_description": "string"
}, - "dependency_score_card": {
- "overall_score": 0.1,
- "category_scores": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "centered_score": 0.1,
- "raw_score": 0.1
}
], - "analysis_scope_description": "string"
}, - "root_package_score_factor_list": {
- "score_factors": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "name": "string",
- "evidence": "string",
- "id": "string",
- "score_float": 0.1
}
]
}, - "dependency_score_factor_list": {
- "score_factors": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "name": "string",
- "evidence": "string",
- "id": "string",
- "score_float": 0.1
}
]
}, - "vulnerability": {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": null,
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": null,
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "deepdive": true,
- "disputed": true,
- "additional_notes": [
- "string"
], - "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "cvss_v3_severity": {
- "score": 0.1,
- "vector": "string",
- "level": "LEVEL_UNSPECIFIED",
- "temporal_score": 0.1,
- "temporal_vector": "string",
- "temporal_level": "LEVEL_UNSPECIFIED"
}, - "credits": [
- {
- "name": null,
- "contact": [ ]
}
], - "database_specific": { },
- "summary": "string",
- "affected": [
- {
- "package": null,
- "ranges": [ ],
- "versions": [ ],
- "database_specific": { },
- "ecosystem_specific": { },
- "affected_filepaths": [ ],
- "affected_callpath_uris": [ ],
- "fix_commits": [ ],
- "has_been_fixed": null,
- "source": null,
- "maintainer_severity": null
}
], - "references": [
- {
- "type": null,
- "url": null
}
], - "epss_score": {
- "probability_score": 0.1,
- "percentile_score": 0.1
}, - "raw": {
- "osv_vulnerability": {
- "schema_version": null,
- "id": null,
- "published": null,
- "modified": null,
- "withdrawn": null,
- "aliases": [ ],
- "related": [ ],
- "package": null,
- "summary": null,
- "details": null,
- "affected": [ ],
- "references": [ ],
- "database_specific": { },
- "severity": [ ],
- "credits": [ ]
}, - "endor_vulnerability": {
- "cve_id": null,
- "cve_description": null,
- "cvss_score": null,
- "cvss_vector": null,
- "cwe": null,
- "cve_references": [ ],
- "package_name": null,
- "ecosystem": null,
- "fix_commit": [ ],
- "additional_notes": null,
- "component": [ ],
- "deepdive": null,
- "disputed": null,
- "nofix": null,
- "schema_version": null,
- "malicious": null,
- "withdrawn": null
}, - "epss_record": {
- "cve_id": null,
- "probability": null,
- "percentile": null,
- "ingestion_time": null
}, - "nvd_vulnerability": {
- "cve": null
}, - "kev_record": {
- "cve_id": null,
- "vendor_project": null,
- "product": null,
- "vulnerability_name": null,
- "date_added": null,
- "short_description": null,
- "required_action": null,
- "due_date": null,
- "known_ransomware_campaign_use": null,
- "notes": null
}
}, - "malicious": true,
- "additional_endor_notes": [
- "string"
]
}
}, - "root_package_resolved_dependencies": {
- "resolution_timestamp": "2019-08-24T14:15:22Z",
- "dependency_graph": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "dependencies": [
- {
- "name": "string",
- "public": true,
- "source_repository_http_clone_url": "string",
- "source_repository_ref": "string",
- "release_date": "2019-08-24T14:15:22Z",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "maven_dependency_scope": "SCOPE_UNSPECIFIED",
- "rust_dependency_kind": "DEPENDENCY_KIND_UNSPECIFIED",
- "golang_dependency_scope": "SCOPE_UNSPECIFIED",
- "js_dependency_scope": "SCOPE_UNSPECIFIED",
- "pypi_dependency_scope": "SCOPE_UNSPECIFIED",
- "gem_dependency_scope": "SCOPE_UNSPECIFIED",
- "nuget_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "packagist_dependency_scope": "SCOPE_UNSPECIFIED",
- "github_action_kind": "SCOPE_UNSPECIFIED",
- "cocoapod_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "hugging_face_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "pinned": true,
- "abstract": true,
- "targets": [
- null
], - "vendored": true,
- "imported_type": "IMPORTED_TYPE_UNSPECIFIED",
- "file_locations": [
- null
], - "container_layers": [
- null
], - "patched": true,
- "purl": "string"
}
], - "dependency_files": [
- {
- "path": "string"
}
]
}, - "source_policy_info": {
- "name": "string",
- "uuid": "string",
- "description": "string",
- "finding_name": "string",
- "results": [
- {
- "fields": {
- "property1": null,
- "property2": null
}
}
], - "tags": [
- "string"
]
}, - "ci_blocking_policy_info": {
- "name": "string",
- "uuid": "string",
- "description": "string",
- "finding_name": "string",
- "results": [
- {
- "fields": {
- "property1": null,
- "property2": null
}
}
], - "tags": [
- "string"
]
}, - "root_package_version_metadata": {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": null,
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": null,
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "versions": [
- {
- "version": null,
- "release_time": null,
- "license": [ ],
- "checksums": [ ],
- "source_code_url": null,
- "platform_source": null,
- "source_code_ref": null,
- "last_updated": null,
- "license_info": [ ],
- "consumed": null
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "dependency_package_version_metadata": {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": null,
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": null,
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "versions": [
- {
- "version": null,
- "release_time": null,
- "license": [ ],
- "checksums": [ ],
- "source_code_url": null,
- "platform_source": null,
- "source_code_ref": null,
- "last_updated": null,
- "license_info": [ ],
- "consumed": null
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "typosquatted_dependency_version_metadata": {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": null,
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": null,
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "versions": [
- {
- "version": null,
- "release_time": null,
- "license": [ ],
- "checksums": [ ],
- "source_code_url": null,
- "platform_source": null,
- "source_code_ref": null,
- "last_updated": null,
- "license_info": [ ],
- "consumed": null
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "container_data": {
- "layer_digests": [
- "string"
], - "has_base_layer": true,
- "base_image": "string"
}, - "custom": null,
- "security_review_data": {
- "ai_meta": {
- "llm_context": {
- "structured_content": {
- "data": null,
- "schema": { }
}, - "unstructured_content": "string"
}, - "confidence_justification": "string",
- "confidence_level": "CONFIDENCE_LEVEL_UNSPECIFIED"
}, - "category": "SECURITY_REVIEW_CATEGORY_UNSPECIFIED",
- "justification": "string",
- "code_snippet": {
- "file": "string",
- "line": 0,
- "line_end": 0,
- "snippet": "string",
- "description": "string",
- "impact": "string",
- "change_kind": "CHANGE_KIND_UNSPECIFIED",
- "language": "string"
}
}
}, - "summary": "string",
- "finding_tags": [
- "FINDING_TAGS_UNSPECIFIED"
], - "target_uuid": "string",
- "extra_key": "string",
- "method": "SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED",
- "target_dependency_package_name": "string",
- "target_dependency_name": "string",
- "target_dependency_version": "string",
- "explanation": "string",
- "remediation_action": "FINDING_REMEDIATION_UNSPECIFIED",
- "source_code_version": {
- "sha": "string",
- "ref": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "reachable_paths": [
- {
- "nodes": [
- {
- "function_ref": {
- "language": null,
- "registry": null,
- "product": null,
- "version": null,
- "namespace": null,
- "language_specific": null,
- "classname": null,
- "function_or_attribute_name": null,
- "args": [ ],
- "return_type": null,
- "declared_type": null,
- "signature": null
}, - "package_version": "string",
- "internal": true
}
]
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "finding_categories": [
- "FINDING_CATEGORY_UNSPECIFIED"
], - "relationship": "string",
- "latest_version": "string",
- "dependency_file_paths": [
- "string"
], - "approximation": true,
- "proposed_version": "string",
- "exceptions": {
- "policy_uuids": [
- "string"
], - "tags": [
- "string"
]
}, - "actions": {
- "policy_uuids": [
- "string"
]
}, - "fixing_upgrades": {
- "upgrade_list": [
- {
- "package_name": "string",
- "direct_dependency_name": "string",
- "from_version": "string",
- "to_version": "string",
- "upgrade_risk": "string"
}
]
}, - "fixing_patch": {
- "endor_patch_available": true
}, - "code_owners": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateFinding
Create a finding.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Information about the tenant and namespace that the finding belongs to.) Information about the tenant and namespace that the finding belongs to. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1FindingSpec) Finding specific data. |
required | object (v1Context) Contexts keep objects from different scans separated. |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "project_uuid": "string",
- "last_processed": "2019-08-24T14:15:22Z",
- "level": "FINDING_LEVEL_UNSPECIFIED",
- "dismiss": true,
- "remediation": "string",
- "finding_metadata": {
- "root_package_score_card": {
- "overall_score": 0.1,
- "category_scores": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "centered_score": 0.1,
- "raw_score": 0.1
}
], - "analysis_scope_description": "string"
}, - "dependency_score_card": {
- "overall_score": 0.1,
- "category_scores": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "centered_score": 0.1,
- "raw_score": 0.1
}
], - "analysis_scope_description": "string"
}, - "root_package_score_factor_list": {
- "score_factors": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "name": "string",
- "evidence": "string",
- "id": "string",
- "score_float": 0.1
}
]
}, - "dependency_score_factor_list": {
- "score_factors": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "name": "string",
- "evidence": "string",
- "id": "string",
- "score_float": 0.1
}
]
}, - "vulnerability": {
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "deepdive": true,
- "disputed": true,
- "additional_notes": [
- "string"
], - "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "cvss_v3_severity": {
- "score": 0.1,
- "vector": "string",
- "level": "LEVEL_UNSPECIFIED",
- "temporal_score": 0.1,
- "temporal_vector": "string",
- "temporal_level": "LEVEL_UNSPECIFIED"
}, - "credits": [
- {
- "name": "string",
- "contact": [
- "string"
]
}
], - "database_specific": { },
- "summary": "string",
- "affected": [
- {
- "package": {
- "name": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "purl": "string",
- "cpe": "string",
- "cpes": [
- "string"
]
}, - "ranges": [
- {
- "type": "RANGE_TYPE_UNSPECIFIED",
- "introduced": "string",
- "fixed": "string",
- "repo": "string"
}
], - "versions": [
- "string"
], - "database_specific": { },
- "ecosystem_specific": { },
- "affected_filepaths": [
- "string"
], - "affected_callpath_uris": [
- "string"
], - "fix_commits": [
- "string"
], - "has_been_fixed": true,
- "source": "SOURCE_UNSPECIFIED",
- "maintainer_severity": "LEVEL_UNSPECIFIED"
}
], - "references": [
- {
- "type": "REFERENCE_TYPE_UNSPECIFIED",
- "url": "string"
}
], - "epss_score": {
- "probability_score": 0.1,
- "percentile_score": 0.1
}, - "raw": {
- "osv_vulnerability": {
- "schema_version": "string",
- "id": "string",
- "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "package": {
- "name": "string",
- "ecosystem": "string",
- "purl": "string"
}, - "summary": "string",
- "details": "string",
- "affected": [
- {
- "package": {
- "name": null,
- "ecosystem": null,
- "purl": null
}, - "ranges": [
- null
], - "versions": [
- null
], - "ecosystem_specific": { },
- "database_specific": { }
}
], - "references": [
- {
- "type": "NONE",
- "url": "string"
}
], - "database_specific": { },
- "severity": [
- {
- "type": "UNSPECIFIED",
- "score": "string"
}
], - "credits": [
- {
- "name": "string",
- "contact": [
- null
]
}
]
}, - "endor_vulnerability": {
- "cve_id": "string",
- "cve_description": "string",
- "cvss_score": 0.1,
- "cvss_vector": "string",
- "cwe": "string",
- "cve_references": [
- "string"
], - "package_name": "string",
- "ecosystem": "string",
- "fix_commit": [
- "string"
], - "additional_notes": "string",
- "component": [
- {
- "group_id": "string",
- "artifact_id": "string",
- "vulnerable_versions": [
- null
], - "fixed_versions": [
- null
], - "vulnerable_filepath": [
- null
], - "versions_range": [
- null
], - "endor_uri": [
- null
]
}
], - "deepdive": true,
- "disputed": true,
- "nofix": true,
- "schema_version": "string",
- "malicious": true,
- "withdrawn": "2019-08-24T14:15:22Z"
}, - "epss_record": {
- "cve_id": "string",
- "probability": 0.1,
- "percentile": 0.1,
- "ingestion_time": "2019-08-24T14:15:22Z"
}, - "nvd_vulnerability": {
- "cve": {
- "id": "string",
- "source_identifier": "string",
- "vuln_status": "string",
- "vuln_typed_status": "NVD_STATUS_UNSPECIFIED",
- "published": "2019-08-24T14:15:22Z",
- "last_modified": "2019-08-24T14:15:22Z",
- "evaluator_comment": "string",
- "evaluator_solution": "string",
- "evaluator_impact": "string",
- "cisa_exploit_add": "string",
- "cisa_action_due": "string",
- "cisa_required_action": "string",
- "cisa_vulnerability_name": "string",
- "descriptions": [
- {
- "lang": null,
- "value": null
}
], - "references": [
- {
- "url": null,
- "source": null,
- "tags": [ ]
}
], - "metrics": {
- "cvss_metric_v2": [
- null
], - "cvss_metric_v30": [
- null
], - "cvss_metric_v31": [
- null
]
}, - "weaknesses": [
- {
- "source": null,
- "type": null,
- "description": [ ]
}
], - "configurations": [
- {
- "operator": null,
- "negate": null,
- "nodes": [ ]
}
], - "vendor_comments": [
- {
- "organization": null,
- "comment": null,
- "last_modified": null
}
]
}
}, - "kev_record": {
- "cve_id": "string",
- "vendor_project": "string",
- "product": "string",
- "vulnerability_name": "string",
- "date_added": "2019-08-24T14:15:22Z",
- "short_description": "string",
- "required_action": "string",
- "due_date": "2019-08-24T14:15:22Z",
- "known_ransomware_campaign_use": "string",
- "notes": "string"
}
}, - "malicious": true,
- "additional_endor_notes": [
- "string"
]
}
}, - "root_package_resolved_dependencies": {
- "resolution_timestamp": "2019-08-24T14:15:22Z",
- "dependency_graph": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "dependencies": [
- {
- "name": "string",
- "public": true,
- "source_repository_http_clone_url": "string",
- "source_repository_ref": "string",
- "release_date": "2019-08-24T14:15:22Z",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "maven_dependency_scope": "SCOPE_UNSPECIFIED",
- "rust_dependency_kind": "DEPENDENCY_KIND_UNSPECIFIED",
- "golang_dependency_scope": "SCOPE_UNSPECIFIED",
- "js_dependency_scope": "SCOPE_UNSPECIFIED",
- "pypi_dependency_scope": "SCOPE_UNSPECIFIED",
- "gem_dependency_scope": "SCOPE_UNSPECIFIED",
- "nuget_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "packagist_dependency_scope": "SCOPE_UNSPECIFIED",
- "github_action_kind": "SCOPE_UNSPECIFIED",
- "cocoapod_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "hugging_face_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "pinned": true,
- "abstract": true,
- "targets": [
- {
- "type": "TARGET_TYPE_UNSPECIFIED",
- "name": "string",
- "version": "string",
- "exclude": true
}
], - "vendored": true,
- "imported_type": "IMPORTED_TYPE_UNSPECIFIED",
- "file_locations": [
- "string"
], - "container_layers": [
- {
- "digest": "string",
- "file_locations": [
- "string"
]
}
], - "patched": true,
- "purl": "string"
}
], - "dependency_files": [
- {
- "path": "string"
}
]
}, - "source_policy_info": {
- "name": "string",
- "uuid": "string",
- "description": "string",
- "finding_name": "string",
- "results": [
- {
- "fields": {
- "property1": "string",
- "property2": "string"
}
}
], - "tags": [
- "string"
]
}, - "ci_blocking_policy_info": {
- "name": "string",
- "uuid": "string",
- "description": "string",
- "finding_name": "string",
- "results": [
- {
- "fields": {
- "property1": "string",
- "property2": "string"
}
}
], - "tags": [
- "string"
]
}, - "root_package_version_metadata": {
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "versions": [
- {
- "version": "string",
- "release_time": "2019-08-24T14:15:22Z",
- "license": [
- "string"
], - "checksums": [
- {
- "value": "string",
- "algorithm": "HASH_ALGORITHM_UNSPECIFIED"
}
], - "source_code_url": "string",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "source_code_ref": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "license_info": [
- {
- "name": "string",
- "spdxid": "string",
- "mapping_info": "LICENSE_MAPPING_INFO_UNSPECIFIED",
- "type": "string",
- "url": "string",
- "file": "string",
- "file_location": 0,
- "matched_text": "string"
}
], - "consumed": true
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "dependency_package_version_metadata": {
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "versions": [
- {
- "version": "string",
- "release_time": "2019-08-24T14:15:22Z",
- "license": [
- "string"
], - "checksums": [
- {
- "value": "string",
- "algorithm": "HASH_ALGORITHM_UNSPECIFIED"
}
], - "source_code_url": "string",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "source_code_ref": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "license_info": [
- {
- "name": "string",
- "spdxid": "string",
- "mapping_info": "LICENSE_MAPPING_INFO_UNSPECIFIED",
- "type": "string",
- "url": "string",
- "file": "string",
- "file_location": 0,
- "matched_text": "string"
}
], - "consumed": true
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "typosquatted_dependency_version_metadata": {
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "versions": [
- {
- "version": "string",
- "release_time": "2019-08-24T14:15:22Z",
- "license": [
- "string"
], - "checksums": [
- {
- "value": "string",
- "algorithm": "HASH_ALGORITHM_UNSPECIFIED"
}
], - "source_code_url": "string",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "source_code_ref": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "license_info": [
- {
- "name": "string",
- "spdxid": "string",
- "mapping_info": "LICENSE_MAPPING_INFO_UNSPECIFIED",
- "type": "string",
- "url": "string",
- "file": "string",
- "file_location": 0,
- "matched_text": "string"
}
], - "consumed": true
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "container_data": {
- "layer_digests": [
- "string"
], - "has_base_layer": true,
- "base_image": "string"
}, - "custom": null,
- "security_review_data": {
- "ai_meta": {
- "llm_context": {
- "structured_content": {
- "data": "string",
- "schema": { }
}, - "unstructured_content": "string"
}, - "confidence_justification": "string",
- "confidence_level": "CONFIDENCE_LEVEL_UNSPECIFIED"
}, - "category": "SECURITY_REVIEW_CATEGORY_UNSPECIFIED",
- "justification": "string",
- "code_snippet": {
- "file": "string",
- "line": 0,
- "line_end": 0,
- "snippet": "string",
- "description": "string",
- "impact": "string",
- "change_kind": "CHANGE_KIND_UNSPECIFIED",
- "language": "string"
}
}
}, - "summary": "string",
- "finding_tags": [
- "FINDING_TAGS_UNSPECIFIED"
], - "target_uuid": "string",
- "extra_key": "string",
- "method": "SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED",
- "target_dependency_package_name": "string",
- "target_dependency_name": "string",
- "target_dependency_version": "string",
- "explanation": "string",
- "remediation_action": "FINDING_REMEDIATION_UNSPECIFIED",
- "source_code_version": {
- "sha": "string",
- "ref": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "reachable_paths": [
- {
- "nodes": [
- {
- "function_ref": {
- "language": "string",
- "registry": "string",
- "product": "string",
- "version": "string",
- "namespace": "string",
- "language_specific": "string",
- "classname": "string",
- "function_or_attribute_name": "string",
- "args": [
- "string"
], - "return_type": "string",
- "declared_type": "string",
- "signature": "string"
}, - "package_version": "string",
- "internal": true
}
]
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "finding_categories": [
- "FINDING_CATEGORY_UNSPECIFIED"
], - "relationship": "string",
- "latest_version": "string",
- "dependency_file_paths": [
- "string"
], - "approximation": true,
- "proposed_version": "string",
- "exceptions": {
- "policy_uuids": [
- "string"
], - "tags": [
- "string"
]
}, - "actions": {
- "policy_uuids": [
- "string"
]
}, - "fixing_upgrades": {
- "upgrade_list": [
- {
- "package_name": "string",
- "direct_dependency_name": "string",
- "from_version": "string",
- "to_version": "string",
- "upgrade_risk": "string"
}
]
}, - "fixing_patch": {
- "endor_patch_available": true
}, - "code_owners": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "project_uuid": "string",
- "last_processed": "2019-08-24T14:15:22Z",
- "level": "FINDING_LEVEL_UNSPECIFIED",
- "dismiss": true,
- "remediation": "string",
- "finding_metadata": {
- "root_package_score_card": {
- "overall_score": 0.1,
- "category_scores": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "centered_score": 0.1,
- "raw_score": 0.1
}
], - "analysis_scope_description": "string"
}, - "dependency_score_card": {
- "overall_score": 0.1,
- "category_scores": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "centered_score": 0.1,
- "raw_score": 0.1
}
], - "analysis_scope_description": "string"
}, - "root_package_score_factor_list": {
- "score_factors": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "name": "string",
- "evidence": "string",
- "id": "string",
- "score_float": 0.1
}
]
}, - "dependency_score_factor_list": {
- "score_factors": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "name": "string",
- "evidence": "string",
- "id": "string",
- "score_float": 0.1
}
]
}, - "vulnerability": {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "deepdive": true,
- "disputed": true,
- "additional_notes": [
- "string"
], - "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "cvss_v3_severity": {
- "score": 0.1,
- "vector": "string",
- "level": "LEVEL_UNSPECIFIED",
- "temporal_score": 0.1,
- "temporal_vector": "string",
- "temporal_level": "LEVEL_UNSPECIFIED"
}, - "credits": [
- {
- "name": "string",
- "contact": [
- "string"
]
}
], - "database_specific": { },
- "summary": "string",
- "affected": [
- {
- "package": {
- "name": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "purl": "string",
- "cpe": "string",
- "cpes": [
- "string"
]
}, - "ranges": [
- {
- "type": "RANGE_TYPE_UNSPECIFIED",
- "introduced": "string",
- "fixed": "string",
- "repo": "string"
}
], - "versions": [
- "string"
], - "database_specific": { },
- "ecosystem_specific": { },
- "affected_filepaths": [
- "string"
], - "affected_callpath_uris": [
- "string"
], - "fix_commits": [
- "string"
], - "has_been_fixed": true,
- "source": "SOURCE_UNSPECIFIED",
- "maintainer_severity": "LEVEL_UNSPECIFIED"
}
], - "references": [
- {
- "type": "REFERENCE_TYPE_UNSPECIFIED",
- "url": "string"
}
], - "epss_score": {
- "probability_score": 0.1,
- "percentile_score": 0.1
}, - "raw": {
- "osv_vulnerability": {
- "schema_version": "string",
- "id": "string",
- "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "package": {
- "name": "string",
- "ecosystem": "string",
- "purl": "string"
}, - "summary": "string",
- "details": "string",
- "affected": [
- {
- "package": {
- "name": null,
- "ecosystem": null,
- "purl": null
}, - "ranges": [
- null
], - "versions": [
- null
], - "ecosystem_specific": { },
- "database_specific": { }
}
], - "references": [
- {
- "type": "NONE",
- "url": "string"
}
], - "database_specific": { },
- "severity": [
- {
- "type": "UNSPECIFIED",
- "score": "string"
}
], - "credits": [
- {
- "name": "string",
- "contact": [
- null
]
}
]
}, - "endor_vulnerability": {
- "cve_id": "string",
- "cve_description": "string",
- "cvss_score": 0.1,
- "cvss_vector": "string",
- "cwe": "string",
- "cve_references": [
- "string"
], - "package_name": "string",
- "ecosystem": "string",
- "fix_commit": [
- "string"
], - "additional_notes": "string",
- "component": [
- {
- "group_id": "string",
- "artifact_id": "string",
- "vulnerable_versions": [
- null
], - "fixed_versions": [
- null
], - "vulnerable_filepath": [
- null
], - "versions_range": [
- null
], - "endor_uri": [
- null
]
}
], - "deepdive": true,
- "disputed": true,
- "nofix": true,
- "schema_version": "string",
- "malicious": true,
- "withdrawn": "2019-08-24T14:15:22Z"
}, - "epss_record": {
- "cve_id": "string",
- "probability": 0.1,
- "percentile": 0.1,
- "ingestion_time": "2019-08-24T14:15:22Z"
}, - "nvd_vulnerability": {
- "cve": {
- "id": "string",
- "source_identifier": "string",
- "vuln_status": "string",
- "vuln_typed_status": "NVD_STATUS_UNSPECIFIED",
- "published": "2019-08-24T14:15:22Z",
- "last_modified": "2019-08-24T14:15:22Z",
- "evaluator_comment": "string",
- "evaluator_solution": "string",
- "evaluator_impact": "string",
- "cisa_exploit_add": "string",
- "cisa_action_due": "string",
- "cisa_required_action": "string",
- "cisa_vulnerability_name": "string",
- "descriptions": [
- {
- "lang": null,
- "value": null
}
], - "references": [
- {
- "url": null,
- "source": null,
- "tags": [ ]
}
], - "metrics": {
- "cvss_metric_v2": [
- null
], - "cvss_metric_v30": [
- null
], - "cvss_metric_v31": [
- null
]
}, - "weaknesses": [
- {
- "source": null,
- "type": null,
- "description": [ ]
}
], - "configurations": [
- {
- "operator": null,
- "negate": null,
- "nodes": [ ]
}
], - "vendor_comments": [
- {
- "organization": null,
- "comment": null,
- "last_modified": null
}
]
}
}, - "kev_record": {
- "cve_id": "string",
- "vendor_project": "string",
- "product": "string",
- "vulnerability_name": "string",
- "date_added": "2019-08-24T14:15:22Z",
- "short_description": "string",
- "required_action": "string",
- "due_date": "2019-08-24T14:15:22Z",
- "known_ransomware_campaign_use": "string",
- "notes": "string"
}
}, - "malicious": true,
- "additional_endor_notes": [
- "string"
]
}
}, - "root_package_resolved_dependencies": {
- "resolution_timestamp": "2019-08-24T14:15:22Z",
- "dependency_graph": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "dependencies": [
- {
- "name": "string",
- "public": true,
- "source_repository_http_clone_url": "string",
- "source_repository_ref": "string",
- "release_date": "2019-08-24T14:15:22Z",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "maven_dependency_scope": "SCOPE_UNSPECIFIED",
- "rust_dependency_kind": "DEPENDENCY_KIND_UNSPECIFIED",
- "golang_dependency_scope": "SCOPE_UNSPECIFIED",
- "js_dependency_scope": "SCOPE_UNSPECIFIED",
- "pypi_dependency_scope": "SCOPE_UNSPECIFIED",
- "gem_dependency_scope": "SCOPE_UNSPECIFIED",
- "nuget_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "packagist_dependency_scope": "SCOPE_UNSPECIFIED",
- "github_action_kind": "SCOPE_UNSPECIFIED",
- "cocoapod_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "hugging_face_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "pinned": true,
- "abstract": true,
- "targets": [
- {
- "type": "TARGET_TYPE_UNSPECIFIED",
- "name": "string",
- "version": "string",
- "exclude": true
}
], - "vendored": true,
- "imported_type": "IMPORTED_TYPE_UNSPECIFIED",
- "file_locations": [
- "string"
], - "container_layers": [
- {
- "digest": "string",
- "file_locations": [
- "string"
]
}
], - "patched": true,
- "purl": "string"
}
], - "dependency_files": [
- {
- "path": "string"
}
]
}, - "source_policy_info": {
- "name": "string",
- "uuid": "string",
- "description": "string",
- "finding_name": "string",
- "results": [
- {
- "fields": {
- "property1": "string",
- "property2": "string"
}
}
], - "tags": [
- "string"
]
}, - "ci_blocking_policy_info": {
- "name": "string",
- "uuid": "string",
- "description": "string",
- "finding_name": "string",
- "results": [
- {
- "fields": {
- "property1": "string",
- "property2": "string"
}
}
], - "tags": [
- "string"
]
}, - "root_package_version_metadata": {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "versions": [
- {
- "version": "string",
- "release_time": "2019-08-24T14:15:22Z",
- "license": [
- "string"
], - "checksums": [
- {
- "value": "string",
- "algorithm": "HASH_ALGORITHM_UNSPECIFIED"
}
], - "source_code_url": "string",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "source_code_ref": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "license_info": [
- {
- "name": "string",
- "spdxid": "string",
- "mapping_info": "LICENSE_MAPPING_INFO_UNSPECIFIED",
- "type": "string",
- "url": "string",
- "file": "string",
- "file_location": 0,
- "matched_text": "string"
}
], - "consumed": true
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "dependency_package_version_metadata": {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "versions": [
- {
- "version": "string",
- "release_time": "2019-08-24T14:15:22Z",
- "license": [
- "string"
], - "checksums": [
- {
- "value": "string",
- "algorithm": "HASH_ALGORITHM_UNSPECIFIED"
}
], - "source_code_url": "string",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "source_code_ref": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "license_info": [
- {
- "name": "string",
- "spdxid": "string",
- "mapping_info": "LICENSE_MAPPING_INFO_UNSPECIFIED",
- "type": "string",
- "url": "string",
- "file": "string",
- "file_location": 0,
- "matched_text": "string"
}
], - "consumed": true
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "typosquatted_dependency_version_metadata": {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "versions": [
- {
- "version": "string",
- "release_time": "2019-08-24T14:15:22Z",
- "license": [
- "string"
], - "checksums": [
- {
- "value": "string",
- "algorithm": "HASH_ALGORITHM_UNSPECIFIED"
}
], - "source_code_url": "string",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "source_code_ref": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "license_info": [
- {
- "name": "string",
- "spdxid": "string",
- "mapping_info": "LICENSE_MAPPING_INFO_UNSPECIFIED",
- "type": "string",
- "url": "string",
- "file": "string",
- "file_location": 0,
- "matched_text": "string"
}
], - "consumed": true
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "container_data": {
- "layer_digests": [
- "string"
], - "has_base_layer": true,
- "base_image": "string"
}, - "custom": null,
- "security_review_data": {
- "ai_meta": {
- "llm_context": {
- "structured_content": {
- "data": "string",
- "schema": { }
}, - "unstructured_content": "string"
}, - "confidence_justification": "string",
- "confidence_level": "CONFIDENCE_LEVEL_UNSPECIFIED"
}, - "category": "SECURITY_REVIEW_CATEGORY_UNSPECIFIED",
- "justification": "string",
- "code_snippet": {
- "file": "string",
- "line": 0,
- "line_end": 0,
- "snippet": "string",
- "description": "string",
- "impact": "string",
- "change_kind": "CHANGE_KIND_UNSPECIFIED",
- "language": "string"
}
}
}, - "summary": "string",
- "finding_tags": [
- "FINDING_TAGS_UNSPECIFIED"
], - "target_uuid": "string",
- "extra_key": "string",
- "method": "SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED",
- "target_dependency_package_name": "string",
- "target_dependency_name": "string",
- "target_dependency_version": "string",
- "explanation": "string",
- "remediation_action": "FINDING_REMEDIATION_UNSPECIFIED",
- "source_code_version": {
- "sha": "string",
- "ref": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "reachable_paths": [
- {
- "nodes": [
- {
- "function_ref": {
- "language": "string",
- "registry": "string",
- "product": "string",
- "version": "string",
- "namespace": "string",
- "language_specific": "string",
- "classname": "string",
- "function_or_attribute_name": "string",
- "args": [
- "string"
], - "return_type": "string",
- "declared_type": "string",
- "signature": "string"
}, - "package_version": "string",
- "internal": true
}
]
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "finding_categories": [
- "FINDING_CATEGORY_UNSPECIFIED"
], - "relationship": "string",
- "latest_version": "string",
- "dependency_file_paths": [
- "string"
], - "approximation": true,
- "proposed_version": "string",
- "exceptions": {
- "policy_uuids": [
- "string"
], - "tags": [
- "string"
]
}, - "actions": {
- "policy_uuids": [
- "string"
]
}, - "fixing_upgrades": {
- "upgrade_list": [
- {
- "package_name": "string",
- "direct_dependency_name": "string",
- "from_version": "string",
- "to_version": "string",
- "upgrade_risk": "string"
}
]
}, - "fixing_patch": {
- "endor_patch_available": true
}, - "code_owners": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
GetFinding
Fetch the finding identified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "project_uuid": "string",
- "last_processed": "2019-08-24T14:15:22Z",
- "level": "FINDING_LEVEL_UNSPECIFIED",
- "dismiss": true,
- "remediation": "string",
- "finding_metadata": {
- "root_package_score_card": {
- "overall_score": 0.1,
- "category_scores": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "centered_score": 0.1,
- "raw_score": 0.1
}
], - "analysis_scope_description": "string"
}, - "dependency_score_card": {
- "overall_score": 0.1,
- "category_scores": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "centered_score": 0.1,
- "raw_score": 0.1
}
], - "analysis_scope_description": "string"
}, - "root_package_score_factor_list": {
- "score_factors": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "name": "string",
- "evidence": "string",
- "id": "string",
- "score_float": 0.1
}
]
}, - "dependency_score_factor_list": {
- "score_factors": [
- {
- "category": "SCORE_CATEGORY_UNSPECIFIED",
- "score": 0,
- "description": "string",
- "name": "string",
- "evidence": "string",
- "id": "string",
- "score_float": 0.1
}
]
}, - "vulnerability": {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "deepdive": true,
- "disputed": true,
- "additional_notes": [
- "string"
], - "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "cvss_v3_severity": {
- "score": 0.1,
- "vector": "string",
- "level": "LEVEL_UNSPECIFIED",
- "temporal_score": 0.1,
- "temporal_vector": "string",
- "temporal_level": "LEVEL_UNSPECIFIED"
}, - "credits": [
- {
- "name": "string",
- "contact": [
- "string"
]
}
], - "database_specific": { },
- "summary": "string",
- "affected": [
- {
- "package": {
- "name": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "purl": "string",
- "cpe": "string",
- "cpes": [
- "string"
]
}, - "ranges": [
- {
- "type": "RANGE_TYPE_UNSPECIFIED",
- "introduced": "string",
- "fixed": "string",
- "repo": "string"
}
], - "versions": [
- "string"
], - "database_specific": { },
- "ecosystem_specific": { },
- "affected_filepaths": [
- "string"
], - "affected_callpath_uris": [
- "string"
], - "fix_commits": [
- "string"
], - "has_been_fixed": true,
- "source": "SOURCE_UNSPECIFIED",
- "maintainer_severity": "LEVEL_UNSPECIFIED"
}
], - "references": [
- {
- "type": "REFERENCE_TYPE_UNSPECIFIED",
- "url": "string"
}
], - "epss_score": {
- "probability_score": 0.1,
- "percentile_score": 0.1
}, - "raw": {
- "osv_vulnerability": {
- "schema_version": "string",
- "id": "string",
- "published": "2019-08-24T14:15:22Z",
- "modified": "2019-08-24T14:15:22Z",
- "withdrawn": "2019-08-24T14:15:22Z",
- "aliases": [
- "string"
], - "related": [
- "string"
], - "package": {
- "name": "string",
- "ecosystem": "string",
- "purl": "string"
}, - "summary": "string",
- "details": "string",
- "affected": [
- {
- "package": {
- "name": null,
- "ecosystem": null,
- "purl": null
}, - "ranges": [
- null
], - "versions": [
- null
], - "ecosystem_specific": { },
- "database_specific": { }
}
], - "references": [
- {
- "type": "NONE",
- "url": "string"
}
], - "database_specific": { },
- "severity": [
- {
- "type": "UNSPECIFIED",
- "score": "string"
}
], - "credits": [
- {
- "name": "string",
- "contact": [
- null
]
}
]
}, - "endor_vulnerability": {
- "cve_id": "string",
- "cve_description": "string",
- "cvss_score": 0.1,
- "cvss_vector": "string",
- "cwe": "string",
- "cve_references": [
- "string"
], - "package_name": "string",
- "ecosystem": "string",
- "fix_commit": [
- "string"
], - "additional_notes": "string",
- "component": [
- {
- "group_id": "string",
- "artifact_id": "string",
- "vulnerable_versions": [
- null
], - "fixed_versions": [
- null
], - "vulnerable_filepath": [
- null
], - "versions_range": [
- null
], - "endor_uri": [
- null
]
}
], - "deepdive": true,
- "disputed": true,
- "nofix": true,
- "schema_version": "string",
- "malicious": true,
- "withdrawn": "2019-08-24T14:15:22Z"
}, - "epss_record": {
- "cve_id": "string",
- "probability": 0.1,
- "percentile": 0.1,
- "ingestion_time": "2019-08-24T14:15:22Z"
}, - "nvd_vulnerability": {
- "cve": {
- "id": "string",
- "source_identifier": "string",
- "vuln_status": "string",
- "vuln_typed_status": "NVD_STATUS_UNSPECIFIED",
- "published": "2019-08-24T14:15:22Z",
- "last_modified": "2019-08-24T14:15:22Z",
- "evaluator_comment": "string",
- "evaluator_solution": "string",
- "evaluator_impact": "string",
- "cisa_exploit_add": "string",
- "cisa_action_due": "string",
- "cisa_required_action": "string",
- "cisa_vulnerability_name": "string",
- "descriptions": [
- {
- "lang": null,
- "value": null
}
], - "references": [
- {
- "url": null,
- "source": null,
- "tags": [ ]
}
], - "metrics": {
- "cvss_metric_v2": [
- null
], - "cvss_metric_v30": [
- null
], - "cvss_metric_v31": [
- null
]
}, - "weaknesses": [
- {
- "source": null,
- "type": null,
- "description": [ ]
}
], - "configurations": [
- {
- "operator": null,
- "negate": null,
- "nodes": [ ]
}
], - "vendor_comments": [
- {
- "organization": null,
- "comment": null,
- "last_modified": null
}
]
}
}, - "kev_record": {
- "cve_id": "string",
- "vendor_project": "string",
- "product": "string",
- "vulnerability_name": "string",
- "date_added": "2019-08-24T14:15:22Z",
- "short_description": "string",
- "required_action": "string",
- "due_date": "2019-08-24T14:15:22Z",
- "known_ransomware_campaign_use": "string",
- "notes": "string"
}
}, - "malicious": true,
- "additional_endor_notes": [
- "string"
]
}
}, - "root_package_resolved_dependencies": {
- "resolution_timestamp": "2019-08-24T14:15:22Z",
- "dependency_graph": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "dependencies": [
- {
- "name": "string",
- "public": true,
- "source_repository_http_clone_url": "string",
- "source_repository_ref": "string",
- "release_date": "2019-08-24T14:15:22Z",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "maven_dependency_scope": "SCOPE_UNSPECIFIED",
- "rust_dependency_kind": "DEPENDENCY_KIND_UNSPECIFIED",
- "golang_dependency_scope": "SCOPE_UNSPECIFIED",
- "js_dependency_scope": "SCOPE_UNSPECIFIED",
- "pypi_dependency_scope": "SCOPE_UNSPECIFIED",
- "gem_dependency_scope": "SCOPE_UNSPECIFIED",
- "nuget_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "packagist_dependency_scope": "SCOPE_UNSPECIFIED",
- "github_action_kind": "SCOPE_UNSPECIFIED",
- "cocoapod_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "hugging_face_dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "dependency_scope": "DEPENDENCY_SCOPE_UNSPECIFIED",
- "pinned": true,
- "abstract": true,
- "targets": [
- {
- "type": "TARGET_TYPE_UNSPECIFIED",
- "name": "string",
- "version": "string",
- "exclude": true
}
], - "vendored": true,
- "imported_type": "IMPORTED_TYPE_UNSPECIFIED",
- "file_locations": [
- "string"
], - "container_layers": [
- {
- "digest": "string",
- "file_locations": [
- "string"
]
}
], - "patched": true,
- "purl": "string"
}
], - "dependency_files": [
- {
- "path": "string"
}
]
}, - "source_policy_info": {
- "name": "string",
- "uuid": "string",
- "description": "string",
- "finding_name": "string",
- "results": [
- {
- "fields": {
- "property1": "string",
- "property2": "string"
}
}
], - "tags": [
- "string"
]
}, - "ci_blocking_policy_info": {
- "name": "string",
- "uuid": "string",
- "description": "string",
- "finding_name": "string",
- "results": [
- {
- "fields": {
- "property1": "string",
- "property2": "string"
}
}
], - "tags": [
- "string"
]
}, - "root_package_version_metadata": {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "versions": [
- {
- "version": "string",
- "release_time": "2019-08-24T14:15:22Z",
- "license": [
- "string"
], - "checksums": [
- {
- "value": "string",
- "algorithm": "HASH_ALGORITHM_UNSPECIFIED"
}
], - "source_code_url": "string",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "source_code_ref": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "license_info": [
- {
- "name": "string",
- "spdxid": "string",
- "mapping_info": "LICENSE_MAPPING_INFO_UNSPECIFIED",
- "type": "string",
- "url": "string",
- "file": "string",
- "file_location": 0,
- "matched_text": "string"
}
], - "consumed": true
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "dependency_package_version_metadata": {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "versions": [
- {
- "version": "string",
- "release_time": "2019-08-24T14:15:22Z",
- "license": [
- "string"
], - "checksums": [
- {
- "value": "string",
- "algorithm": "HASH_ALGORITHM_UNSPECIFIED"
}
], - "source_code_url": "string",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "source_code_ref": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "license_info": [
- {
- "name": "string",
- "spdxid": "string",
- "mapping_info": "LICENSE_MAPPING_INFO_UNSPECIFIED",
- "type": "string",
- "url": "string",
- "file": "string",
- "file_location": 0,
- "matched_text": "string"
}
], - "consumed": true
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "typosquatted_dependency_version_metadata": {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "versions": [
- {
- "version": "string",
- "release_time": "2019-08-24T14:15:22Z",
- "license": [
- "string"
], - "checksums": [
- {
- "value": "string",
- "algorithm": "HASH_ALGORITHM_UNSPECIFIED"
}
], - "source_code_url": "string",
- "platform_source": "PLATFORM_SOURCE_UNSPECIFIED",
- "source_code_ref": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "license_info": [
- {
- "name": "string",
- "spdxid": "string",
- "mapping_info": "LICENSE_MAPPING_INFO_UNSPECIFIED",
- "type": "string",
- "url": "string",
- "file": "string",
- "file_location": 0,
- "matched_text": "string"
}
], - "consumed": true
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "last_updated": "2019-08-24T14:15:22Z"
}
}, - "container_data": {
- "layer_digests": [
- "string"
], - "has_base_layer": true,
- "base_image": "string"
}, - "custom": null,
- "security_review_data": {
- "ai_meta": {
- "llm_context": {
- "structured_content": {
- "data": "string",
- "schema": { }
}, - "unstructured_content": "string"
}, - "confidence_justification": "string",
- "confidence_level": "CONFIDENCE_LEVEL_UNSPECIFIED"
}, - "category": "SECURITY_REVIEW_CATEGORY_UNSPECIFIED",
- "justification": "string",
- "code_snippet": {
- "file": "string",
- "line": 0,
- "line_end": 0,
- "snippet": "string",
- "description": "string",
- "impact": "string",
- "change_kind": "CHANGE_KIND_UNSPECIFIED",
- "language": "string"
}
}
}, - "summary": "string",
- "finding_tags": [
- "FINDING_TAGS_UNSPECIFIED"
], - "target_uuid": "string",
- "extra_key": "string",
- "method": "SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED",
- "target_dependency_package_name": "string",
- "target_dependency_name": "string",
- "target_dependency_version": "string",
- "explanation": "string",
- "remediation_action": "FINDING_REMEDIATION_UNSPECIFIED",
- "source_code_version": {
- "sha": "string",
- "ref": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}, - "reachable_paths": [
- {
- "nodes": [
- {
- "function_ref": {
- "language": "string",
- "registry": "string",
- "product": "string",
- "version": "string",
- "namespace": "string",
- "language_specific": "string",
- "classname": "string",
- "function_or_attribute_name": "string",
- "args": [
- "string"
], - "return_type": "string",
- "declared_type": "string",
- "signature": "string"
}, - "package_version": "string",
- "internal": true
}
]
}
], - "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "finding_categories": [
- "FINDING_CATEGORY_UNSPECIFIED"
], - "relationship": "string",
- "latest_version": "string",
- "dependency_file_paths": [
- "string"
], - "approximation": true,
- "proposed_version": "string",
- "exceptions": {
- "policy_uuids": [
- "string"
], - "tags": [
- "string"
]
}, - "actions": {
- "policy_uuids": [
- "string"
]
}, - "fixing_upgrades": {
- "upgrade_list": [
- {
- "package_name": "string",
- "direct_dependency_name": "string",
- "from_version": "string",
- "to_version": "string",
- "upgrade_risk": "string"
}
]
}, - "fixing_patch": {
- "endor_patch_available": true
}, - "code_owners": {
- "owners": [
- "string"
], - "labels": [
- "string"
]
}
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
DeleteFinding
Delete the finding specified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
ListFindingLogs
Returns a list of finding logs based on the specified list parameters.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "finding_uuid": "string",
- "finding_parent_kind": "string",
- "finding_parent_uuid": "string",
- "operation": "OPERATION_UNSPECIFIED",
- "introduced_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "days_unresolved": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "target_uuid": "string",
- "target_dependency_package_name": "string",
- "method": "SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED",
- "level": "FINDING_LEVEL_UNSPECIFIED",
- "finding_tags": [
- "FINDING_TAGS_UNSPECIFIED"
], - "finding_categories": [
- "FINDING_CATEGORY_UNSPECIFIED"
], - "approximation": true
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateFindingLog
Creates a finding log.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Namespace of the finding log.) Namespace of the finding log. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1FindingLogSpec) |
required | object (v1Context) Contexts keep objects from different scans separated. |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "finding_uuid": "string",
- "finding_parent_kind": "string",
- "finding_parent_uuid": "string",
- "operation": "OPERATION_UNSPECIFIED",
- "introduced_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "days_unresolved": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "target_uuid": "string",
- "target_dependency_package_name": "string",
- "method": "SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED",
- "level": "FINDING_LEVEL_UNSPECIFIED",
- "finding_tags": [
- "FINDING_TAGS_UNSPECIFIED"
], - "finding_categories": [
- "FINDING_CATEGORY_UNSPECIFIED"
], - "approximation": true
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "finding_uuid": "string",
- "finding_parent_kind": "string",
- "finding_parent_uuid": "string",
- "operation": "OPERATION_UNSPECIFIED",
- "introduced_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "days_unresolved": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "target_uuid": "string",
- "target_dependency_package_name": "string",
- "method": "SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED",
- "level": "FINDING_LEVEL_UNSPECIFIED",
- "finding_tags": [
- "FINDING_TAGS_UNSPECIFIED"
], - "finding_categories": [
- "FINDING_CATEGORY_UNSPECIFIED"
], - "approximation": true
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
GetFindingLog
Returns a specified finding log.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "finding_uuid": "string",
- "finding_parent_kind": "string",
- "finding_parent_uuid": "string",
- "operation": "OPERATION_UNSPECIFIED",
- "introduced_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "days_unresolved": "string",
- "ecosystem": "ECOSYSTEM_UNSPECIFIED",
- "target_uuid": "string",
- "target_dependency_package_name": "string",
- "method": "SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED",
- "level": "FINDING_LEVEL_UNSPECIFIED",
- "finding_tags": [
- "FINDING_TAGS_UNSPECIFIED"
], - "finding_categories": [
- "FINDING_CATEGORY_UNSPECIFIED"
], - "approximation": true
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
DeleteFindingLog
Deletes a finding log specified by its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
UpdateFunctionGraphData
Updates the metadata of a callgraph.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object FunctionGraphData represents a function graph data request in the system. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "tenant_meta": { },
- "zstd_bytes": "string",
- "any": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "zstd_bytes": "string",
- "any": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "related_object": "string",
- "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}, - "storage_url": "string"
}
ListFunctionGraphData
Lists all function graph data in a namespace.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "zstd_bytes": "string",
- "any": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "related_object": "string",
- "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}, - "storage_url": "string"
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateFunctionGraphData
Creates a function graph. The object must provide a parent ID that is the associated package version to which the function graph belongs. A create operation will replace any previous data and is considered an upsert.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
required | object (v1Meta) Common fields for all Endor Labs resources. |
tenant_meta | object (Namespaces are associated with a tenant.) Namespaces are associated with a tenant. |
zstd_bytes | string <byte> Function graph proto bytes are encoded in zstd bytes. It is the responsibility of the caller to compress/uncompress the bytes. |
object (googleprotobufAny)
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++.
Example 2: Pack and unpack a message in Java.
Example 3: Pack and unpack a message in Python.
Example 4: Pack and unpack a message in Go
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
If the embedded message type is well-known and has a custom JSON
representation, that representation will be embedded adding a field
| |
object (v1Context) Contexts keep objects from different scans separated. |
Responses
Request samples
- Payload
{- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "tenant_meta": { },
- "zstd_bytes": "string",
- "any": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "zstd_bytes": "string",
- "any": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "related_object": "string",
- "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}, - "storage_url": "string"
}
GetFunctionGraphData
Fetches the function graph for a given package version that is captured in the parent_uuid.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "zstd_bytes": "string",
- "any": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "related_object": "string",
- "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}, - "storage_url": "string"
}
DeleteFunctionGraphData
Deletes a function graph for the given package version that is captured in the parent_uuid.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
ListGithubTokens
Lists all available GitHub tokens.
query Parameters
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")". |
page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
action | string Action to be executed with a request. Not supported for all endpoints. |
mask | string List of fields to return (all fields are returned by default). |
traverse | boolean Get data from any child namespaces as well. |
sort.path | string Field to sort objects by, for example, meta.name. |
sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
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. |
group.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. |
group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
ci_run_uuid | string Only return objects from PR scans that match this context id. |
page_id | string Page ID to retrieve. |
group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
group_by_time.group_size | integer <int32> 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. |
group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
group_by_time.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. |
group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "spec": {
- "token": "string"
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
ListHuggingFaceModels
Lists all HuggingFace models in a given namespace.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "id": "string",
- "name": "string",
- "model_id": "string",
- "author": "string",
- "sha": "string",
- "last_modified": "2019-08-24T14:15:22Z",
- "private": true,
- "disabled": true,
- "gated": {
- "mode_type": "string",
- "disabled": true
}, - "pipeline_tag": "string",
- "tags": [
- "string"
], - "downloads": 0,
- "library_name": "string",
- "mask_token": "string",
- "widget_data": [
- { }
], - "likes": 0,
- "model_index": [
- { }
], - "config": { },
- "card_data": { },
- "transformers_info": { },
- "spaces": [
- "string"
], - "siblings": [
- {
- "rfilename": "string"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "safetensors": { },
- "readme_content": "string",
- "config_content": "string",
- "authorization_required": true,
- "discussions": {
- "count": 0,
- "num_closed": 0
}, - "pull_requests": {
- "count": 0,
- "num_closed": 0
}, - "project_uuid": "string",
- "readme_metadata": {
- "example_code": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "base_model": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "training_data": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "fine_tuned": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "alignment_trained": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "linked_github": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "evaluation_results": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}
}
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateHuggingFaceModel
Creates a HuggingFace model.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Models scanned per namespace.) Models scanned per namespace. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1HuggingFaceModelSpec) |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "id": "string",
- "name": "string",
- "model_id": "string",
- "author": "string",
- "sha": "string",
- "last_modified": "2019-08-24T14:15:22Z",
- "private": true,
- "disabled": true,
- "gated": {
- "mode_type": "string",
- "disabled": true
}, - "pipeline_tag": "string",
- "tags": [
- "string"
], - "downloads": 0,
- "library_name": "string",
- "mask_token": "string",
- "widget_data": [
- { }
], - "likes": 0,
- "model_index": [
- { }
], - "config": { },
- "card_data": { },
- "transformers_info": { },
- "spaces": [
- "string"
], - "siblings": [
- {
- "rfilename": "string"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "safetensors": { },
- "readme_content": "string",
- "config_content": "string",
- "authorization_required": true,
- "discussions": {
- "count": 0,
- "num_closed": 0
}, - "pull_requests": {
- "count": 0,
- "num_closed": 0
}, - "project_uuid": "string",
- "readme_metadata": {
- "example_code": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "base_model": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "training_data": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "fine_tuned": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "alignment_trained": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "linked_github": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "evaluation_results": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "id": "string",
- "name": "string",
- "model_id": "string",
- "author": "string",
- "sha": "string",
- "last_modified": "2019-08-24T14:15:22Z",
- "private": true,
- "disabled": true,
- "gated": {
- "mode_type": "string",
- "disabled": true
}, - "pipeline_tag": "string",
- "tags": [
- "string"
], - "downloads": 0,
- "library_name": "string",
- "mask_token": "string",
- "widget_data": [
- { }
], - "likes": 0,
- "model_index": [
- { }
], - "config": { },
- "card_data": { },
- "transformers_info": { },
- "spaces": [
- "string"
], - "siblings": [
- {
- "rfilename": "string"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "safetensors": { },
- "readme_content": "string",
- "config_content": "string",
- "authorization_required": true,
- "discussions": {
- "count": 0,
- "num_closed": 0
}, - "pull_requests": {
- "count": 0,
- "num_closed": 0
}, - "project_uuid": "string",
- "readme_metadata": {
- "example_code": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "base_model": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "training_data": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "fine_tuned": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "alignment_trained": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "linked_github": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "evaluation_results": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}
}
}
}
GetHuggingFaceModel
Fetches the HuggingFace model specified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "id": "string",
- "name": "string",
- "model_id": "string",
- "author": "string",
- "sha": "string",
- "last_modified": "2019-08-24T14:15:22Z",
- "private": true,
- "disabled": true,
- "gated": {
- "mode_type": "string",
- "disabled": true
}, - "pipeline_tag": "string",
- "tags": [
- "string"
], - "downloads": 0,
- "library_name": "string",
- "mask_token": "string",
- "widget_data": [
- { }
], - "likes": 0,
- "model_index": [
- { }
], - "config": { },
- "card_data": { },
- "transformers_info": { },
- "spaces": [
- "string"
], - "siblings": [
- {
- "rfilename": "string"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "safetensors": { },
- "readme_content": "string",
- "config_content": "string",
- "authorization_required": true,
- "discussions": {
- "count": 0,
- "num_closed": 0
}, - "pull_requests": {
- "count": 0,
- "num_closed": 0
}, - "project_uuid": "string",
- "readme_metadata": {
- "example_code": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "base_model": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "training_data": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "fine_tuned": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "alignment_trained": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "linked_github": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}, - "evaluation_results": {
- "prompt": "string",
- "raw_response": "string",
- "exists": true,
- "answer": [
- "string"
], - "evidence": "string"
}
}
}
}
DeleteHuggingFaceModel
Deletes a specified HuggingFace model specified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
UpdateIdentityProvider
Updates an identity provider.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object Represents an identity provider. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "oidc_provider": {
- "discover_url": "string",
- "key": "string",
- "secret": "string",
- "scopes": [
- "string"
], - "claim_names": [
- "string"
]
}, - "saml_provider": {
- "provider_metadata_url": "string",
- "sso_url": "string",
- "issuer": "string",
- "certificates": [
- "string"
], - "attribute_names": [
- "string"
]
}
}, - "propagate": true
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "oidc_provider": {
- "discover_url": "string",
- "key": "string",
- "secret": "string",
- "scopes": [
- "string"
], - "claim_names": [
- "string"
]
}, - "saml_provider": {
- "provider_metadata_url": "string",
- "sso_url": "string",
- "issuer": "string",
- "certificates": [
- "string"
], - "attribute_names": [
- "string"
]
}
}, - "propagate": true
}
ListIdentityProviders
Lists all identity providers.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "oidc_provider": {
- "discover_url": "string",
- "key": "string",
- "secret": "string",
- "scopes": [
- "string"
], - "claim_names": [
- "string"
]
}, - "saml_provider": {
- "provider_metadata_url": "string",
- "sso_url": "string",
- "issuer": "string",
- "certificates": [
- "string"
], - "attribute_names": [
- "string"
]
}
}, - "propagate": true
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateIdentityProvider
Creates an identity provider.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (IdentityProviders are associated with a tenant and namespace.) IdentityProviders are associated with a tenant and namespace. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1IdentityProviderSpec) |
propagate | boolean Propagate indicates that the object should be visible in child namespaces. |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "oidc_provider": {
- "discover_url": "string",
- "key": "string",
- "secret": "string",
- "scopes": [
- "string"
], - "claim_names": [
- "string"
]
}, - "saml_provider": {
- "provider_metadata_url": "string",
- "sso_url": "string",
- "issuer": "string",
- "certificates": [
- "string"
], - "attribute_names": [
- "string"
]
}
}, - "propagate": true
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "oidc_provider": {
- "discover_url": "string",
- "key": "string",
- "secret": "string",
- "scopes": [
- "string"
], - "claim_names": [
- "string"
]
}, - "saml_provider": {
- "provider_metadata_url": "string",
- "sso_url": "string",
- "issuer": "string",
- "certificates": [
- "string"
], - "attribute_names": [
- "string"
]
}
}, - "propagate": true
}
GetIdentityProvider
Fetches the identity provider specified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "oidc_provider": {
- "discover_url": "string",
- "key": "string",
- "secret": "string",
- "scopes": [
- "string"
], - "claim_names": [
- "string"
]
}, - "saml_provider": {
- "provider_metadata_url": "string",
- "sso_url": "string",
- "issuer": "string",
- "certificates": [
- "string"
], - "attribute_names": [
- "string"
]
}
}, - "propagate": true
}
DeleteIdentityProvider
Deletes the identity provider specified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
CreateSegmentIndexRequest
Creates a segment index request.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Namespace of the segment index request.) Namespace of the segment index request. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1SegmentIndexRequestSpec) |
object (v1Context) Contexts keep objects from different scans separated. |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "segments": [
- {
- "source_uri": "string",
- "package_version": "string",
- "sha": "string",
- "path": "string",
- "function_ref": "string",
- "line_start": 0,
- "line_end": 0,
- "content": "string",
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "commit_time": "2019-08-24T14:15:22Z",
- "metadata": {
- "signature": "string",
- "embedding": {
- "vector": [
- 0.1
]
}, - "code_size": "string"
}, - "language": "LANGUAGE_UNSPECIFIED",
- "file_hash": "string",
- "blame_time": "2019-08-24T14:15:22Z",
- "cyclomatic_complexity": 0,
- "rest": true
}
], - "project_uuid": "string",
- "ref": "string",
- "sha": "string",
- "segmentation_done": true
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "id": "string",
- "tags": [
- "string"
]
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "segments": [
- {
- "source_uri": "string",
- "package_version": "string",
- "sha": "string",
- "path": "string",
- "function_ref": "string",
- "line_start": 0,
- "line_end": 0,
- "content": "string",
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "commit_time": "2019-08-24T14:15:22Z",
- "metadata": {
- "signature": "string",
- "embedding": {
- "vector": [
- 0.1
]
}, - "code_size": "string"
}, - "language": "LANGUAGE_UNSPECIFIED",
- "file_hash": "string",
- "blame_time": "2019-08-24T14:15:22Z",
- "cyclomatic_complexity": 0,
- "rest": true
}
], - "project_uuid": "string",
- "ref": "string",
- "sha": "string",
- "segmentation_done": true
}, - "context": {
- "type": "CONTEXT_TYPE_UNSPECIFIED",
- "will_be_deleted_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "tags": [
- "string"
]
}
}
UpdateInstallation
Updates an installation.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object Installation represents an installation request in the system. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "tenant_meta": { },
- "spec": {
- "public": true,
- "external_id": "string",
- "suspended": true,
- "project_uuids": [
- "string"
], - "enabled_features": [
- "ENABLED_FEATURE_TYPE_UNSPECIFIED"
], - "platform_source": "PLATFORM_SOURCE_TYPE_UNSPECIFIED",
- "platform_type": "PLATFORM_SOURCE_UNSPECIFIED",
- "github_config": {
- "enable_pr_scans": true,
- "enable_pr_comments": true,
- "enable_full_scan": true,
- "include_archived_repos": true
}, - "azure_config": {
- "host_url": "string",
- "personal_access_token": "string"
}, - "gitlab_config": {
- "host_url": "string",
- "personal_access_token": "string"
}, - "bitbucket_config": {
- "host_url": "string",
- "cloud": {
- "app_password_config": {
- "username": "string",
- "app_password": "string"
}, - "access_token": "string"
}, - "data_center": {
- "http_access_token": "string"
}
}, - "include_archived_repos": true
}, - "processing_status": {
- "scan_state": "SCAN_STATE_UNSPECIFIED",
- "scan_time": "2019-08-24T14:15:22Z",
- "analytic_time": "2019-08-24T14:15:22Z",
- "queue_time": "2019-08-24T14:15:22Z",
- "disable_automated_scan": true,
- "metadata": {
- "full_history_scan_time": "2019-08-24T14:15:22Z"
}
}, - "propagate": true
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "spec": {
- "public": true,
- "external_id": "string",
- "external_name": "string",
- "user": "string",
- "ingestion_time": "2019-08-24T14:15:22Z",
- "target_type": "string",
- "suspended": true,
- "project_uuids": [
- "string"
], - "login": "string",
- "invalid": true,
- "ingestion_token": "string",
- "enabled_features": [
- "ENABLED_FEATURE_TYPE_UNSPECIFIED"
], - "platform_source": "PLATFORM_SOURCE_TYPE_UNSPECIFIED",
- "platform_type": "PLATFORM_SOURCE_UNSPECIFIED",
- "github_config": {
- "app_id": "string",
- "enable_pr_scans": true,
- "enable_pr_comments": true,
- "enable_full_scan": true,
- "include_archived_repos": true,
- "installation_github_user": "string"
}, - "azure_config": {
- "host_url": "string",
- "personal_access_token": "string"
}, - "gitlab_config": {
- "host_url": "string",
- "personal_access_token": "string"
}, - "bitbucket_config": {
- "host_url": "string",
- "cloud": {
- "app_password_config": {
- "username": "string",
- "app_password": "string"
}, - "access_token": "string"
}, - "data_center": {
- "http_access_token": "string"
}
}, - "marked_for_deletion": true,
- "include_archived_repos": true
}, - "processing_status": {
- "scan_state": "SCAN_STATE_UNSPECIFIED",
- "scan_time": "2019-08-24T14:15:22Z",
- "analytic_time": "2019-08-24T14:15:22Z",
- "queue_time": "2019-08-24T14:15:22Z",
- "disable_automated_scan": true,
- "metadata": {
- "full_history_scan_time": "2019-08-24T14:15:22Z"
}
}, - "propagate": true
}
ListInstallations
Lists all installations.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "spec": {
- "public": true,
- "external_id": "string",
- "external_name": "string",
- "user": "string",
- "ingestion_time": "2019-08-24T14:15:22Z",
- "target_type": "string",
- "suspended": true,
- "project_uuids": [
- "string"
], - "login": "string",
- "invalid": true,
- "ingestion_token": "string",
- "enabled_features": [
- "ENABLED_FEATURE_TYPE_UNSPECIFIED"
], - "platform_source": "PLATFORM_SOURCE_TYPE_UNSPECIFIED",
- "platform_type": "PLATFORM_SOURCE_UNSPECIFIED",
- "github_config": {
- "app_id": "string",
- "enable_pr_scans": true,
- "enable_pr_comments": true,
- "enable_full_scan": true,
- "include_archived_repos": true,
- "installation_github_user": "string"
}, - "azure_config": {
- "host_url": "string",
- "personal_access_token": "string"
}, - "gitlab_config": {
- "host_url": "string",
- "personal_access_token": "string"
}, - "bitbucket_config": {
- "host_url": "string",
- "cloud": {
- "app_password_config": {
- "username": "string",
- "app_password": "string"
}, - "access_token": "string"
}, - "data_center": {
- "http_access_token": "string"
}
}, - "marked_for_deletion": true,
- "include_archived_repos": true
}, - "processing_status": {
- "scan_state": "SCAN_STATE_UNSPECIFIED",
- "scan_time": "2019-08-24T14:15:22Z",
- "analytic_time": "2019-08-24T14:15:22Z",
- "queue_time": "2019-08-24T14:15:22Z",
- "disable_automated_scan": true,
- "metadata": {
- "full_history_scan_time": "2019-08-24T14:15:22Z"
}
}, - "propagate": true
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateInstallation
creates a installation. The creation of the resource will be an upsert if the given spec.external_id and spec.platform_resource were already created.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
required | object (v1Meta) Common fields for all Endor Labs resources. |
tenant_meta | object (Namespaces are associated with a tenant.) Namespaces are associated with a tenant. |
object (v1InstallationSpec) | |
object (v1ProcessingStatus) | |
propagate | boolean Propagate indicates that the object should be visible in child namespaces. |
Responses
Request samples
- Payload
{- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "tenant_meta": { },
- "spec": {
- "public": true,
- "external_id": "string",
- "suspended": true,
- "project_uuids": [
- "string"
], - "enabled_features": [
- "ENABLED_FEATURE_TYPE_UNSPECIFIED"
], - "platform_source": "PLATFORM_SOURCE_TYPE_UNSPECIFIED",
- "platform_type": "PLATFORM_SOURCE_UNSPECIFIED",
- "github_config": {
- "enable_pr_scans": true,
- "enable_pr_comments": true,
- "enable_full_scan": true,
- "include_archived_repos": true
}, - "azure_config": {
- "host_url": "string",
- "personal_access_token": "string"
}, - "gitlab_config": {
- "host_url": "string",
- "personal_access_token": "string"
}, - "bitbucket_config": {
- "host_url": "string",
- "cloud": {
- "app_password_config": {
- "username": "string",
- "app_password": "string"
}, - "access_token": "string"
}, - "data_center": {
- "http_access_token": "string"
}
}, - "include_archived_repos": true
}, - "processing_status": {
- "scan_state": "SCAN_STATE_UNSPECIFIED",
- "scan_time": "2019-08-24T14:15:22Z",
- "analytic_time": "2019-08-24T14:15:22Z",
- "queue_time": "2019-08-24T14:15:22Z",
- "disable_automated_scan": true,
- "metadata": {
- "full_history_scan_time": "2019-08-24T14:15:22Z"
}
}, - "propagate": true
}
Response samples
- 200
- default
{- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "spec": {
- "public": true,
- "external_id": "string",
- "external_name": "string",
- "user": "string",
- "ingestion_time": "2019-08-24T14:15:22Z",
- "target_type": "string",
- "suspended": true,
- "project_uuids": [
- "string"
], - "login": "string",
- "invalid": true,
- "ingestion_token": "string",
- "enabled_features": [
- "ENABLED_FEATURE_TYPE_UNSPECIFIED"
], - "platform_source": "PLATFORM_SOURCE_TYPE_UNSPECIFIED",
- "platform_type": "PLATFORM_SOURCE_UNSPECIFIED",
- "github_config": {
- "app_id": "string",
- "enable_pr_scans": true,
- "enable_pr_comments": true,
- "enable_full_scan": true,
- "include_archived_repos": true,
- "installation_github_user": "string"
}, - "azure_config": {
- "host_url": "string",
- "personal_access_token": "string"
}, - "gitlab_config": {
- "host_url": "string",
- "personal_access_token": "string"
}, - "bitbucket_config": {
- "host_url": "string",
- "cloud": {
- "app_password_config": {
- "username": "string",
- "app_password": "string"
}, - "access_token": "string"
}, - "data_center": {
- "http_access_token": "string"
}
}, - "marked_for_deletion": true,
- "include_archived_repos": true
}, - "processing_status": {
- "scan_state": "SCAN_STATE_UNSPECIFIED",
- "scan_time": "2019-08-24T14:15:22Z",
- "analytic_time": "2019-08-24T14:15:22Z",
- "queue_time": "2019-08-24T14:15:22Z",
- "disable_automated_scan": true,
- "metadata": {
- "full_history_scan_time": "2019-08-24T14:15:22Z"
}
}, - "propagate": true
}
GetInstallation
Fetches an installation identified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "tenant_meta": {
- "namespace": "string"
}, - "spec": {
- "public": true,
- "external_id": "string",
- "external_name": "string",
- "user": "string",
- "ingestion_time": "2019-08-24T14:15:22Z",
- "target_type": "string",
- "suspended": true,
- "project_uuids": [
- "string"
], - "login": "string",
- "invalid": true,
- "ingestion_token": "string",
- "enabled_features": [
- "ENABLED_FEATURE_TYPE_UNSPECIFIED"
], - "platform_source": "PLATFORM_SOURCE_TYPE_UNSPECIFIED",
- "platform_type": "PLATFORM_SOURCE_UNSPECIFIED",
- "github_config": {
- "app_id": "string",
- "enable_pr_scans": true,
- "enable_pr_comments": true,
- "enable_full_scan": true,
- "include_archived_repos": true,
- "installation_github_user": "string"
}, - "azure_config": {
- "host_url": "string",
- "personal_access_token": "string"
}, - "gitlab_config": {
- "host_url": "string",
- "personal_access_token": "string"
}, - "bitbucket_config": {
- "host_url": "string",
- "cloud": {
- "app_password_config": {
- "username": "string",
- "app_password": "string"
}, - "access_token": "string"
}, - "data_center": {
- "http_access_token": "string"
}
}, - "marked_for_deletion": true,
- "include_archived_repos": true
}, - "processing_status": {
- "scan_state": "SCAN_STATE_UNSPECIFIED",
- "scan_time": "2019-08-24T14:15:22Z",
- "analytic_time": "2019-08-24T14:15:22Z",
- "queue_time": "2019-08-24T14:15:22Z",
- "disable_automated_scan": true,
- "metadata": {
- "full_history_scan_time": "2019-08-24T14:15:22Z"
}
}, - "propagate": true
}
DeleteInstallation
Deletes an installation specified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
UpdateInvitation
Updates the invitation.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object Invitation represents an invitation for a new user in the system. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "user_email": "string",
- "invitation_state": "INVITATION_STATE_UNSPECIFIED"
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "user_email": "string",
- "invitation_state": "INVITATION_STATE_UNSPECIFIED"
}
}
ListInvitations
Lists the invitations in a namespace.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "user_email": "string",
- "invitation_state": "INVITATION_STATE_UNSPECIFIED"
}
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateInvitation
Creates an invitation.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Invitations can be issued per namespace.) Invitations can be issued per namespace. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1InvitationSpec) |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "user_email": "string",
- "invitation_state": "INVITATION_STATE_UNSPECIFIED"
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "user_email": "string",
- "invitation_state": "INVITATION_STATE_UNSPECIFIED"
}
}
GetInvitation
Fetches the invitation identified by the UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "user_email": "string",
- "invitation_state": "INVITATION_STATE_UNSPECIFIED"
}
}
DeleteInvitation
Deletes the invitation specified by the UUID
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
UpdateIPAddressPolicy
Updates a specified IPAddressPolicy.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object An IPAddressPolicy creates a restriction on which IP address subnets can access a tenant. Note that only one IP address policy is allowed per tenant and IP address policies cannot be declared in child namespaces. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "allowed_ip_subnets": [
- "string"
]
}, - "propagate": true
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "allowed_ip_subnets": [
- "string"
]
}, - "propagate": true
}
ListIPAddresssPolicies
Returns a list of finding logs based on the specified list parameters.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg |
Responses
Response samples
- 200
- default
{- "list": {
- "objects": [
- {
- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "allowed_ip_subnets": [
- "string"
]
}, - "propagate": true
}
], - "response": {
- "next_page_token": 0,
- "next_page_id": "string"
}
}, - "count_response": {
- "count": 0
}, - "group_response": {
- "groups": {
- "property1": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}, - "property2": {
- "aggregation_count": {
- "count": 0
}, - "aggregation_uuids": [
- "string"
], - "unique_counts": {
- "property1": {
- "count": 0
}, - "property2": {
- "count": 0
}
}, - "unique_values": {
- "property1": [
- { }
], - "property2": [
- { }
]
}, - "aggregation_value": {
- "value": 0.1
}
}
}
}
}
CreateIPAddressPolicy
Creates a finding log.
path Parameters
tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
tenant_meta | object (Namespace of the ip address policy.) Namespace of the ip address policy. |
required | object (v1Meta) Common fields for all Endor Labs resources. |
required | object (v1IPAddressPolicySpec) |
propagate | boolean Propagate indicates that the object should be visible in child namespaces. It should be set to true for most use cases. |
Responses
Request samples
- Payload
{- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "allowed_ip_subnets": [
- "string"
]
}, - "propagate": true
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "allowed_ip_subnets": [
- "string"
]
}, - "propagate": true
}
GetIPAddressPolicy
Returns a specified finding log.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the requested resource. |
query Parameters
get_parameters.mask | string List of fields to return (all fields are returned by default). |
Responses
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "allowed_ip_subnets": [
- "string"
]
}, - "propagate": true
}
DeleteIPAddressPolicy
Deletes a finding log specified by its UUID.
path Parameters
tenant_meta.namespace required | string 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 required | string The UUID of the resource to be deleted. |
query Parameters
delete_parameters.action | string Action to be executed with delete request. |
Responses
Response samples
- 200
- default
{ }
UpdateJVMClassMetadata
Updates an jvm class metadata.
path Parameters
object.tenant_meta.namespace required | string 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". |
Request Body schema: application/jsonrequired
object (v1UpdateRequest) Message used for all update requests. | |
object JVMClassMetadata contains metadata such as file sha, name, gav of oss library for a jvm class file. |
Responses
Request samples
- Payload
{- "request": {
- "update_mask": "string"
}, - "object": {
- "tenant_meta": { },
- "meta": {
- "name": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "spec": {
- "file_name": "string",
- "gav": "string",
- "is_original_sha": true,
- "last_modified_time": "2019-08-24T14:15:22Z",
- "is_rebundled": true
}
}
}
Response samples
- 200
- default
{- "uuid": "string",
- "tenant_meta": {
- "namespace": "string"
}, - "meta": {
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "upsert_time": "2019-08-24T14:15:22Z",
- "name": "string",
- "kind": "string",
- "version": "string",
- "description": "string",
- "parent_uuid": "string",
- "parent_kind": "string",
- "tags": [
- "string"
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "created_by": "string",
- "updated_by": "string",
- "references": {
- "property1": {
- "@type": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "@type": "string",
- "property1": null,
- "property2": null
}
}
}, - "spec": {
- "file_name": "string",
- "gav": "string",
- "is_original_sha": true,
- "last_modified_time": "2019-08-24T14:15:22Z",
- "is_rebundled": true
}
}
ListJVMClassMetadata
Lists all jvm class metadata in a given namespace.
path Parameters
tenant_meta.namespace required | string 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". |
query Parameters
list_parameters.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")". |
list_parameters.page_token | integer <int32> Set the page token to start from. Use page tokens to page through list results or list specific pages. |
list_parameters.page_size | integer <int32> Set the page size to limit the number of results returned. Default: 100. Max: 500. |
list_parameters.action | string Action to be executed with a request. Not supported for all endpoints. |
list_parameters.mask | string List of fields to return (all fields are returned by default). |
list_parameters.traverse | boolean Get data from any child namespaces as well. |
list_parameters.sort.path | string Field to sort objects by, for example, meta.name. |
list_parameters.sort.order | string Default: "SORT_ENTRY_ORDER_UNSPECIFIED" Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC" Sort order. Default: ASC. |
list_parameters.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. |
list_parameters.group.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. |
list_parameters.group.show_aggregation_uuids | boolean Return the UUID of each object in each group as specified by aggregation_paths. |
list_parameters.group.unique_count_paths | string List of fields for which we want the unique count. Supports arrays and maps. |
list_parameters.group.unique_value_paths | string List of fields for which we want the unique values. Supports arrays and maps. |
list_parameters.ci_run_uuid | string Only return objects from PR scans that match this context id. |
list_parameters.page_id | string Page ID to retrieve. |
list_parameters.group_by_time.aggregation_paths | string Group the objects based on this time field, for example, meta.create_time. |
list_parameters.group_by_time.show_aggregation_uuids | boolean Return the UUIDs of the objects in each group. |
list_parameters.group_by_time.interval | string Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" Enum: "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" Interval unit by which the objects should be grouped. |
list_parameters.group_by_time.group_size | integer <int32> 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. |
list_parameters.group_by_time.start_time | string <date-time> Beginning of the time period to group objects. Defaults to the beginning of time. |
list_parameters.group_by_time.end_time | string <date-time> End of the time period to group objects. Defaults to the current time. |
list_parameters.group_by_time.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. |
list_parameters.group_by_time.aggregation_value_field | string The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg) |
list_parameters.group_by_time.aggregation_operator | string |