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

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

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

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

CreateJVMClassMetadata

Creates a jvm class metadata.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (JVMClassMetadata are associated with a tenant.)

JVMClassMetadata are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1JVMClassMetadataSpec)

Responses

Request samples

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

Response samples

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

GetJVMClassMetadata

Fetches the class metadata for a jvm class given an 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": {
    }
}

DeleteJVMClassMetadata

Deletes a jvm class metadata of 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 resource to be deleted.

query Parameters
delete_parameters.action
string

Action to be executed with delete request.

Responses

Response samples

Content type
application/json
{ }

LicenseService

UpdateLicense

Updates the license.

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 a license 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
}

ListLicenses

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

CreateLicense

Creates a license.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Licenses live in the system namespace.)

Licenses live in the system namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1LicenseSpec)

Specification mostly follows the SPDX data format.

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
}

GetLicense

Fetches the license 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
}

DeleteLicense

Deletes the license 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 resource to be deleted.

query Parameters
delete_parameters.action
string

Action to be executed with delete request.

Responses

Response samples

Content type
application/json
{ }

LinterResultService

UpdateLinterResult

Updates a linter result.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

The meta parent_kind can take one of two values - PackageVersion or RepositoryVersion.

Responses

Request samples

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

Response samples

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

ListLinterResults

Lists all linter results.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateLinterResult

Creates a Semgrep rule.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Linter results are associated with a tenant and namespace.)

Linter results are associated with a tenant and namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1LinterResultSpec)
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": {
    }
}

GetLinterResult

Fetches the linter result 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": {
    }
}

DeleteLinterResult

Deletes the linter result 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
{ }

MetricService

UpdateMetric

Updates a specified metric. This will only be used by the backend services, the user/UI wil never have to do this.

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

This contains the definition all metrics.

Responses

Request samples

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

Response samples

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

ListMetrics

Lists all metrics in a specified namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, for example, meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

list_parameters.group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

list_parameters.group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

list_parameters.group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

CreateMetric

Creates a metric for the given parent. This will be only called by the backend services, and not from the user/UI It should be noted that 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
tenant_meta
object (Metrics are associated with a tenant and tenant information must be provided.)

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

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1MetricSpec)
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": {
    }
}

GetMetric

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

DeleteMetric

Deletes a metric 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
{ }

MetricConfigurationService

ListMetrics

Lists all metrics associated with a given parent.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

parent_kind
required
string

The parent object is optional for the APIs that have such a parent relationship.

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

NamespaceService

UpdateNamespace

Updates a provided namespace based on its UUID.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

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

Responses

Request samples

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

Response samples

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

UpdateNamespace

Updates a provided namespace based on its UUID.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

object.uuid
required
string

The UUID of a namespace.

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

Message used for all update requests.

object

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

Responses

Request samples

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

Response samples

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

ListNamespaces

Lists all namespaces in a tenant.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, for example, meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

list_parameters.group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

list_parameters.group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

list_parameters.group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

CreateNamespace

Creates a namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Namespaces are associated with a tenant.)

Namespaces are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1NamespaceSpec)

Responses

Request samples

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

Response samples

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

GetNamespace

Fetches a namespace identified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

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

DeleteNamespace

Deletes a namespace based on its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

query Parameters
delete_parameters.action
string

Action to be executed with delete request.

Responses

Response samples

Content type
application/json
{ }

NotificationService

UpdateNotification

Updates the notification.

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

The record created when there is a policy violation.

Responses

Request samples

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

Response samples

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

ListNotifications

List all notifications.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateNotification

Creates a notification.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Notifications are associated with a tenant.)

Notifications are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1NotificationSpec)
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": {
    }
}

GetNotification

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

DeleteNotification

Deletes the notification 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
{ }

NotificationActionService

CreateNotificationAction

Runs the action for a notification target in the server.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (v1NotificationActionSpec)
object (v1NotificationActionResponse)

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

NotificationTargetService

UpdateNotificationTarget

Updates a notification target.

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

Indicates actions taken when a corresponding notification is raised.

Responses

Request samples

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

Response samples

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

ListNotificationTargets

Lists all notification targets.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateNotificationTarget

Creates a notification target.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Notification Targets are associated with a tenant.)

Notification Targets are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1NotificationTargetSpec)
propagate
boolean

Indicates whether the object should be visible in the child namespaces or not.

Responses

Request samples

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

Response samples

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

GetNotificationTarget

Fetches the notification target 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
}

DeleteNotificationTarget

Deletes the notification target 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
{ }

OnboardService

CreateOnboard

Creates an onboard. A root folder will be created along the onboard. The folder will have the same name as the onboard.

Request Body schema: application/json
required

Onboard initiates the onboarding of a new tenant in the system.

object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1OnboardSpec)

Responses

Request samples

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

Response samples

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

OnPremSchedulerService

UpdateOnPremScheduler updates the specified onprem scheduler.

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

Responses

Request samples

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

Response samples

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

ListOnPremSchedulers returns a list of onprem schedulers in a specified namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, for example, meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

list_parameters.group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

list_parameters.group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

list_parameters.group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

CreateOnPremScheduler creates an onprem scheduler.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Contains the namespace.)

Contains the namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1OnPremSchedulerSpec)

Responses

Request samples

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

Response samples

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

GetOnPremScheduler returns an onprem scheduler 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": {
    }
}

DeleteOnPremScheduler deletes an onprem scheduler 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
{ }

OptimizedQueryService

OrganizationAllowedWorkflowsService

UpdateOrganizationAllowedWorkflows

Updates the allowed workflows object of an organization.

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 of allowed workflows of an organization.

Responses

Request samples

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

Response samples

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

ListOrganizationAllowedWorkflows

Lists all allowed workflows objects of an organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateOrganizationAllowedWorkflows

Creates an organization allowed workflows 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 (OrganizationAllowedWorkflows are associated to a tenant.)

OrganizationAllowedWorkflows are associated to a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationAllowedWorkflowsSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetOrganizationAllowedWorkflows

Fetches the allowed workflows object of an organization 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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationAllowedWorkflows

Deletes an allowed workflows object of an organization 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 resource to be deleted.

query Parameters
delete_parameters.action
string

Action to be executed with delete request.

Responses

Response samples

Content type
application/json
{ }

OrganizationBlockListService

UpdateOrganizationBlockList

Updates the blocked user list of a platform organization.

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 about the blocked user list of a platform organization.

Responses

Request samples

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

Response samples

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

ListOrganizationBlockLists

Lists the blocked user lists of multiple platform organizations.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateOrganizationBlockList

Creates a blocked user list of a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Organization's block list is associated to a tenant.)

Organization's block list is associated to a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationBlockListSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetOrganizationBlockList

Fetches the blocked user list of a platform organization 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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationBlockList

Deletes the blocked user list a platform organization 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
{ }

OrganizationCICDPermissionsService

UpdateOrganizationCICDPermissions

Updates the CI/CD permissions object of a platform organization.

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

Capture the permissions policy configuration for repositories.

Responses

Request samples

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

Response samples

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

ListOrganizationCICDPermissions

Lists CI/CD permissions objects of multiple organizations.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

OrganizationCICDPermissions

Creates a CI/CD permissions object of a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (OrganizationCICDPermissions is associated with a tenant.)

OrganizationCICDPermissions is associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationCICDPermissionsSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetOrganizationCICDPermissions

Fetches the permissions objects of a platform organization 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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationCICDPermissions

Deletes the CI/CD permissions objects of a platform organization 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
{ }

OrganizationCustomPermissionListService

UpdateOrganizationCustomPermissionList

Updates the custom fine grained permissions of a platform organization.

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 ingested information about the custom fine grained permissions of a platform organization.

Responses

Request samples

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

Response samples

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

ListOrganizationCustomPermissionLists

Lists the custom fine grained permissions of multiple platform organizations.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateOrganizationCustomPermissionList

Creates custom fine grained permissions of a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Organization custom permission list is associated with a tenant.)

Organization custom permission list is associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationCustomPermissionListSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetOrganizationCustomPermissionList

Lists the custom fine grained permissions of a platform organization 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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationCustomPermissionList

Deletes the custom fine grained permissions of a platform organization 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
{ }

OrganizationCustomRoleListService

UpdateOrganizationCustomRoleList

Updates the custom role list of a platform organization.

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

OrganizationCustomRoleList represents the information about a platform organization's custom roles.

Responses

Request samples

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

Response samples

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

ListOrganizationCustomRoleLists

Lists the custom role lists of multiple organizations.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateOrganizationCustomRoleList//

Creates a custom role list of a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (OrganizationCustomRoleList is associated with a tenant.)

OrganizationCustomRoleList is associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationCustomRoleListSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetOrganizationCustomRoleList

Fetches the custom role list of a platform organization 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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationCustomRoleList

Deletes the custom role list of a platform organization 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
{ }

OrganizationHookService

UpdateOrganizationHook

Updates an organization hook.

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

OrganizationHook represents the information of hooks created for an organization.

Responses

Request samples

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

Response samples

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

ListOrganizationHooks

Lists the organization hooks.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateOrganizationHook

Creates an organization hook.

The creation of the resource will be an upsert if the given spec.external_id is 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 (Organization hooks are associated with a tenant.)

Organization hooks are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1OrganizationHookSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetOrganizationHook

Fetches an organization hook.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    },
  • "ingested_object": {
    }
}

DeleteOrganizationHook

Deletes an organization hook.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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
{ }

OrganizationInstallationListService

UpdateOrganizationInstallationList

Updates the installation information of a platform organization.

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

OrganizationInstallationList represents the ingested information about the installation information of a platform organization.

Responses

Request samples

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

Response samples

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

ListOrganizationInstallationLists

Lists the installation information of multiple platform organizations.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateOrganizationInstallationList

Creates the installation information of a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (OrganizationInstallationList is associated with a tenant.)

OrganizationInstallationList is associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationInstallationListSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetOrganizationInstallationList

Fetches the installation information of a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationInstallationList

Deletes the installation information of a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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
{ }

OrganizationInvitationListService

UpdateOrganizationInvitationList

Updates invitations of a platform organization.

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

OrganizationInvitationList represents the ingested information about invitations of a platform organization.

Responses

Request samples

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

Response samples

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

ListOrganizationInvitationLists

Lists the invitations of multiple platform organizations.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateOrganizationInvitationList

Creates invitations of a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (OrganizationInvitationList is associated with a tenant.)

OrganizationInvitationList is associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationInvitationListSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetOrganizationInvitationList

Fetches invitations of a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationInvitationList

Deletes invitations of a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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
{ }

OrganizationMemberListService

UpdateOrganizationMemberList

Updates the members of a platform organization.

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

OrganizationMemberList represents the ingested information about members of a platform organization.

Responses

Request samples

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

Response samples

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

ListOrganizationMemberLists

Lists the members of multiple platform organizations.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateOrganizationMemberList

Creates the members of a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (OrganizationMemberList is associated with a tenant.)

OrganizationMemberList is associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationMemberListSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetOrganizationMemberList

Fetches the members of a platform organization 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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationMemberList

Deletes the members of a platform organization 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
{ }

OrganizationOutsideCollaboratorListService

UpdateOrganizationOutsideCollaboratorList

Updates outside collaborators of a platform organization.

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

OrganizationOutsideCollaboratorList represents the ingested information about outside collaborators of a platform organization.

Responses

Request samples

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

Response samples

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

ListOrganizationOutsideCollaboratorLists

Lists outside collaborators of platform organizations.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateOrganizationOutsideCollaboratorList

Creates outside collaborators of a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (OrganizationOutsideCollaboratorList is associated with a tenant.)

OrganizationOutsideCollaboratorList is associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationOutsideCollaboratorListSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetOrganizationOutsideCollaboratorList

Fetches outside collaborators of a platform organization 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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationOutsideCollaboratorList

Deletes outside collaborators of a platform organization 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
{ }

OrganizationRunnerGroupConfigService

UpdateOrganizationRunnerGroupConfig

Updates the runner group configuration of a platform organization.

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

OrganizationRunnerGroupConfig represents the ingested information about a self-hosted runner group configuration of a platform organization.

Responses

Request samples

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

Response samples

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

ListOrganizationRunnerGroupConfig

Lists the runner group configurations of multiple platform organizations.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateOrganizationRunnerGroupConfig

Creates the runner group configuration of a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (OrganizationRunnerGroupConfig is associated with a tenant.)

OrganizationRunnerGroupConfig is associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationRunnerGroupConfigSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetOrganizationRunnerGroupConfig

Fetches the runner group configuration of a platform organization 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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationRunnerGroupConfig

Deletes the runner group configuration of a platform organization 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
{ }

OrganizationSecurityManagerListService

UpdateOrganizationSecurityManagerList

Updates security managers of a platform organization.

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

OrganizationSecurityManagerList represents the ingested information about security managers of a platform organization.

Responses

Request samples

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

Response samples

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

ListOrganizationSecurityManagerLists

Lists security managers of multiple platform organizations.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateOrganizationSecurityManagerList

Creates security managers of a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (OrganizationSecurityManagerList is associated with a tenant.)

OrganizationSecurityManagerList is associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationSecurityManagerListSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetOrganizationSecurityManagerList

Fetches security managers of a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationSecurityManagerList

Deletes security managers of a platform organization 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
{ }

OrganizationWorkflowPermissionsService

UpdateOrganizationWorkflowPermissions

Updates workflow permissions of an organization.

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

OrganizationWorkflowPermissions represents the information of workflow permissions for an organization.

Responses

Request samples

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

Response samples

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

ListOrganizationWorkflowPermissions

Lists workflow permissions of an organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateOrganizationWorkflowPermissions

Creates a workflow permissions object of an organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (OrganizationWorkflowPermissions are associated wtih a tenant.)

OrganizationWorkflowPermissions are associated wtih a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationWorkflowPermissionsSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetOrganizationWorkflowPermissions

Fetches the workflow permissions object of an organization 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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationWorkflowPermissions

Deletes workflow permissions of an organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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
{ }

OSSDependencyRequestService

CreateOSSDependencyRequest

Creates an OSS dependency 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 (SBOM are associated with a tenant and the tenant information must be provided.)

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

required
object (v1OSSDependencyRequestSpec)

Responses

Request samples

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

Response samples

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

PackageService

UpdatePackage

Updates a specified package.

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

Package represents a package of a project.

For Golang: Every golang package of a repository will be an package. For instance github.com/yarpc/yarpc-go/pkg/encoding is a package of the project github.com/yarpc/yarpc-go.

For Java: Every artifact of a Java repository will be a package. For instance github.com/apache/logging-log4j2/log4j-api is a package of the project github.com/apache/logging-log4j2.

The uuid of the parent project.

Responses

Request samples

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

Response samples

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

ListPackages

Lists all packages in a specified namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, for example, meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

list_parameters.group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

list_parameters.group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

list_parameters.group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

CreatePackage

Creates a package.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Packages are associated with a tenant.)

Packages are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1PackageSpec)

Responses

Request samples

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

Response samples

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

GetPackage

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

DeletePackage

Deletes a package 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
{ }

PackageManagerService

UpdatePackageManager

Updates a specified package manager.

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

PackageManager holds the data for the various package managers of the enterprise. Mainly locations and access credentials when needed to resolve/scan packages from private package managers. An enterprise can create one or more package managers in a namespace. All the package managers of the given namespace will be taken into account when resolving.

Responses

Request samples

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

Response samples

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

ListPackageManagers

Lists all package managers in a given namespace

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, for example, meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

list_parameters.group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

list_parameters.group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

list_parameters.group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

CreatePackageManager

Creates a package manager 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 tenant.)

Git repositories are associated tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1PackageManagerSpec)
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
}

GetPackageManager

Fetches the package manager identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

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

DeletePackageManager

Deletes a package manager 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
{ }

PackageVersionService

UpdatePackageVersion

Updates a specified 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

PackageVersion represents a version of a package.

Responses

Request samples

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

Response samples

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

ListPackageVersions

Lists all the package versions in a given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, for example, meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

list_parameters.group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

list_parameters.group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

list_parameters.group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

CreatePackageVersion

Creates a package version.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (PackageVersions are associated with a tenant.)

PackageVersions are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1PackageVersionSpec)
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": {
    }
}

GetPackageVersion

Fetches a package version specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

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

DeletePackageVersion

Deletes a package version specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

query Parameters
delete_parameters.action
string

Action to be executed with delete request.

Responses

Response samples

Content type
application/json
{ }

PackageVersionsMetadataService

ListPackageVersionsMetadata

Lists all the package versions in a given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, for example, meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

list_parameters.group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

list_parameters.group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

list_parameters.group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

CreatePackageVersionsMetadata

Creates a package version metadata.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (PackageVersions are associated with a tenant.)

PackageVersions are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1PackageVersionMetadataSpec)

Responses

Request samples

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

Response samples

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

GetPackageVersionsMetadata

Fetches a package version metadata 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": {
    }
}

DeletePackageVersionsMetadata

Deletes a package version metadata 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
{ }

PackageVersionMetadataQueryService

Creates a package version metadata query.

When sending the request, you can choose to give a version for the package. The result of the request will be different based on this though.

While not giving the version, only the version and release time of the package versions found will be returned. While giving the version, all attributes of the version metadata will be returned.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Queries are supported only in the open source ecosystem.)

Queries are supported only in the open source ecosystem.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1PackageVersionMetadataQuerySpec)

Responses

Request samples

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

Response samples

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

PackageVersionSourceMetadataService

UpdatePackageVersionSourceMetadata

Updates an package version source 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

PackageVersionSourceMetadata contains source code information for a PackageVersion. For example, for the Java ecosystem this contains details such as checksum values of the artifact, list of class files, and their corresponding checksums and import statements found.

Responses

Request samples

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

Response samples

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

ListPackageVersionSourceMetadata

Lists all the package version source 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

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

CreatePackageVersionSourceMetadata

Creates a package version source metadata.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (PackageVersionSourceMetadata are associated with a tenant.)

PackageVersionSourceMetadata are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1PackageVersionSourceMetadataSpec)

Responses

Request samples

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

Response samples

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

GetPackageVersionSourceMetadata

Fetches the package version source metadata of 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": {
    }
}

DeletePackageVersionSourceMetadata

Deletes a package version source metadata of 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 resource to be deleted.

query Parameters
delete_parameters.action
string

Action to be executed with delete request.

Responses

Response samples

Content type
application/json
{ }

PlatformAccountService

UpdatePlatformAccount

Updates a platform account.

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

PlatformAccount represents an account of a user to third-party site like GitHub/Gitlab or some package platform.

Responses

Request samples

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

Response samples

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

ListPlatformAccounts

Lists all platform accounts 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": {
    }
}

CreatePlatformAccount

Creates a platform account. 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
tenant_meta
object (Platform accounts are associated with a tenant. Public accounts will be under a public tenant.)

Platform accounts are associated with a tenant. Public accounts will be under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1PlatformAccountSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetPlatformAccount

Fetches a platform account 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": {
    },
  • "ingested_object": {
    }
}

DeletePlatformAccount

Deletes a platform account 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
{ }

PlatformOrganizationService

UpdatePlatformOrganization

Updates a platform organization.

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

PlatformOrganization represents an organization on a third party site like Github/Gitlab or some package platform.

Responses

Request samples

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

Response samples

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

ListPlatformOrganizations

Lists all platform organizations 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": {
    }
}

CreatePlatformOrganization

Creates a platform organization 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".

Request Body schema: application/json
required
tenant_meta
object (Platform organizations are associated with a tenant.)

Platform organizations are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1PlatformOrganizationSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetPlatformOrganization returns a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    },
  • "ingested_object": {
    }
}

DeletePlatformOrganization

Deletes a platform organization 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
{ }

PluginBinaryService

ListPluginBinaries

Lists all the available plugin binaries.

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

CreatePluginBinary

Creates an entry for a plugin binary.

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

Common fields for all Endor Labs resources.

object (v1PluginBinarySpec)

Responses

Request samples

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

Response samples

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

GetPluginBinary

Fetches a plugin binary identified by the UUID.

path Parameters
uuid
required
string

The UUID of the requested resource.

Responses

Response samples

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

DeletePluginBinary

Deletes a plugin binary specified by the UUID.

path Parameters
uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

PolicyService

UpdatePolicy

Updates the policy.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

Policy represents a policy in the system.

Responses

Request samples

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

Response samples

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

ListPolicies

Lists all policies in a namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, for example, meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

list_parameters.group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

list_parameters.group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

list_parameters.group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

CreatePolicy

Creates a policy.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Policies can be issued per namespace.)

Policies can be issued per namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1PolicySpec)
propagate
boolean

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

Responses

Request samples

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

Response samples

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

GetPolicy

Fetches the policy identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

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

DeletePolicy

Deletes the policy specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

query Parameters
delete_parameters.action
string

Action to be executed with delete request.

Responses

Response samples

Content type
application/json
{ }

PolicyTemplateService

UpdatePolicyTemplate

Updates a policy template.

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

PolicyTemplate represents a policy system in the system. Policy templates can be used to create policies from these templates.

Responses

Request samples

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

Response samples

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

ListPolicyTemplates

Lists all policy templates 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": {
    }
}

CreatePolicyTemplate

Creates a policy template.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (PolicyTemplates can be issued per namespace.)

PolicyTemplates can be issued per namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1PolicyTemplateSpec)
propagate
boolean

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

Responses

Request samples

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

Response samples

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

GetPolicyTemplate

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

DeletePolicyTemplate

Deletes the policy template 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
{ }

PolicyValidationService

CreatePolicyValidation

Creates a policy validation 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 (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.

required
object (v1PolicyValidationSpec)

Responses

Request samples

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

Response samples

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

PRCommentConfigService

UpdatePRCommentConfig

Updates the the PR comment 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

Responses

Request samples

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

Response samples

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

ListPRCommentConfigs

List all PR comment configurations for the tenant 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": {
    }
}

CreatePRCommentConfig

Creates a PR comment 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".

Request Body schema: application/json
required
tenant_meta
object (PR comment configuartions are associated with a tenant.)

PR comment configuartions are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1PRCommentConfigSpec)

Responses

Request samples

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

Response samples

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

GetPRCommentConfig

Fetches the PR comment configuration 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": {
    }
}

DeletePRCommentConfig

Deletes the PR comment configuration 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 resource to be deleted.

query Parameters
delete_parameters.action
string

Action to be executed with delete request.

Responses

Response samples

Content type
application/json
{ }

ProjectService

UpdateProject

Updates the specified project with the information in the request body.

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

Logical root object that serves as the basis for organizing and managing all information related to a repository.

A project corresponds to a repository.

Responses

Request samples

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

Response samples

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

ListProjects

Lists all projects in a given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, for example, meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

list_parameters.group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

list_parameters.group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

list_parameters.group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

CreateProject

Creates a project 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 (The tenant to which the project belongs.)

The tenant to which the project belongs.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1ProjectSpec)
object (v1ProcessingStatus)

Responses

Request samples

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

Response samples

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

GetProject

Fetches comprehensive information about a project identified by a given UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

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

DeleteProject

Deletes a project specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

query Parameters
delete_parameters.action
string

Action to be executed with delete request.

Responses

Response samples

Content type
application/json
{ }

ProvisioningResultService

UpdateProvisioningResult

Update a specified provisioning result.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

ProvisioningResult represents the versions that are maintained by Endor Labs.

Responses

Request samples

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

Response samples

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

ListProvisioningResults returns a list of provisioning results in a specified namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, for example, meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

list_parameters.group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

list_parameters.group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

list_parameters.group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

CreateProvisioningResult creates a provisioning result.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Information about the tenant and namespace of the provisioning result.)

Information about the tenant and namespace of the provisioning result.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1Context)

Contexts keep objects from different scans separated.

required
object (v1ProvisioningResultSpec)

Spec is the internal specification of the object.

Responses

Request samples

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

Response samples

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

GetProvisioningResult returns a provisioning result 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": {
    },
  • "context": {
    },
  • "spec": {
    }
}

DeleteProvisioningResult deletes a provisioning result 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
{ }

QueryService

CreateQuery

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

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (v1QuerySpec)

Responses

Request samples

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

Response samples

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

RepositoryService

UpdateRepository

Updates a source control repository with the information in the request body.

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

Repository represents the ingested information about a source control repository. A repository may refer to any type of source control repository, such as GitLab or GitHub.

Responses

Request samples

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

Response samples

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

ListRepositories

Lists the source control repositories 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": {
    }
}

CreateRepository

Creates a source control repository.

The creation of the resource will be an upsert operation 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 (Repositories are associated with a tenant. Public repositories are created as repositories under a public tenant.)

Repositories are associated with a tenant. Public repositories are created as repositories under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositorySpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetRepository

Fetches a source control repository identified by a given UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

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

DeleteRepository

Deletes a source control repository 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
{ }

RepositoryBranchProtectionService

UpdateRepositoryBranchProtection

Updates a repository branch protection with the information in the request body.

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

Branch protection information of a single branch.

Responses

Request samples

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

Response samples

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

ListRepositoryBranchProtections

Lists the repository branch protections in the 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": {
    }
}

CreateRepositoryBranchProtection

Creates a repository branch protection.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Repository branch protections are associated with a tenant.)

Repository branch protections are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryBranchProtectionSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetRepositoryBranchProtection

Fetches a respository branch protection 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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryBranchProtection

Deletes a repository branch protection 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
{ }

RepositoryCheckRunService

UpdateRepositoryCheckRun

Updates a repository check run with the information in the request body.

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

RepositoryCheckRun represents the information about a repository check run.

Responses

Request samples

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

Response samples

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

ListRepositoryCheckRuns

Lists all repository check runs in the 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": {
    }
}

CreateRepositoryCheckRun

Creates a repository check run.

The creation of the resource will be an upsert if the given spec.commit_sha and spec.platform_source 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 (Repository check runs are associated with a tenant. Public repository check runs are formed under a public tenant.)

Repository check runs are associated with a tenant. Public repository check runs are formed under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryCheckRunSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetRepositoryCheckRun

Fetches a repository check run 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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryCheckRun

Deletes a repository check run 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
{ }

RepositoryCodeownersFileService

UpdateRepositoryCodeownersFile

Updates a repository's codeowners file information with the information in the request body.

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

The information about a repository's codeowners file. It does not contain the actual file contents.

Responses

Request samples

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

Response samples

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

ListRepositoryCodeownersFile

Lists the repository's codeowners file information in the 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": {
    }
}

CreateRepositoryCodeownersFile

Creates repository codeowners file information.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Metadata required for the tenant.)

Metadata required for the tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1RepositoryCodeownersFileSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetRepositoryCodeownersFile

Fetches a repository's codeowners file information 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": { },
  • "ingested_object": {
    }
}

DeleteRepositoryCodeownersFile

Deletes a repository's codeowners file information.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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
{ }

RepositoryCollaboratorsService

UpdateRepositoryCollaborators

Updates a repository collaborator with the information in the request body.

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

The ingested information about a repository's collaborators.

Responses

Request samples

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

Response samples

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

ListRepositoryCollaborators

Lists the repository collaborators in the 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": {
    }
}

CreateRepositoryCollaborators

Creates a repository collaborator.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object

Tenant related data for the tenant containing the resource.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryCollaboratorsSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetRepositoryCollaborators

Fetches a repository collaborator 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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryCollaborators

Deletes a repository collaborator 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
{ }

RepositoryCommitService

UpdateRepositoryCommit

Updates a repository commit with the information in the request body.

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 ingested information about a repository commit.

Responses

Request samples

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

Response samples

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

ListRepositoryCommits

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

CreateRepositoryCommit

Creates a repository commit.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Repository commits are associated with a tenant. Public repository commits are formed under a public tenant.)

Repository commits are associated with a tenant. Public repository commits are formed under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryCommitSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetRepositoryCommit

Fetches a repository commit 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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryCommit

Deletes a repository commit 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
{ }

RepositoryDeploymentEnvConfigService

UpdateRepositoryDeploymentEnvConfig

Updates a repository's deployment environment configuration with the information in the request body.

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

The ingested information about a repository's deployment environment configurations. https://docs.github.com/en/rest/deployments/environments?apiVersion=2022-11-28#list-environments.

Responses

Request samples

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

Response samples

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

ListRepositoryDeploymentEnvConfig

Lists all repository's deployment environment configurations in the 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": {
    }
}

CreateRepositoryDeploymentEnvConfig

Creates the repository's deployment environment configuration information.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Repository's deployment environment configurations are associated with a tenant.)

Repository's deployment environment configurations are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1RepositoryDeploymentEnvConfigSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetRepositoryDeploymentEnvConfig

Fetches a repository's deployment environment configuration 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": { },
  • "ingested_object": {
    }
}

DeleteRepositoryDeploymentEnvConfig

Deletes a rrepository's deployment environment configuration 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
{ }

RepositoryHookService

UpdateRepositoryHook

Updates a repository hook with the information in the request body.

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

The information about hooks created for a repository.

Responses

Request samples

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

Response samples

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

ListRepositoryHooks

Lists all repository hooks in the 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": {
    }
}

CreateRepositoryHook

Creates a repository hook.

The creation of the resource will be an upsert if the given spec.external_id is 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 (Repository hooks are associated with a tenant. Public repository hooks are formed under a public tenant.)

Repository hooks are associated with a tenant. Public repository hooks are formed under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryHookSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetRepositoryHook

Fetches a repository hook 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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryHook

Deletes a repository hook 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
{ }

RepositoryIssueService

UpdateRepositoryIssue

Updates a repository issue with the information in the request body.

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

The ingested information about a repository issue.

Responses

Request samples

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

Response samples

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

ListRepositoryIssues

Lists all repository issues in the 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": {
    }
}

CreateRepositoryIssue

Creates a repository issue.

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 (Repository issues are associated with a tenant. Public repository issues are formed under a public tenant.)

Repository issues are associated with a tenant. Public repository issues are formed under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryIssueSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetRepositoryIssue

Fetches a repository issue 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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryIssue

Deletes a repository issue 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
{ }

RepositoryPullRequestService

UpdateRepositoryPullRequest

Updates a repository pull request with the information in the request body.

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

The ingested information about a repository pull request.

Responses

Request samples

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

Response samples

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

ListRepositoryPullRequests

Lists all repository pull requests in the 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": {
    }
}

CreateRepositoryPullRequest

Creates a repository pull request.

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 (Repository pull request are associated with a tenant. Public repository pull requests are formed under a public tenant.)

Repository pull request are associated with a tenant. Public repository pull requests are formed under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryPullRequestSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetRepositoryPullRequest

Fetches a repository pull request 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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryPullRequest

Deletes a repository pull request 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
{ }

RepositoryReleaseService

UpdateRepositoryRelease

Updates a repository release with the information in the request body.

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

The ingested information about a repository release.

Responses

Request samples

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

Response samples

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

ListRepositoryReleases

Lists all repository releases in the 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": {
    }
}

CreateRepositoryRelease

Creates a repository release.

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 (Repository releases are associated with a tenant. Public repository releases are formed under a public tenant.)

Repository releases are associated with a tenant. Public repository releases are formed under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryReleaseSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetRepositoryRelease

Fetches a repository release 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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryRelease

Deletes a repository release 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
{ }

RepositoryScanMetadataService

UpdateRepository

Updates the scan metadata of a repository.

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

Responses

Request samples

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

Response samples

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

ListRepositoryScanMetadata

Lists all scan metadata of a repository.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateRepositoryScanMetadata

Creates the scan metadata of a repository.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Metrics are associated with a tenant and the tenant information must be provided.)

Metrics are associated with a tenant and the tenant information must be provided.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1RepositoryScanMetadataSpec)

Repository scan metadata specification.

Responses

Request samples

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

Response samples

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

GetRepository

Fetches the scan meta data of a repository 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": {
    }
}

DeleteRepositoryScanMetadata

Deletes the scan metadata of a repository 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
{ }

RepositoryStatusService

UpdateRepositoryStatus

Updates a repository status with the information in the request body.

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

The ingested information about a repository status.

Responses

Request samples

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

Response samples

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

ListRepositoryStatuses

Lists all repository statuses in the 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": {
    }
}

CreateRepositoryStatus

Creates a repository status.

The creation of the resource will be an upsert if the given spec.commit_sha and spec.platform_source 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 (Repository status are associated with a tenant. Public repository statuses are formed under a public tenant.)

Repository status are associated with a tenant. Public repository statuses are formed under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryStatusSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetRepositoryStatus

Fetches a repository status 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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryStatus

Deletes a repository status 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
{ }

RepositoryTagProtectionService

UpdateRepositoryTagProtection

Updates a repository's tag protection information.

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

The repository's tag protections.

Responses

Request samples

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

Response samples

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

ListRepositoryTagProtection

Lists all repository's tag protections information.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateRepositoryTagProtection

Creates repository's tag protection information.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Repository's tag protections are associated with a tenant.)

Repository's tag protections are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1RepositoryTagProtectionSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

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

Response samples

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

GetRepositoryTagProtection

Fetches a repository's tag protection information 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": { },
  • "ingested_object": {
    }
}

DeleteRepositoryTagProtection

Deletes a repository's tag protection information 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
{ }

RepositoryVersionService

UpdateRepositoryVersion

Updates a specified repository version with the information in the request body.

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

The ingested information about a repository version.

Responses

Request samples

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

Response samples

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

ListRepositoryVersions

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

CreateRepositoryVersion

Creates a repository version or updates a repository version if it already exists.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Repository versions are associated with a tenant.)

Repository versions are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryVersionSpec)
object (RepositoryVersionScanObject)
required
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

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

Response samples

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

GetRepositoryVersion

Fetches a repository 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 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": {
    },
  • "scan_object": {
    },
  • "context": {
    }
}

DeleteRepositoryVersion

Deletes a repository 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
{ }

RequestAssuredPackageVersionService

UpdateRequestAssuredPackageVersion

Updates a specified request 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

RequestAssuredPackageVersion is a request to have an assured package version patchd..

Responses

Request samples

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

Response samples

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

ListRequestAssuredPackageVersions

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

CreateRequestAssuredPackageVersion

Creates a request 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 (v1RequestAssuredPackageVersionSpec)

Responses

Request samples

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

Response samples

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

GetRequestAssuredPackageVersion

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

DeleteRequestAssuredPackageVersion

Deletes a request 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
{ }

RuleSetImportService

UpdateRuleSetImport

Updates an imported set of rules.

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

ImportedRuleSet represents a request to import a set of rules.

Responses

Request samples

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

Response samples

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

ListRuleSetImports

Lists all imported rule set 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": {
    }
}

CreateRuleSetImport

Imports the given set of rules.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Rule set is associated with a tenant and tenant information must be provided.)

Rule set is associated with a tenant and tenant information must be provided.

object (v1ImportedRuleSetSpec)

The internal specification of the object.

Responses

Request samples

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

Response samples

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

GetRuleSetImport

Fetches an imported rule set object specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

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

DeleteRuleSetImport

Deletes an imported rule set object 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
{ }

SavedQueryService

UpdateSavedQuery

Updates the saved queries.

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

SavedQuery implements the metric query requests.

Responses

Request samples

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

Response samples

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

ListSavedQueries

Lists all saved queries 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": {
    }
}

CreateSavedQuery

Creates a saved query.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (v1SavedQuerySpec)
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
}

GetSavedQuery

Fetches the saved query 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
}

DeleteSavedQuery

Deletes the saved query 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
{ }

EvaluateSavedQuery

Evaluates the saved query, then returns the query and the result.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

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

SBOMExportService

CreateSBOMExport

Creates an SBOM export.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Common fields for all Endor Labs resources.

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

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

object (v1ExportedSBOMSpec)

The internal specification of the object.

Responses

Request samples

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

Response samples

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

SBOMImportService

UpdateSBOMImport

Updates an imported SBOM.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

ImportedSBOM represents an SBOM that has been imported.

Responses

Request samples

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

Response samples

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

ListSBOMImports

Lists all imported SBOMS in a namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, for example, meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

list_parameters.group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

list_parameters.group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

list_parameters.group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

CreateSBOMImport

Imports the given SBOM.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Common fields for all Endor Labs resources.

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

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

object (v1ImportedSBOMSpec)

The internal specification of the object.

object (v1ProcessingStatus)
required
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

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

Response samples

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

GetSBOMImport

Fetches an imported SBOM specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

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

DeleteSBOMImport

Deletes an imported SBOM specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

query Parameters
delete_parameters.action
string

Action to be executed with delete request.

Responses

Response samples

Content type
application/json
{ }

SBOMOrganizationalContactService

UpdateSBOMOrganizationalContact

Updates an SBOM organizational contact.

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

Responses

Request samples

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

Response samples

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

ListSBOMOrganizationalContacts

Lists all SBOM organizational contacts 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": {
    }
}

CreateSBOMOrganizationalContact

Creates an SBOM organizational contact.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (SBOM organizational contacts are associated with a tenant and tenant information must be provided.)

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

required
object (v1SBOMOrganizationalContactSpec)

The internal specification of the object.

Responses

Request samples

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

Response samples

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

GetSBOMOrganizationalContact

Fetches an SBOM organizational contact specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

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

DeleteSBOMOrganizationalContact

Deletes an SBOM organizational contact 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
{ }

ScanLogRequestService

CreateScanLogRequest

Create a scan log 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 message that is accessed.)

Namespace of the message that is accessed.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1ScanLogRequestSpec)

Responses

Request samples

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

Response samples

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

ScanProfileService

UpdateScanProfile updates a specified Toolchain profile.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

ScanProfile represents the scan configuration to use across different projects.

Responses

Request samples

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

Response samples

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

ListScanProfiles returns a list of toolchain profiles in a specified namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, for example, meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

list_parameters.group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

list_parameters.group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

list_parameters.group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

CreateScanProfile creates a toolchain profile.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object

Tenant related data for the tenant containing the resource.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1ScanProfileSpec)

Spec is the internal specification of the object.

propagate
boolean

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

Responses

Request samples

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

Response samples

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

GetScanProfile returns a toolchain profile specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

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

DeleteScanProfile deletes a toolchain profile specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

query Parameters
delete_parameters.action
string

Action to be executed with delete request.

Responses

Response samples

Content type
application/json
{ }

ScanRequestService

UpdateScanRequest

Updates a scan request with the information in the request body.

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

ScanRequest represents a request to scan a particular PR and is only used by the system.

Responses

Request samples

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

Response samples

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

ListScanRequests

Lists the scan requests 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": {
    }
}

CreateScanRequest

Creates a scan 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 (ScanRequests are associated with a tenant.)

ScanRequests are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1ScanRequestSpec)

Responses

Request samples

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

Response samples

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

GetScanRequest

Fetches a scan request identified by a given UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

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

DeleteScanRequest

Deletes a scan 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
{ }

ScanResultService

UpdateScanResult

Update a specified scan result.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

Contains the results of an endorctl scan.

Responses

Request samples

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

Response samples

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

ListScanResults

List scan results based on the specified list parameters.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, for example, meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

list_parameters.group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

list_parameters.group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

list_parameters.group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

CreateScanResult

Create a scan result.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Information about the tenant and namespace that the scan ran in.)

Information about the tenant and namespace that the scan ran in.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1ScanResultSpec)

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

GetScanResult

Return a specified scan result.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

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

DeleteScanResult

Delete a specified scan result.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

query Parameters
delete_parameters.action
string

Action to be executed with delete request.

Responses

Response samples

Content type
application/json
{ }

ScanWorkflowService

UpdateScanWorkflow

Updates the specified scan workflow with the information in the request body.

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

ScanWorkflow corresponds to a workflow of scan steps.

Responses

Request samples

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

Response samples

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

ListScanWorkflows

Lists all scan workflows 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": {
    }
}

CreateScanWorkflow

Creates a scan workflow 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 (The tenant to which the scan workflow belongs.)

The tenant to which the scan workflow belongs.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1ScanWorkflowSpec)

Responses

Request samples

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

Response samples

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

GetScanWorkflow

Fetches comprehensive information about a scan workflow identified by a given UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

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

DeleteScanWorkflow

Deletes a scan workflow 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
{ }

ScanWorkflowResultService

UpdateScanWorkflowResult

Updates the specified scan workflow result with the information in the request body.

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

ScanWorkflowResult corresponds to a workflow scan result.

Responses

Request samples

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

Response samples

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

ListScanWorkflowResults

Lists all scan workflow results 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": {
    }
}

CreateScanWorkflowResult

Creates a scan workflow result 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 (The tenant to which the scan workflow result belongs.)

The tenant to which the scan workflow result belongs.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1ScanWorkflowResultSpec)
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": {
    }
}

GetScanWorkflowResult

Fetches comprehensive information about a scan workflow result identified by a given UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

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

DeleteScanWorkflowResult

Deletes a scan workflow result 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
{ }

ScopePolicyService

UpdateScopePolicy

Updates the scope policy.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

ScopePolicy represents a scope policy in the system. Scope policies allow users to select for a set of projects (or namespaces) as defined by the project selectors. It is the set of policies that are applied to these projects as defined by a policy selector.

Responses

Request samples

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

Response samples

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

ListScopePolicies

Lists all scope policies in a namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, for example, meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

list_parameters.group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

list_parameters.group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

list_parameters.group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

CreateScopePolicy

Creates a scope policy.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Scope policies are issued per namespace.)

Scope policies are issued per namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1ScopePolicySpec)

Responses

Request samples

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

Response samples

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

GetScopePolicy

Fetches the scope policy identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

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

DeleteScopePolicy

Deletes the scope policy specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

query Parameters
delete_parameters.action
string

Action to be executed with delete request.

Responses

Response samples

Content type
application/json
{ }

SecretRuleService

UpdateSecretRule

Updates a secret rule.

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

Responses

Request samples

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

Response samples

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

ListSecretRules

Lists all secret rules 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": {
    }
}

CreateSecretRule

Creates a secret rule.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Rules are associated with a tenant and namespace.)

Rules are associated with a tenant and namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1SecretRuleSpec)

Internal specification of the object.

Follows the specification of the gitleaks configuration object defined here: https://github.com/gitleaks/gitleaks/blob/master/config/rule.go

propagate
boolean

Propagate indicates that the object should be visible in children 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
}

GetSecretRule

Fetches the secret rule 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
}

DeleteSecretRule

Deletes the secret rule 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 resource to be deleted.

query Parameters
delete_parameters.action
string

Action to be executed with delete request.

Responses

Response samples

Content type
application/json
{ }

SecurityReviewPullRequestService

SegmentQueryRequestService

CreateSegmentQueryRequest

Creates a segment 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 segment query request.)

Namespace of the segment query request.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1SegmentQueryRequestSpec)
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": {
    }
}

SemgrepRuleService

UpdateSemgrepRule

Updates the Semgrep rule.

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

Responses

Request samples

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

Response samples

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

ListSemgrepRules

Lists all Semgrep rules in the 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": {
    }
}

CreateSemgrepRule

Creates a Semgrep rule.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Rules are associated with a tenant and namespace.)

Rules are associated with a tenant and namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1SemgrepRuleSpec)
propagate
boolean

Propagate indicates that the object should be visible in child namespaces.

disabled
boolean

Responses

Request samples

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

Response samples

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

GetSemgrepRule

Fetches a Semgrep rule 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,
  • "disabled": true
}

DeleteSemgrepRule

Deletes the rule 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
{ }

ServiceRequestService

ServiceTokenService

CreateServiceToken

Creates a new service token.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 service tokens.)

Tenant metadata required for service tokens.

object (v1ServiceTokenSpec)

Responses

Request samples

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

Response samples

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

QuerySimilarPackagesService

Queries packages which is lexicographically similar to a given package.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (v1QuerySimilarPackagesSpec)

Responses

Request samples

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

Response samples

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

SupportedToolChainProfileService

ListSupportedToolChainProfiles returns a list of toolchain profiles in a specified namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, for example, meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

list_parameters.group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

list_parameters.group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

list_parameters.group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

SupportedToolChainProfileService_GetSupportedToolChainProfile2

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

ListSupportedToolChainProfiles returns a list of toolchain profiles in a specified namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, for example, meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

list_parameters.group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

list_parameters.group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

list_parameters.group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

SupportedToolChainProfileService_GetSupportedToolChainProfile

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

SupportedToolChainVersionService

SystemConfigService

UpdateSystemConfig

Updates the system 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

SystemConfig represents the system configuration for a tenant.

Responses

Request samples

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

Response samples

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

ListSystemConfig

Returns the system configuration as a list of length 1.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateSystemConfig

Creates a system 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 (SystemConfig is associated with a tenant and namespace.)

SystemConfig is associated with a tenant and namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1SystemConfigSpec)
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
}

GetSystemConfig

Fetches the system configuration 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
}

DeleteSystemConfig

Deletes the system configuration 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
{ }

TableRowGroupService

UpdateTableRowGroup

Updates the table row group.

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

TableRowGroup in the main object that contains an ordered list of TableRows and TableDescription with general information about the table.

Responses

Request samples

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

Response samples

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

ListTableRowGroups

Lists all table row groups.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateTableRowGroup

Creates a table row group.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (TableRowGroups are associated with a tenant and namespace.)

TableRowGroups are associated with a tenant and namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1TableRowGroupSpec)
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": {
    }
}

GetTableRowGroup

Fetches the table row group 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": {
    }
}

DeleteTableRowGroup

Deletes the table row group 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
{ }

TelemetryService

CreateTelemetry

Creates a telemetry.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (v1TelemetrySpec)

Responses

Request samples

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

Response samples

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

TenantService

ListTenants

Lists all tenants.

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

CreateTenant

Creates a tenant.

Request Body schema: application/json
required

Tenant represents a tenant in the system.

Mostly includes tenant configuration parameters.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1TenantSpec)

Responses

Request samples

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

Response samples

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

UpdateTenant

Updates a specified tenant.

Request Body schema: application/json
required

Request to update a tenant.

object (v1UpdateRequest)

Message used for all update requests.

object (v1Tenant)

Tenant represents a tenant in the system.

Mostly includes tenant configuration parameters.

Responses

Request samples

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

Response samples

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

GetTenant

Fetches a tenant specified by its UUID.

path Parameters
uuid
required
string

The UUID of the requested resource.

Responses

Response samples

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

DeleteTenant

Deletes a tenant specified by its UUID.

path Parameters
uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

ToolPatternService

UpdateToolPattern

Updates a tool pattern.

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

ToolPattern represents the search pattern data for one tool.

Responses

Request samples

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

Response samples

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

ListToolPatterns

Lists tool patterns.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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": {
    }
}

CreateToolPattern

Creates a tool pattern.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (Rules are associated with a tenant and namespace.)

Rules are associated with a tenant and namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1ToolPatternSpec)

The internal specification of the object.

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
}

GetToolPattern

Fetches a tool pattern 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
}

DeleteToolPattern

Deletes a tool pattern 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
{ }

UITelemetryService

CreateUITelemetry

Creates a UI telemetry message.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 where the telemetry events were recorded.)

Namespace where the telemetry events were recorded.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1UITelemetrySpec)

Responses

Request samples

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

Response samples

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

UserService

ListUsers

Lists all users.

query Parameters
filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

action
string

Action to be executed with a request. Not supported for all endpoints.

mask
string

List of fields to return (all fields are returned by default).

traverse
boolean

Get data from any child namespaces as well.

sort.path
string

Field to sort objects by, for example, meta.name.

sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

ci_run_uuid
string

Only return objects from PR scans that match this context id.

page_id
string

Page ID to retrieve.

group_by_time.aggregation_paths
string

Group the objects based on this time field, for example, meta.create_time.

group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, for example, to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

group_by_time.mode
string

The mode determines how the matching objects are counted in the produced time-series. Values allowed are: count (default) : is the number of items matching in every interval. sum: is the total number of items matching since the beginning of the aggregation time.

group_by_time.aggregation_value_field
string

The aggregation_field is a field on the matched objects that we want to perform some operation in each interval (example : min, max, avg)

group_by_time.aggregation_operator
string

The aggreation_operator is the operator that we should use for the aggregation. Allowed values are: min, max, sum, avg

Responses

Response samples

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

CreateUser

Creates a user in a given namespace. Not exposed to public API.

Request Body schema: application/json
required

User represents a user in the system.

Mostly includes configuration parameters that are user wise.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1UserSpec)

Responses

Request samples

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

Response samples

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

UpdateUser

Updates a specific user. Not exposed to public API.

Request Body schema: application/json
required

Request to update a user.

object (v1UpdateRequest)

Message used for all update requests.

object (v1User)

User represents a user in the system.

Mostly includes configuration parameters that are user wise.

Responses

Request samples

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

Response samples

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

GetUser

Fetches a user specified by their UUID

path Parameters
uuid
required
string

The UUID of the requested resource.

Responses

Response samples

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

UserInfoService

Verify

Returns user authentication data and allows a user to validate their token.

Responses

Response samples

Content type
application/json
{
  • "authentication_source": "string",
  • "expiration_time": "2019-08-24T14:15:22Z",
  • "user": {
    },
  • "tenants": [
    ],
  • "permissions": {
    },
  • "namespaces": [
    ]
}

GetActivePermissions

Returns user authentication data and allows a user to validate their token.

path Parameters
target_namespace
required
string

Responses

Response samples

Content type
application/json
{
  • "authentication_source": "string",
  • "expiration_time": "2019-08-24T14:15:22Z",
  • "user": {
    },
  • "tenants": [
    ],
  • "permissions": {
    },
  • "namespaces": [
    ]
}

UserTelemetryService

UpdateUserTelemetry

Updates a given user telemetry.

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

UserTelemetry represents user-specific events observered from the Endor Labs UI.

Responses

Request samples

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

Response samples

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

ListUserTelemetries

Lists all user telemetry objects 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": {
    }
}

CreateUserTelemetry

Creates a user telemetry message.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 where the telemetry events were recorded.)

Namespace where the telemetry events were recorded.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1UserTelemetrySpec)

Responses

Request samples

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

Response samples

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

GetUserTelemetry

Fetches the user telemetry 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": {
    }
}

DeleteUserTelemetry

Deletes a user telemetry 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
{ }

VersionUpgradeService

UpdateVersionUpgrade

Updates a version upgrade.

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

VersionUpgrade contains all information about a possible version upgrade of a dependency package. This upgrade object can be under a project or a package version object.

Responses

Request samples

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

Response samples

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

ListVersionUpgrades

Lists all version upgrades in the 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": {
    }
}

CreateVersionUpgrade

Creates a version upgrade. 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
tenant_meta
object (Tenant metadata information.)

Tenant metadata information.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1VersionUpgradeSpec)
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": {
    }
}

GetVersionUpgrade

Fetches a version upgrade 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": {
    }
}

DeleteVersionUpgrade

Deletes a version upgrade 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
{ }

VEXExportService

VEXExportService_CreateVEXExport

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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 (SBOM are associated with a tenant and tenant information must be provided.)

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

object (v1ExportedVEXSpec)

The internal specification of the object.

Responses

Request samples

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

Response samples

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

VulnerabilityService

ListVulnerabilities

List all vulnerabilities in the 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": {
    }
}

CreateVulnerability

Creates a vulnerability based on the ID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object

Tenant related data for the tenant containing the resource.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1VulnSpec)

Responses

Request samples

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

Response samples

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

GetVulnerability

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

QueryVulnerabilityService

CreateQueryVulnerability

Queries vulnerabilities for specific values. Use this method to query vulnerabilities for a specific package version.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of 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

Tenant related data for the tenant containing the resource.

object (v1QueryVulnerabilitySpec)
object (QueryVulnerabilityResponseMap)
object (v1ListVulnerabilitiesResponse)

Response to the request to list vulnerabilities.

Responses

Request samples

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

Response samples

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