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

Meta provides a set of fields that all resources at Endor must have to work in the system.

Protobuf message not using Meta will have limited actions in the Endor ecosystem.

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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

UpdateRequest is a message used by the update API.

object

AnalyticsExecutionRecord 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 returns a list of 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

Filter is an optional filter used when listing resources. Filters may include any attribute along with the following operators: "==", ">", "<", "In", and "Matches". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples include:

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>

Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

page_size represents the maximum number of records that are displayed when a page loads. Default value: 100.

list_parameters.action
string

Action may be used to specify an action to be executed with a request Action is an optional field and not supported in every API.

list_parameters.mask
string

Mask specifies the list of fields to return with a request. If no mask is given, all fields will be returned by the API.

list_parameters.traverse
boolean

Traverse may be used to traverses all child namespaces of a parent namespace to fetch all messages.

list_parameters.sort.path
string

This represents the path used by the entry.

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

order of the sort. by default this will be ASC.

list_parameters.count
boolean

Count the number of messages. This flag can only be used along with traverse and filter. When given, the returned response will be of type CountResponse.

list_parameters.group.aggregation_paths
string

group the list with the given aggregation_paths. multiple paths can be given and result will be grouped with the uniqueness of all paths. This support composite paths. This supports field path from message from array and map.

list_parameters.group.show_aggregation_uuids
boolean

show_aggregation_uuids shows the uuids of each message of the group.

list_parameters.group.unique_count_paths
string

unique_count_paths is a list of paths for which we want the unique count. This supports field path from message from array and map.

list_parameters.group.unique_value_paths
string

unique_value_paths is the list of paths for which we want the unique values. This supports field path from message from array and map.

list_parameters.ci_run_uuid
string

CI Run UUID will return objects that match the uuid in meta.ci_scope.run_uuid. if this parameter is not provided, the API will not return objects that have a run_uuid set.

list_parameters.page_id
string

Page ID defines the UUID of the document that has been retrieved so far.

list_parameters.group_by_time.aggregation_paths
string

group the list based on the aggregation paths specified in the path. The path is expected to be a time field.

list_parameters.group_by_time.show_aggregation_uuids
boolean

show_aggregation_uuids shows the uuids of each message of the 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 denotes the time interval for which the objects needs to be grouped.

list_parameters.group_by_time.group_size
integer <int32>

group_size specifies the bin size of the groups. For example, you can provide the interval as "week" and the group_size as 2 for grouping messages every 2 weeks.

list_parameters.group_by_time.start_time
string <date-time>

start_time is the start of the time period that the objects needs to be grouped. It defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

end_time is the end of the time period that the objects needs to be grouped. It defaults to the current time.

Responses

Response samples

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

CreateAnalyticsExecutionRecord creates an analytics execution records 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. 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 per tenant.)

Analytic records are per tenant.

required
object (v1Meta)

Meta provides a set of fields that all resources at Endor must have to work in the system.

Protobuf message not using Meta will have limited actions in the Endor ecosystem.

required
object (v1AnalyticsExecutionRecordSpec)
required
object (v1Context)

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 returns 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

UUID is a universally unique identifier for a specific resource.

query Parameters
get_parameters.mask
string

Mask specifies the list of fields to return with a request. If no mask is given, all fields will be returned by the API.

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

ValidateAPIKeyReq is used to validate an API key.

key
required
string

key is a unique identifier of the key.

secret
required
string

Secret is 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 returns the list of 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

Filter is an optional filter used when listing resources. Filters may include any attribute along with the following operators: "==", ">", "<", "In", and "Matches". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples include:

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>

Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

page_size represents the maximum number of records that are displayed when a page loads. Default value: 100.

list_parameters.action
string

Action may be used to specify an action to be executed with a request Action is an optional field and not supported in every API.

list_parameters.mask
string

Mask specifies the list of fields to return with a request. If no mask is given, all fields will be returned by the API.

list_parameters.traverse
boolean

Traverse may be used to traverses all child namespaces of a parent namespace to fetch all messages.

list_parameters.sort.path
string

This represents the path used by the entry.

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

order of the sort. by default this will be ASC.

list_parameters.count
boolean

Count the number of messages. This flag can only be used along with traverse and filter. When given, the returned response will be of type CountResponse.

list_parameters.group.aggregation_paths
string

group the list with the given aggregation_paths. multiple paths can be given and result will be grouped with the uniqueness of all paths. This support composite paths. This supports field path from message from array and map.

list_parameters.group.show_aggregation_uuids
boolean

show_aggregation_uuids shows the uuids of each message of the group.

list_parameters.group.unique_count_paths
string

unique_count_paths is a list of paths for which we want the unique count. This supports field path from message from array and map.

list_parameters.group.unique_value_paths
string

unique_value_paths is the list of paths for which we want the unique values. This supports field path from message from array and map.

list_parameters.ci_run_uuid
string

CI Run UUID will return objects that match the uuid in meta.ci_scope.run_uuid. if this parameter is not provided, the API will not return objects that have a run_uuid set.

list_parameters.page_id
string

Page ID defines the UUID of the document that has been retrieved so far.

list_parameters.group_by_time.aggregation_paths
string

group the list based on the aggregation paths specified in the path. The path is expected to be a time field.

list_parameters.group_by_time.show_aggregation_uuids
boolean

show_aggregation_uuids shows the uuids of each message of the 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 denotes the time interval for which the objects needs to be grouped.

list_parameters.group_by_time.group_size
integer <int32>

group_size specifies the bin size of the groups. For example, you can provide the interval as "week" and the group_size as 2 for grouping messages every 2 weeks.

list_parameters.group_by_time.start_time
string <date-time>

start_time is the start of the time period that the objects needs to be grouped. It defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

end_time is the end of the time period that the objects needs to be grouped. It defaults to the current time.

Responses

Response samples

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

CreateAPIKey creates a API keys.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name. 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)

Meta provides a set of fields that all resources at Endor must have to work in the system.

Protobuf message not using Meta will have limited actions in the Endor ecosystem.

object (v1APIKeySpec)
propagate
boolean

Propagate indicates whether the key can be used for 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
}

GetAPIKey returns a specified API Key identified by its universally unique identifier (UUID).

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

UUID is a universally unique identifier for a specific resource.

query Parameters
get_parameters.mask
string

Mask specifies the list of fields to return with a request. If no mask is given, all fields will be returned by the API.

Responses

Response samples

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

DeleteAPIKey deletes a specified API Key identified by its universally unique identifier (UUID).

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

UUID is a universally unique identifier for a specific resource.

Responses

Response samples

Content type
application/json
{ }

ApproveServiceRequestService

ListApproveServiceRequests returns a list of all ApproveServiceRequest 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

Filter is an optional filter used when listing resources. Filters may include any attribute along with the following operators: "==", ">", "<", "In", and "Matches". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples include:

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>

Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

page_size represents the maximum number of records that are displayed when a page loads. Default value: 100.

list_parameters.action
string

Action may be used to specify an action to be executed with a request Action is an optional field and not supported in every API.

list_parameters.mask
string

Mask specifies the list of fields to return with a request. If no mask is given, all fields will be returned by the API.

list_parameters.traverse
boolean

Traverse may be used to traverses all child namespaces of a parent namespace to fetch all messages.

list_parameters.sort.path
string

This represents the path used by the entry.

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

order of the sort. by default this will be ASC.

list_parameters.count
boolean

Count the number of messages. This flag can only be used along with traverse and filter. When given, the returned response will be of type CountResponse.

list_parameters.group.aggregation_paths
string

group the list with the given aggregation_paths. multiple paths can be given and result will be grouped with the uniqueness of all paths. This support composite paths. This supports field path from message from array and map.

list_parameters.group.show_aggregation_uuids
boolean

show_aggregation_uuids shows the uuids of each message of the group.

list_parameters.group.unique_count_paths
string

unique_count_paths is a list of paths for which we want the unique count. This supports field path from message from array and map.

list_parameters.group.unique_value_paths
string

unique_value_paths is the list of paths for which we want the unique values. This supports field path from message from array and map.

list_parameters.ci_run_uuid
string

CI Run UUID will return objects that match the uuid in meta.ci_scope.run_uuid. if this parameter is not provided, the API will not return objects that have a run_uuid set.

list_parameters.page_id
string

Page ID defines the UUID of the document that has been retrieved so far.

list_parameters.group_by_time.aggregation_paths
string

group the list based on the aggregation paths specified in the path. The path is expected to be a time field.

list_parameters.group_by_time.show_aggregation_uuids
boolean

show_aggregation_uuids shows the uuids of each message of the 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 denotes the time interval for which the objects needs to be grouped.

list_parameters.group_by_time.group_size
integer <int32>

group_size specifies the bin size of the groups. For example, you can provide the interval as "week" and the group_size as 2 for grouping messages every 2 weeks.

list_parameters.group_by_time.start_time
string <date-time>

start_time is the start of the time period that the objects needs to be grouped. It defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

end_time is the end of the time period that the objects needs to be grouped. It defaults to the current time.

Responses

Response samples

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

CreateApproveServiceRequest creates an ApproveServiceRequest.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name. 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 specific internal tenant.)

ApproveServiceRequest are raised on specific internal tenant.

required
object (v1Meta)

Meta provides a set of fields that all resources at Endor must have to work in the system.

Protobuf message not using Meta will have limited actions in the Endor ecosystem.

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 returns an ApproveServiceRequest 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

UUID is a universally unique identifier for a specific resource.

query Parameters
get_parameters.mask
string

Mask specifies the list of fields to return with a request. If no mask is given, all fields will be returned by the API.

Responses

Response samples

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

DeleteApproveServiceRequest deletes an ApproveServiceRequest 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

UUID is a universally unique identifier for a specific resource.

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

Meta provides a set of fields that all resources at Endor must have to work in the system.

Protobuf message not using Meta will have limited actions in the Endor ecosystem.

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

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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

UpdateRequest is a message used by the update API.

object

ArtifactSignature represents an ArtifactSignature object.

Responses

Request samples

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

Response samples

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

ListArtifactSignatures returns the list 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

Filter is an optional filter used when listing resources. Filters may include any attribute along with the following operators: "==", ">", "<", "In", and "Matches". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples include:

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>

Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

page_size represents the maximum number of records that are displayed when a page loads. Default value: 100.

list_parameters.action
string

Action may be used to specify an action to be executed with a request Action is an optional field and not supported in every API.

list_parameters.mask
string

Mask specifies the list of fields to return with a request. If no mask is given, all fields will be returned by the API.

list_parameters.traverse
boolean

Traverse may be used to traverses all child namespaces of a parent namespace to fetch all messages.

list_parameters.sort.path
string

This represents the path used by the entry.

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

order of the sort. by default this will be ASC.

list_parameters.count
boolean

Count the number of messages. This flag can only be used along with traverse and filter. When given, the returned response will be of type CountResponse.

list_parameters.group.aggregation_paths
string

group the list with the given aggregation_paths. multiple paths can be given and result will be grouped with the uniqueness of all paths. This support composite paths. This supports field path from message from array and map.

list_parameters.group.show_aggregation_uuids
boolean

show_aggregation_uuids shows the uuids of each message of the group.

list_parameters.group.unique_count_paths
string

unique_count_paths is a list of paths for which we want the unique count. This supports field path from message from array and map.

list_parameters.group.unique_value_paths
string

unique_value_paths is the list of paths for which we want the unique values. This supports field path from message from array and map.

list_parameters.ci_run_uuid
string

CI Run UUID will return objects that match the uuid in meta.ci_scope.run_uuid. if this parameter is not provided, the API will not return objects that have a run_uuid set.

list_parameters.page_id
string

Page ID defines the UUID of the document that has been retrieved so far.

list_parameters.group_by_time.aggregation_paths
string

group the list based on the aggregation paths specified in the path. The path is expected to be a time field.

list_parameters.group_by_time.show_aggregation_uuids
boolean

show_aggregation_uuids shows the uuids of each message of the 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 denotes the time interval for which the objects needs to be grouped.

list_parameters.group_by_time.group_size
integer <int32>

group_size specifies the bin size of the groups. For example, you can provide the interval as "week" and the group_size as 2 for grouping messages every 2 weeks.

list_parameters.group_by_time.start_time
string <date-time>

start_time is the start of the time period that the objects needs to be grouped. It defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

end_time is the end of the time period that the objects needs to be grouped. It defaults to the current time.

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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Meta provides a set of fields that all resources at Endor must have to work in the system.

Protobuf message not using Meta will have limited actions in the Endor ecosystem.

tenant_meta
object (TenantMeta required for artifact signature requests.)

TenantMeta 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 returns the 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

UUID is a universally unique identifier for a specific resource.

query Parameters
get_parameters.mask
string

Mask specifies the list of fields to return with a request. If no mask is given, all fields will be returned by the API.

Responses

Response samples

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

AssuredPackageVersionService

UpdateAssuredPackageVersion updates a specified assured package versions.

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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

UpdateRequest is a message used by the update API.

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 returns the list of 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

Filter is an optional filter used when listing resources. Filters may include any attribute along with the following operators: "==", ">", "<", "In", and "Matches". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples include:

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>

Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

page_size represents the maximum number of records that are displayed when a page loads. Default value: 100.

list_parameters.action
string

Action may be used to specify an action to be executed with a request Action is an optional field and not supported in every API.

list_parameters.mask
string

Mask specifies the list of fields to return with a request. If no mask is given, all fields will be returned by the API.

list_parameters.traverse
boolean

Traverse may be used to traverses all child namespaces of a parent namespace to fetch all messages.

list_parameters.sort.path
string

This represents the path used by the entry.

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

order of the sort. by default this will be ASC.

list_parameters.count
boolean

Count the number of messages. This flag can only be used along with traverse and filter. When given, the returned response will be of type CountResponse.

list_parameters.group.aggregation_paths
string

group the list with the given aggregation_paths. multiple paths can be given and result will be grouped with the uniqueness of all paths. This support composite paths. This supports field path from message from array and map.

list_parameters.group.show_aggregation_uuids
boolean

show_aggregation_uuids shows the uuids of each message of the group.

list_parameters.group.unique_count_paths
string

unique_count_paths is a list of paths for which we want the unique count. This supports field path from message from array and map.

list_parameters.group.unique_value_paths
string

unique_value_paths is the list of paths for which we want the unique values. This supports field path from message from array and map.

list_parameters.ci_run_uuid
string

CI Run UUID will return objects that match the uuid in meta.ci_scope.run_uuid. if this parameter is not provided, the API will not return objects that have a run_uuid set.

list_parameters.page_id
string

Page ID defines the UUID of the document that has been retrieved so far.

list_parameters.group_by_time.aggregation_paths
string

group the list based on the aggregation paths specified in the path. The path is expected to be a time field.

list_parameters.group_by_time.show_aggregation_uuids
boolean

show_aggregation_uuids shows the uuids of each message of the 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 denotes the time interval for which the objects needs to be grouped.

list_parameters.group_by_time.group_size
integer <int32>

group_size specifies the bin size of the groups. For example, you can provide the interval as "week" and the group_size as 2 for grouping messages every 2 weeks.

list_parameters.group_by_time.start_time
string <date-time>

start_time is the start of the time period that the objects needs to be grouped. It defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

end_time is the end of the time period that the objects needs to be grouped. It defaults to the current time.

Responses

Response samples

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

CreateAssuredPackageVersion creates 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. 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 repos are per tenant.)

Git repos are per tenant.

required
object (v1Meta)

Meta provides a set of fields that all resources at Endor must have to work in the system.

Protobuf message not using Meta will have limited actions in the Endor ecosystem.

required
object (v1AssuredPackageVersionSpec)
object (v1ProcessingStatus)
required
object (v1Context)

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 returns the assured package version from the given GetAssuredPackageVersionRequest.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

UUID is a universally unique identifier for a specific resource.

query Parameters
get_parameters.mask
string

Mask specifies the list of fields to return with a request. If no mask is given, all fields will be returned by the API.

Responses

Response samples

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

DeleteAssuredPackageVersion 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

UUID is a universally unique identifier for a specific resource.

Responses

Response samples

Content type
application/json
{ }

AuditLogService

ListAuditLogs returns the list of 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

Filter is an optional filter used when listing resources. Filters may include any attribute along with the following operators: "==", ">", "<", "In", and "Matches". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples include:

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>

Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

page_size represents the maximum number of records that are displayed when a page loads. Default value: 100.

list_parameters.action
string

Action may be used to specify an action to be executed with a request Action is an optional field and not supported in every API.

list_parameters.mask
string

Mask specifies the list of fields to return with a request. If no mask is given, all fields will be returned by the API.

list_parameters.traverse
boolean

Traverse may be used to traverses all child namespaces of a parent namespace to fetch all messages.

list_parameters.sort.path
string

This represents the path used by the entry.

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

order of the sort. by default this will be ASC.

list_parameters.count
boolean

Count the number of messages. This flag can only be used along with traverse and filter. When given, the returned response will be of type CountResponse.

list_parameters.group.aggregation_paths
string

group the list with the given aggregation_paths. multiple paths can be given and result will be grouped with the uniqueness of all paths. This support composite paths. This supports field path from message from array and map.

list_parameters.group.show_aggregation_uuids
boolean

show_aggregation_uuids shows the uuids of each message of the group.

list_parameters.group.unique_count_paths
string

unique_count_paths is a list of paths for which we want the unique count. This supports field path from message from array and map.

list_parameters.group.unique_value_paths
string

unique_value_paths is the list of paths for which we want the unique values. This supports field path from message from array and map.

list_parameters.ci_run_uuid
string

CI Run UUID will return objects that match the uuid in meta.ci_scope.run_uuid. if this parameter is not provided, the API will not return objects that have a run_uuid set.

list_parameters.page_id
string

Page ID defines the UUID of the document that has been retrieved so far.

list_parameters.group_by_time.aggregation_paths
string

group the list based on the aggregation paths specified in the path. The path is expected to be a time field.

list_parameters.group_by_time.show_aggregation_uuids
boolean

show_aggregation_uuids shows the uuids of each message of the 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 denotes the time interval for which the objects needs to be grouped.

list_parameters.group_by_time.group_size
integer <int32>

group_size specifies the bin size of the groups. For example, you can provide the interval as "week" and the group_size as 2 for grouping messages every 2 weeks.

list_parameters.group_by_time.start_time
string <date-time>

start_time is the start of the time period that the objects needs to be grouped. It defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

end_time is the end of the time period that the objects needs to be grouped. It defaults to the current time.

Responses

Response samples

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

CreateAuditLog creates a 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. 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)

Meta provides a set of fields that all resources at Endor must have to work in the system.

Protobuf message not using Meta will have limited actions in the Endor ecosystem.

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 returns the audit log from the given GetAuditLogRequest.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

UUID is a universally unique identifier for a specific resource.

query Parameters
get_parameters.mask
string

Mask specifies the list of fields to return with a request. If no mask is given, all fields will be returned by the API.

Responses

Response samples

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