Endor ReST API (1.0)

Download OpenAPI specification:Download

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

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.

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