Endor Labs REST API Reference

Endor ReST API (1.0)

Download OpenAPI specification:

AgentConfigService

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

Message used for all update requests.

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "details": [
    ]
}

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

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

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

Responses

Request samples

Content type
application/json
null

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "details": [
    ]
}

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

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "details": [
    ]
}

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

Content type
application/json
{ }

AgentSessionService

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

Message used for all update requests.

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "details": [
    ]
}

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

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

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

Responses

Request samples

Content type
application/json
null

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "details": [
    ]
}

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

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "details": [
    ]
}

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

Content type
application/json
{ }

AIFeedbackService

AIQueryService

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

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

Response samples

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

AIRequestService

AnalyticsExecutionRecordService

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

Message used for all update requests.

object

Captures the status, time and stats of an execution of the analytics.

Responses

Request samples

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

Response samples

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

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

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

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

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

Response samples

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

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

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

APIKeyValidatorService

CreateAPIKeyReq

Validates an API key.

Request Body schema: application/json
required

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

Content type
application/json
{
  • "key": "string",
  • "secret": "string",
  • "issuing_user": {
    }
}

Response samples

Content type
application/json
{
  • "key": "string",
  • "secret": "string",
  • "valid": true,
  • "issuing_user": {
    }
}

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

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.

Responses

Response samples

Content type
application/json
{ }

ApproveServiceRequestService

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

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

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

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

Response samples

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

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

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

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

Content type
application/json
{ }

ArtifactLogService

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

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

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

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

Response samples

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

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

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

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

Content type
application/json
{ }

ArtifactOperationService

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

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

Response samples

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

ArtifactSignatureService

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

Message used for all update requests.

object

Represents an artifact signature object.

Responses

Request samples

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

Response samples

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

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

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

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

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

Response samples

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

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

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

AssuredPackageVersionService

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

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

Response samples

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

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

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

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

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

Response samples

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

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

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

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

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

Responses

Response samples

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

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

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

Response samples

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

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": {
    }
}

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

Content type
application/json
{ }

AuthenticationService

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

Content type
application/json
{
  • "authentication_source": "string",
  • "token": "string",
  • "expiration_time": "2019-08-24T14:15:22Z",
  • "user": {
    }
}

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

Content type
application/json
{
  • "authentication_source": "string",
  • "token": "string",
  • "expiration_time": "2019-08-24T14:15:22Z",
  • "user": {
    }
}

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

Responses

Response samples

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

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

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

Response samples

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

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": {
    }
}

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

Content type
application/json
{ }

AuthorizationPolicyService

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

Message used for all update requests.

object

Represents an authorization 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
}

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

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

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

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

Response samples

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

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

Content type
application/json
{ }

AuthorizationService

CallGraphDataService

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

Message used for all update requests.

object

CallGraphData represents a call graph data request in the system.

Responses

Request samples

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

Response samples

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

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

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

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

Example 2: Pack and unpack a message in Java.

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}

Example 3: Pack and unpack a message in Python.

foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...

Example 4: Pack and unpack a message in Go

 foo := &pb.Foo{...}
 any, err := anypb.New(foo)
 if err != nil {
   ...
 }
 ...
 foo := &pb.Foo{}
 if err := any.UnmarshalTo(foo); err != nil {
   ...
 }

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON

The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}

{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

Content type
application/json
{
  • "meta": {
    },
  • "tenant_meta": { },
  • "zstd_bytes": "string",
  • "any": {
    },
  • "context": {
    }
}

Response samples

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

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

Content type
application/json
{ }

CIRunService

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

Message used for all update requests.

object

Represents the information captured from a CI run of endorctl.

Responses

Request samples

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

Response samples

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

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

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

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

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

Response samples

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

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

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

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

Content type
application/json
{ }

ChangeImpactService

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

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

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/json
required
tenant_meta
object (Tenant metadata information.)

Tenant metadata information.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1VersionDiffSpec)

Responses

Request samples

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

Response samples

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

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

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

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

Content type
application/json
{ }

ClientLogService

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

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

Response samples

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

CodeOwnersService

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

Message used for all update requests.

object

Code owner information for a project.

Responses

Request samples

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

Response samples

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

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

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

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/json
required
tenant_meta
object (Tenant data.)

Tenant data.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1CodeOwnersSpec)

Responses

Request samples

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

Response samples

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

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

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

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

Content type
application/json
{ }

CertificateRequestService

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

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

Response samples

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

CustomTemplateService

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

Content type
application/json
{
  • "template_type": "CUSTOM_TEMPLATE_TYPE_UNSPECIFIED",
  • "prcomments_template": {
    },
  • "email_template": {
    },
  • "slack_template": {
    },
  • "webhook_template": {
    }
}

DashboardConfigService

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

Message used for all update requests.

object

DashboardConfig represents the dashboard configuration for a namespace.

Responses

Request samples

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

Response samples

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

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

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

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

Response samples

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

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

Content type
application/json
{ }

DemoService

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

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

Response samples

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

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

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

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

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

Response samples

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

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

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

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

Content type
application/json
{ }

DependencyMetadataService

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

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

Response samples

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

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

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

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

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

Response samples

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

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

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

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

Content type
application/json
{ }

BatchDependencyMetadataService

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

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

Response samples

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

EndorLicenseService

EvaluationMethodService

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

Message used for all update requests.

object

EvaluationMethod represents an evaluation method.

Responses

Request samples

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

Response samples

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

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

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

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

Response samples

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

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

Content type
application/json
{ }

EvaluationParameterService

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

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

Response samples

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

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

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

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

Response samples

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

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

Content type
application/json
{ }

ExternalProviderModelService

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

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

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

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

Response samples

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

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

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

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

Content type
application/json
{ }

FileSegmentsService

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

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

Response samples

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

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

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

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

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

Response samples

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

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

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

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

Content type
application/json
{ }

BatchFileSegmentsService

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

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

Response samples

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

FileHashQueryRequestService

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

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

Response samples

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

FindingService

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

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

Response samples

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

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

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

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

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

Response samples

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

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": {
    }
}

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

Content type
application/json
{ }

FindingLogService

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

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

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

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

Response samples

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

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

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

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

Content type
application/json
{ }

FunctionGraphDataService

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

Message used for all update requests.

object

FunctionGraphData represents a function graph data request in the system.

Responses

Request samples

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

Response samples

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

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

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

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

Example 2: Pack and unpack a message in Java.

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}

Example 3: Pack and unpack a message in Python.

foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...

Example 4: Pack and unpack a message in Go

 foo := &pb.Foo{...}
 any, err := anypb.New(foo)
 if err != nil {
   ...
 }
 ...
 foo := &pb.Foo{}
 if err := any.UnmarshalTo(foo); err != nil {
   ...
 }

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON

The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}

{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

Content type
application/json
{
  • "meta": {
    },
  • "tenant_meta": { },
  • "zstd_bytes": "string",
  • "any": {
    },
  • "context": {
    }
}

Response samples

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

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

Content type
application/json
{ }

GithubTokenService

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

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

HuggingFaceModelService

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

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

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

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

Response samples

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

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

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

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

Content type
application/json
{ }

IdentityProviderService

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

Message used for all update requests.

object

Represents an identity provider.

Responses

Request samples

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

Response samples

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

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

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

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

Response samples

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

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

Content type
application/json
{ }

SegmentIndexRequestService

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

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

Response samples

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

InstallationService

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

Message used for all update requests.

object

Installation represents an installation request in the system.

Responses

Request samples

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

Response samples

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

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

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

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

Response samples

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

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

Content type
application/json
{ }

InvitationService

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

Message used for all update requests.

object

Invitation represents an invitation for a new user in the system.

Responses

Request samples

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

Response samples

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

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

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

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

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

Response samples

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

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

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

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

Content type
application/json
{ }

IPAddressPolicyService

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

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

Response samples

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

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

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

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

Response samples

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

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

Content type
application/json
{ }

JVMClassMetadataService

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

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

Response samples

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

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