Endor Labs REST API Reference

Endor ReST API (1.0)

Download OpenAPI specification:

APIKeyService

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

list_parameters.disable_pagination
boolean

If true, the results will not be paginated and only the first page will be returned. The order of the results is not guaranteed.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

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/json
required
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

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "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

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "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.

delete_parameters.force
boolean

Force will force the deletion of the resource if any checks fail.

Responses

Response samples

Content type
application/json
{ }

AuditLogService

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

list_parameters.disable_pagination
boolean

If true, the results will not be paginated and only the first page will be returned. The order of the results is not guaranteed.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

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

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

AuthenticationLogService

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

list_parameters.disable_pagination
boolean

If true, the results will not be paginated and only the first page will be returned. The order of the results is not guaranteed.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

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

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

FindingService

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

list_parameters.disable_pagination
boolean

If true, the results will not be paginated and only the first page will be returned. The order of the results is not guaranteed.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

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

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "context": {
    }
}

NamespaceService

UpdateNamespace

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/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

Namespace provides a mechanism for isolating groups of resources. Namespaces may be defined in a parent child hierarchy.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

UpdateNamespace

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".

object.uuid
required
string

The UUID of a namespace.

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

Namespace provides a mechanism for isolating groups of resources. Namespaces may be defined in a parent child hierarchy.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

ListNamespaces

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

list_parameters.disable_pagination
boolean

If true, the results will not be paginated and only the first page will be returned. The order of the results is not guaranteed.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateNamespace

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/json
required
tenant_meta
object (Namespaces are associated with a tenant.)

Namespaces are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1NamespaceSpec)

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

GetNamespace

Fetches a namespace identified 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

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

DeleteNamespace

Deletes a 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.

delete_parameters.force
boolean

Force will force the deletion of the resource if any checks fail.

Responses

Response samples

Content type
application/json
{ }

PackageManagerService

ListPackageManagers

Lists all package managers 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

list_parameters.disable_pagination
boolean

If true, the results will not be paginated and only the first page will be returned. The order of the results is not guaranteed.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

GetPackageManager

Fetches the package manager 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

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

PackageVersionService

ListPackageVersions

Lists all the 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

list_parameters.disable_pagination
boolean

If true, the results will not be paginated and only the first page will be returned. The order of the results is not guaranteed.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

GetPackageVersion

Fetches a package version 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

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "processing_status": {
    },
  • "context": {
    }
}

PolicyService

UpdatePolicy

Updates the policy.

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/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

Policy represents a policy in the system.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

ListPolicies

Lists all policies 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

list_parameters.disable_pagination
boolean

If true, the results will not be paginated and only the first page will be returned. The order of the results is not guaranteed.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreatePolicy

Creates a policy.

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/json
required
tenant_meta
object (Policies can be issued per namespace.)

Policies can be issued per namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1PolicySpec)
propagate
boolean

Whether the object should be visible in child namespaces or not.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

GetPolicy

Fetches the policy 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

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

DeletePolicy

Deletes the policy 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.

delete_parameters.force
boolean

Force will force the deletion of the resource if any checks fail.

Responses

Response samples

Content type
application/json
{ }

ProjectService

ListProjects

Lists all projects 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

list_parameters.disable_pagination
boolean

If true, the results will not be paginated and only the first page will be returned. The order of the results is not guaranteed.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

GetProject

Fetches comprehensive information about a project identified by a given 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

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "processing_status": {
    }
}

DeleteProject

Deletes a project 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.

delete_parameters.force
boolean

Force will force the deletion of the resource if any checks fail.

Responses

Response samples

Content type
application/json
{ }

SBOMExportService

CreateSBOMExport

Creates an SBOM export.

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/json
required
required
object (v1Meta)

Common fields for all Endor Labs resources.

tenant_meta
object (SBOM are associated with a tenant and tenant information must be provided.)

SBOM are associated with a tenant and tenant information must be provided.

object (v1ExportedSBOMSpec)

The internal specification of the object.

Responses

Request samples

Content type
application/json
{
  • "meta": {
    },
  • "tenant_meta": { },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "meta": {
    },
  • "tenant_meta": {
    },
  • "spec": {
    }
}

SBOMImportService

UpdateSBOMImport

Updates an imported SBOM.

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/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

ImportedSBOM represents an SBOM that has been imported.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "meta": {
    },
  • "tenant_meta": {
    },
  • "spec": {
    },
  • "processing_status": {
    },
  • "context": {
    }
}

ListSBOMImports

Lists all imported SBOMS 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

list_parameters.disable_pagination
boolean

If true, the results will not be paginated and only the first page will be returned. The order of the results is not guaranteed.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateSBOMImport

Imports the given SBOM.

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/json
required
required
object (v1Meta)

Common fields for all Endor Labs resources.

tenant_meta
object (SBOM are associated with a tenant and tenant information must be provided.)

SBOM are associated with a tenant and tenant information must be provided.

object (v1ImportedSBOMSpec)

The internal specification of the object.

object (v1ProcessingStatus)
required
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

Content type
application/json
{
  • "meta": {
    },
  • "tenant_meta": { },
  • "spec": {
    },
  • "processing_status": {
    },
  • "context": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "meta": {
    },
  • "tenant_meta": {
    },
  • "spec": {
    },
  • "processing_status": {
    },
  • "context": {
    }
}

GetSBOMImport

Fetches an imported SBOM 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

Content type
application/json
{
  • "uuid": "string",
  • "meta": {
    },
  • "tenant_meta": {
    },
  • "spec": {
    },
  • "processing_status": {
    },
  • "context": {
    }
}

DeleteSBOMImport

Deletes an imported SBOM 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.

delete_parameters.force
boolean

Force will force the deletion of the resource if any checks fail.

Responses

Response samples

Content type
application/json
{ }

ScanProfileService

UpdateScanProfile updates a specified Toolchain profile.

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/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

ScanProfile represents the scan configuration to use across different projects.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

ListScanProfiles returns a list of toolchain profiles in a specified 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

list_parameters.disable_pagination
boolean

If true, the results will not be paginated and only the first page will be returned. The order of the results is not guaranteed.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateScanProfile creates a toolchain profile.

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/json
required
tenant_meta
object

Tenant related data for the tenant containing the resource.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1ScanProfileSpec)

Spec is the internal specification of the object.

propagate
boolean

Indicates that the object should be visible in the child namespaces.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

GetScanProfile returns a toolchain profile 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

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

DeleteScanProfile deletes a toolchain profile 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.

delete_parameters.force
boolean

Force will force the deletion of the resource if any checks fail.

Responses

Response samples

Content type
application/json
{ }

ScanResultService

UpdateScanResult

Update a specified scan result.

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/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

Contains the results of an endorctl scan.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "context": {
    }
}

ListScanResults

List scan results 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

list_parameters.disable_pagination
boolean

If true, the results will not be paginated and only the first page will be returned. The order of the results is not guaranteed.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

GetScanResult

Return a specified scan result.

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

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "context": {
    }
}

UserService

ListUsers

Lists all users.

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

disable_pagination
boolean

If true, the results will not be paginated and only the first page will be returned. The order of the results is not guaranteed.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

GetUser

Fetches a user specified by their UUID

path Parameters
uuid
required
string

The UUID of the requested resource.

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "meta": {
    },
  • "spec": {
    }
}