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

DeleteAuditLog deletes a AuditLog 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
{ }

AuthenticationService

Authenticate initiates the authentication request and returns a token and token expiration time for an authenticated user.

path Parameters
authentication_source
required
string

Authentication source specifies a users authentiation method, such as "GitHub".

query Parameters
key
string

Key is the API Key used for system authentication. Key is required only if the authentication source is "api-key".

secret
string

Secret is 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 will clear the user session and cookies.

path Parameters
authentication_source
required
string

Authentication source specifies a users authentiation method, such as "GitHub".

query Parameters
key
string

Key is the API Key used for system authentication. Key is required only if the authentication source is "api-key".

secret
string

Secret is 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 returns the list of 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. 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": {
    }
}

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. 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 (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 returns the authentication log from the given 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. 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": {
    }
}

DeleteAuthenticationLog deletes the authenticationLog 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
{ }

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

AuthorizationPolicy represents a AuthorizationPolicy 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 returns the list of 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. 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": {
    }
}

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

Authorization policies 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 (v1AuthorizationPolicySpec)
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
}

GetAuthorizationPolicy returns 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. 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
}

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

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

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

ListCallGraphData returns a list of 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. 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": {
    }
}

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. It 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. 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 (Namespaces are per tenant.)

Namespaces are per tenant.

zstd_bytes
string <byte>

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

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

GetCallGraphData returns 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. 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": {
    },
  • "zstd_bytes": "string",
  • "any": {
    },
  • "related_object": "string",
  • "context": {
    }
}

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

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

CIRun 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 returns a list of 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. 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": {
    }
}

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

Request Body schema: application/json
required
tenant_meta
object (CIRun are per tenant.)

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

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

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

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

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

Responses

Request samples

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

Response samples

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

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

TenantMeta 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 returns the default template for the given template type. The template type can be prcomments. TODO: Update the comment with more template types after notification changes

path Parameters
custom_template_type
required
string

template_type is the type of the template. for example prcomments TODO: Update the comment with more template types after notification changes.

Responses

Response samples

Content type
application/json
{
  • "template_type": "CUSTOM_TEMPLATE_TYPE_UNSPECIFIED",
  • "prcomments_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. 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

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 returns a list of 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. 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": {
    }
}

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. 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 per tenant and namespace.)

DashboardConfig is per tenant and namespace.

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 (v1DashboardConfigSpec)
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
}

GetDashboardConfig returns 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. 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
}

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

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

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

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

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

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

DependencyMetadataService

UpdateDependencyMetadata updates the dependency metadata 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

DependencyMetadata holds detailed data about a dependency.

Responses

Request samples

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

Response samples

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

ListDependencyMetadata returns the list of dependency metadata 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. 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": {
    }
}

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

Request Body schema: application/json
required
tenant_meta
object (DependencyMetadata are organized per tenant and namespace.)

DependencyMetadata are organized per tenant and namespace.

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

GetDependencyMetadata returns the 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. 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": {
    }
}

DeleteDependencyMetadata deletes the 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. 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
{ }

EndorLicenseService

UpdateEndorLicense updates a specified Endor 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. 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

EndorLicense represents a specific Endor license assigned to a tenant.

Responses

Request samples

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

Response samples

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

ListEndorLicenses returns a list of all Endor 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. 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": {
    }
}

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

Request Body schema: application/json
required
tenant_meta
object (EndorLicenses are per tenant.)

EndorLicenses 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 (v1EndorLicenseSpec)

Responses

Request samples

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

Response samples

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

GetEndorLicense returns an Endor license 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": {
    }
}

DeleteEndorLicense deletes an Endor license 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
{ }

EvaluationMethodService

UpdateEvaluationMethod updates the evaluation methods.

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

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 returns the list of 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. 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": {
    }
}

CreateEvaluationMethod creates a 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. 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 per tenant and namespace.)

EvaluationMethods are per tenant and namespace.

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 (v1EvaluationMethodSpec)
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
}

GetEvaluationMethod returns the 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. 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
}

DeleteEvaluationMethod deletes the 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. 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
{ }

EvaluationParameterService

UpdateEvaluationParameter updates the evaluation parameters.

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

EvaluationParameter represents an evaluation parameter. The parameters are applied to the method before executing it. 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 returns the list of 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. 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": {
    }
}

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

Request Body schema: application/json
required
tenant_meta
object (EvaluationParameters are per tenant and namespace.)

EvaluationParameters are per tenant and namespace.

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 (v1EvaluationParameterSpec)
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
}

GetEvaluationParameter returns the 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. 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
}

DeleteEvaluationParameter deletes the 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. 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
{ }

FindingService

UpdateFinding updates the findings.

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

Finding represents a finding from an evaluation method. The finding applies to the parent object. Findings can apply to PackageVersions, Packages, Repositories etc.

Responses

Request samples

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

Response samples

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

ListFindings returns the list of findings.

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

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

Request Body schema: application/json
required
tenant_meta
object (Findings are per tenant and namespace.)

Findings are per tenant and namespace.

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

GetFinding returns the 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. 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": {
    }
}

DeleteFinding deletes the 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. 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
{ }

FunctionGraphDataService

UpdateFunctionGraphData updates the metadata of a callgraph.

path Parameters
object.tenant_meta.namespace_1
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

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

ListFunctionGraphData returns a list of 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. 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": {
    }
}

CreateFunctionGraphData creates a function graph. The object must provide a parent ID that is the associated package version that this function graph belongs to. A create operation will replace any previous data. It 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. 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 (Namespaces are per tenant.)

Namespaces are per 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)

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

GetFunctionGraphData returns 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. 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": {
    },
  • "zstd_bytes": "string",
  • "any": {
    },
  • "related_object": "string",
  • "context": {
    }
}

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

GithubTokenService

ListGithubTokens lists all available GitHub tokens.

query 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")

page_token
integer <int32>

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

page_size
integer <int32>

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

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.

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.

traverse
boolean

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

sort.path
string

This represents the path used by the entry.

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.

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.

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.

group.show_aggregation_uuids
boolean

show_aggregation_uuids shows the uuids of each message of the group.

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.

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.

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.

page_id
string

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

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.

group_by_time.show_aggregation_uuids
boolean

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

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.

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.

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

HuggingFaceModelService

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

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 (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 returns a specified 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. 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": {
    }
}

IdentityProviderService

UpdateIdentityProvider updates the identity providers.

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

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

ListIdentityProviders returns the list of 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. 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": {
    }
}

CreateIdentityProvider creates a 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. 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 per tenant and namespace.)

IdentityProviders are per tenant and namespace.

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 (v1IdentityProviderSpec)

Responses

Request samples

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

Response samples

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

GetIdentityProvider returns the 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. 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": {
    }
}

DeleteIdentityProvider deletes the 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. 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
{ }

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

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

ListInstallations returns the list of 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. 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": {
    }
}

CreateInstallation creates a installation. 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. 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 (Namespaces are per tenant.)

Namespaces are per tenant.

object (v1InstallationSpec)
object (v1ProcessingStatus)

Responses

Request samples

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

Response samples

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

GetInstallation returns an installation.

path Parameters
tenant_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": {
    },
  • "processing_status": {
    }
}

DeleteInstallation deletes an installation.

path Parameters
tenant_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
{ }

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

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 returns the invitations.

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

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

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 (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 returns the 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. 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": {
    }
}

DeleteInvitation deletes the 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. 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
{ }

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

License 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 returns the licenses.

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

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

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 (v1LicenseSpec)

Spec mostly follows the SPDX data format.

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
}

GetLicense returns the 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. 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
}

DeleteLicense deletes the 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. 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
{ }

LinterResultService

UpdateLinterResult updates the 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. 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

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

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. 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 per tenant and namespace.)

Linter results are per tenant and namespace.

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

GetLinterResult 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",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "context": {
    }
}

DeleteLinterResult deletes 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.

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

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

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. 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 per tenant and tenant information must be provided.)

Metrics are per tenant and tenant information must be provided.

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

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

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

MetricConfigurationService

ListMetrics return 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. 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

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

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

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

object.uuid
required
string

UUID is a universally unique identifier for a namespace resource.

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

UpdateRequest is a message used by the update API.

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

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

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

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

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

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

Notification defines the record that is created when an Notification policy is violated.

Responses

Request samples

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

Response samples

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

ListNotifications returns the 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. 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": {
    }
}

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

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

GetNotification returns the 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. 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": {
    }
}

DeleteNotification deletes the 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. 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
{ }

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. 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 (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 an 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. 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

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

CreateNotificationTarget creates an 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. 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 per tenant.)

Notification Targets 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 (v1NotificationTargetSpec)
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
}

GetNotificationTarget returns an 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. 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
}

DeleteNotificationTarget deletes an 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. 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
{ }

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)

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 (v1OnboardSpec)

Responses

Request samples

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

Response samples

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

OrganizationAllowedWorkflowsService

UpdateOrganizationAllowedWorkflows updates an organization allowed workflow 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. 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

OrganizationAllowedWorkflows represents the information of allowed workflow 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": {
    }
}

ListOrganizationAllowedWorkflows returns the organization allowed workflows.

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

CreateOrganizationAllowedWorkflows creates an organization aloowed 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. 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 per tenant.)

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

spec
object (v1OrganizationAllowedWorkflowsSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns 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. 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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationAllowedWorkflows deletes an organization allowed workflows.

path Parameters
tenant_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
{ }

OrganizationBlockListService

UpdateOrganizationBlockList updates a platform organization's blocked user list.

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

OrganizationBlockList represents the ingested information about a platform organization's blocked user list.

Responses

Request samples

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

Response samples

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

ListOrganizationBlockLists returns multiple platform organizations' blocked user lists.

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

CreateOrganizationBlockList creates a platform organization's blocked user list.

path Parameters
tenant_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 (OrganizationBlockList is per tenant.)

OrganizationBlockList is 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.

spec
object (v1OrganizationBlockListSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a platform organization's blocked user list.

path Parameters
tenant_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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationBlockList deletes a platform organization's blocked user list.

path Parameters
tenant_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
{ }

OrganizationCICDPermissionsService

UpdateOrganizationCICDPermissions updates a platform organization's CICD permissions 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. 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

OrganizationCICDPermissions capture permissions policy config 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 returns multiple platform organizations' CICD permissions 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. 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": {
    }
}

OrganizationCICDPermissions creates a platform organization's CICD permissions 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 (OrganizationCICDPermissions is per tenant.)

OrganizationCICDPermissions is 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.

spec
object (v1OrganizationCICDPermissionsSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a platform organization's CICD permissions 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. 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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationCICDPermissions deletes a platform organization's CICD permissions 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".

uuid
required
string

UUID is a universally unique identifier for a specific resource.

Responses

Response samples

Content type
application/json
{ }

OrganizationCustomPermissionListService

UpdateOrganizationCustomPermissionList updates a platform organization's custom fine grained permissions.

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

OrganizationCustomPermissionList represents the ingested information about a platform organization's custom fine grained permissions.

Responses

Request samples

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

Response samples

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

ListOrganizationCustomPermissionLists returns multiple platform organizations' custom fine grained permissions.

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

CreateOrganizationCustomPermissionList creates a platform organization's custom fine grained permissions.

path Parameters
tenant_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 (OrganizationCustomPermissionList is per tenant.)

OrganizationCustomPermissionList is 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.

spec
object (v1OrganizationCustomPermissionListSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a platform organization's custom fine grained permissions.

path Parameters
tenant_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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationCustomPermissionList deletes a platform organization's custom fine grained permissions.

path Parameters
tenant_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
{ }

OrganizationCustomRoleListService

UpdateOrganizationCustomRoleList updates a platform organization's custom roles.

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

OrganizationCustomRoleList represents the ingested 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 returns multiple platform organizations' custom roles.

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

CreateOrganizationCustomRoleList creates a platform organization's custom roles.

path Parameters
tenant_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 (OrganizationCustomRoleList is per tenant.)

OrganizationCustomRoleList is 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.

spec
object (v1OrganizationCustomRoleListSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a platform organization's custom roles.

path Parameters
tenant_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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationCustomRoleList deletes a platform organization's custom roles.

path Parameters
tenant_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
{ }

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

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

CreateOrganizationHook creates an organization hook. It should be noted that the creation of the resource will be an upsert if the given spec.external_id was 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (OrganizationHook are per tenant.)

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

object (v1OrganizationHookSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns 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. 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": {
    },
  • "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. 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
{ }

OrganizationInstallationListService

UpdateOrganizationInstallationList updates a platform organization's installation info.

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

OrganizationInstallationList represents the ingested information about a platform organization's installation info.

Responses

Request samples

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

Response samples

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

ListOrganizationInstallationLists returns multiple platform organizations' 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. 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": {
    }
}

CreateOrganizationInstallationList creates a platform organization's installation info.

path Parameters
tenant_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 (OrganizationInstallationList is per tenant.)

OrganizationInstallationList is 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.

spec
object (v1OrganizationInstallationListSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a platform organization's installation info.

path Parameters
tenant_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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationInstallationList deletes a platform organization's installation info.

path Parameters
tenant_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
{ }

OrganizationInvitationListService

UpdateOrganizationInvitationList updates a platform organization's invitations.

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

OrganizationInvitationList represents the ingested information about a platform organization's invitations.

Responses

Request samples

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

Response samples

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

ListOrganizationInvitationLists returns multiple platform organizations' invitations.

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

CreateOrganizationInvitationList creates a platform organization's invitations.

path Parameters
tenant_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 (OrganizationInvitationList is per tenant.)

OrganizationInvitationList is 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.

spec
object (v1OrganizationInvitationListSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a platform organization's invitations.

path Parameters
tenant_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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationInvitationList deletes a platform organization's invitations.

path Parameters
tenant_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
{ }

OrganizationMemberListService

UpdateOrganizationMemberList updates a platform organization's members.

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

OrganizationMemberList represents the ingested information about a platform organization's members.

Responses

Request samples

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

Response samples

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

ListOrganizationMemberLists returns multiple platform organizations' members.

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

CreateOrganizationMemberList creates a platform organization's members.

path Parameters
tenant_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 (OrganizationMemberList is per tenant.)

OrganizationMemberList is 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.

spec
object (v1OrganizationMemberListSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a platform organization's members.

path Parameters
tenant_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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationMemberList deletes a platform organization's members.

path Parameters
tenant_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
{ }

OrganizationOutsideCollaboratorListService

UpdateOrganizationOutsideCollaboratorList updates a platform organization's outside collaborators.

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

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

Responses

Request samples

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

Response samples

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

ListOrganizationOutsideCollaboratorLists returns multiple platform organizations' outside collaborators.

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

CreateOrganizationOutsideCollaboratorList creates a platform organization's outside collaborators.

path Parameters
tenant_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 (OrganizationOutsideCollaboratorList is per tenant.)

OrganizationOutsideCollaboratorList is 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.

spec
object (v1OrganizationOutsideCollaboratorListSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a platform organization's outside collaborators.

path Parameters
tenant_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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationOutsideCollaboratorList deletes a platform organization's outside collaborators.

path Parameters
tenant_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
{ }

OrganizationRunnerGroupConfigService

UpdateOrganizationRunnerGroupConfig updates a platform organization's runner group config.

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

OrganizationRunnerGroupConfig represents the ingested information about a platform organization's self-hosted runner group.

Responses

Request samples

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

Response samples

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

ListOrganizationRunnerGroupConfig returns multiple platform organizations' runner group configs.

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

CreateOrganizationRunnerGroupConfig creates a platform organization's runner group config.

path Parameters
tenant_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 (OrganizationRunnerGroupConfig is per tenant.)

OrganizationRunnerGroupConfig is 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.

spec
object (v1OrganizationRunnerGroupConfigSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a platform organization's runner group config.

path Parameters
tenant_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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationRunnerGroupConfig deletes a platform organization's runner group config.

path Parameters
tenant_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
{ }

OrganizationSecurityManagerListService

UpdateOrganizationSecurityManagerList updates a platform organization's security managers.

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

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

Responses

Request samples

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

Response samples

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

ListOrganizationSecurityManagerLists returns multiple platform organizations' security managers.

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

CreateOrganizationSecurityManagerList creates a platform organization's security managers.

path Parameters
tenant_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 (OrganizationSecurityManagerList is per tenant.)

OrganizationSecurityManagerList is 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.

spec
object (v1OrganizationSecurityManagerListSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a platform organization's security managers.

path Parameters
tenant_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": { },
  • "ingested_object": {
    }
}

DeleteOrganizationSecurityManagerList deletes a platform organization's security managers.

path Parameters
tenant_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
{ }

OrganizationWorkflowPermissionsService

UpdateOrganizationWorkflowPermissions updates an organization workflow permissions.

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

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 returns the organization workflow permissions.

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

CreateOrganizationWorkflowPermissions creates an organization workflow permissions 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 (OrganizationWorkflowPermissions are per tenant.)

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

spec
object (v1OrganizationWorkflowPermissionsSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns an organization workflow permissions 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".

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

DeleteOrganizationWorkflowPermissions deletes an organization workflow permissions.

path Parameters
tenant_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
{ }

OSSDependencyRequestService

CreateOSSDependencyRequest creates a request to create an oss dependency.

path Parameters
tenant_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 (SBOM are per tenant and tenant information must be provided.)

SBOM are per tenant and 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. 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

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 parent_uuid is 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 returns a list of 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. 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": {
    }
}

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

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

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

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

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

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 returns the list of 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. 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": {
    }
}

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

GetPackageManager returns the package manager from the given GetPackageManagerRequest.

path Parameters
tenant_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
}

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

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

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

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

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

GetPackageVersion returns a package version 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. 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": {
    }
}

DeletePackageVersion deletes a package version 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. 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
{ }

PackageVersionsMetadataService

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

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

PackageVersions 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 (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 returns a package version 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. 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": {
    }
}

DeletePackageVersionsMetadata deletes a package version 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. 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
{ }

PackageVersionMetadataQueryService

CreatePackageVersionMetadataQuery creates a package version metadata query.

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

When not giving the version, only version and release time of the package versions found will be returned. When giving the version, all attribute 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. 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)

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 (v1PackageVersionMetadataQuerySpec)

Responses

Request samples

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

Response samples

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

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

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 returns the platform-accounts.

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

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

Request Body schema: application/json
required
tenant_meta
object (PlatformAccounts are per tenant. See discussion at https://github.com/endorlabs/monorepo/issues/1816 Public accounts will be under a public tenant.)

PlatformAccounts are per tenant. See discussion at https://github.com/endorlabs/monorepo/issues/1816 Public accounts will be under a public 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 (v1PlatformAccountSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a platform account.

path Parameters
tenant_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": {
    },
  • "ingested_object": {
    }
}

DeletePlatformAccount deletes a platform account.

path Parameters
tenant_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
{ }

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

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

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

Request Body schema: application/json
required
tenant_meta
object (PlatformOrganizations are per tenant. See discussion at https://github.com/endorlabs/monorepo/issues/1816.)

PlatformOrganizations are per tenant. See discussion at https://github.com/endorlabs/monorepo/issues/1816.

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 (v1PlatformOrganizationSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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. 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": {
    },
  • "ingested_object": {
    }
}

DeletePlatformOrganization deletes 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. 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
{ }

PluginBinaryService

ListPluginBinaries will list all the available plugin binaries.

query 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")

page_token
integer <int32>

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

page_size
integer <int32>

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

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.

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.

traverse
boolean

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

sort.path
string

This represents the path used by the entry.

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.

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.

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.

group.show_aggregation_uuids
boolean

show_aggregation_uuids shows the uuids of each message of the group.

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.

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.

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.

page_id
string

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

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.

group_by_time.show_aggregation_uuids
boolean

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

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.

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.

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

CreatePluginBinary creates an entry for a plugin binary.

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.

object (v1PluginBinarySpec)

Responses

Request samples

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

Response samples

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

GetPluginBinary returns a plugin binary.

path Parameters
uuid
required
string

UUID is a universally unique identifier for a specific resource.

Responses

Response samples

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

DeletePluginBinary deletes a plugin binary.

path Parameters
uuid
required
string

UUID is a universally unique identifier for a specific resource.

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

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 returns the policies.

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

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

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 (v1PolicySpec)
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
}

GetPolicy returns the 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. 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
}

DeletePolicy deletes the 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. 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
{ }

PolicyTemplateService

UpdatePolicyTemplate updates the 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. 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

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 returns the policy templates.

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

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

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 (v1PolicyTemplateSpec)
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
}

GetPolicyTemplate returns the 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. 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
}

DeletePolicyTemplate deletes the 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. 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
{ }

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

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

Responses

Request samples

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

Response samples

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

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

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

PR comment configuartions 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 (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 returns the 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. 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": {
    }
}

DeletePRCommentConfig deletes the 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. 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
{ }

ProjectService

UpdateProject updates a specified project.

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

Project represents a configuration for ingesting a type of repository, such as GitHub. A project will provide the targets for ingesting data.

Responses

Request samples

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

Response samples

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

ListProjects returns the list of 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. 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": {
    }
}

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

Request Body schema: application/json
required
tenant_meta
object (Projects are per tenant.)

Projects 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 (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 returns the project from the given GetProjectRequest.

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

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

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

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

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 returns a list of 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. 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": {
    }
}

CreateRepository creates a source control repository. 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. 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 per tenant. Public repositories will be created as repositories under a public tenant.)

Repositories are per tenant. Public repositories will be created as repositories under a public 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 (v1RepositorySpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a specified source control 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. 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": {
    },
  • "ingested_object": {
    }
}

DeleteRepository deletes a specified source control 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. 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
{ }

RepositoryBranchProtectionService

UpdateRepositoryBranchProtection updates a repostiory branch protection.

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

RepositoryBranchProtection represents branch protection info 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 returns the repository branch protections.

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

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

Request Body schema: application/json
required
tenant_meta
object (RepositoryBranchProtection are per tenant.)

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

object (v1RepositoryBranchProtectionSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a respository 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. 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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryBranchProtection deletes 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. 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
{ }

RepositoryCheckRunService

UpdateRepositoryCheckRun updates a repository CheckRun.

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

RepositoryCheckRun represents the ingested 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 returns the repository check runs.

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

CreateRepositoryCheckRun creates a repository check run. It should be noted that the creation of the resource will be an upsert if the given spec.commit_sha and spec.platform_source 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (RepositoryCheckRun are per tenant. Public repository check runs will be formed under a public tenant.)

RepositoryCheckRun are per tenant. Public repository check runs will be formed under a public 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 (v1RepositoryCheckRunSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a repository check 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. 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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryCheckRun deletes a repository check 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. 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
{ }

RepositoryCodeownersFileService

UpdateRepositoryCodeownersFile updates a repository's codeowners file.

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

RepositoryCodeownersFile represents the ingested information about a repository's codeowners file. Note that this will 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 returns the repository's codeowners file info.

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

CreateRepositoryCodeownersFile creates repository codeowners file info.

path Parameters
tenant_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 (RepositoryCodeownersFile are per tenant.)

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

spec
object (v1RepositoryCodeownersFileSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a repository's codeowners file info.

path Parameters
tenant_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": { },
  • "ingested_object": {
    }
}

DeleteRepositoryCodeownersFile deletes a repository's codeowners file info.

path Parameters
tenant_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
{ }

RepositoryCollaboratorsService

UpdateRepositoryCollaborators updates a repository collaborator.

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

RepositoryCollaborators represents 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 returns the repository collaborators.

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

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

Request Body schema: application/json
required
tenant_meta
object

TenantMeta is the base of any resource that is on per-tenant basis.

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 (v1RepositoryCollaboratorsSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns 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. 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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryCollaborators deletes 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. 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
{ }

RepositoryCommitService

UpdateRepositoryCommit updates a repository commit.

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

RepositoryCommit 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 returns the repository commits.

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

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

Request Body schema: application/json
required
tenant_meta
object (RepositoryCommits are per tenant. Public repository commits will be formed under a public tenant.)

RepositoryCommits are per tenant. Public repository commits will be formed under a public 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 (v1RepositoryCommitSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns 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. 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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryCommit deletes 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. 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
{ }

RepositoryDeploymentEnvConfigService

UpdateRepositoryDeploymentEnvConfig updates a repository's deployment config.

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

RepositoryDeploymentEnvConfig represents 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 returns the repository's deployment config info.

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

CreateRepositoryDeploymentEnvConfig creates repository's deployment config info.

path Parameters
tenant_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 (RepositoryDeploymentEnvConfig are per tenant.)

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

spec
object (v1RepositoryDeploymentEnvConfigSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a repository's deployment config info.

path Parameters
tenant_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": { },
  • "ingested_object": {
    }
}

DeleteRepositoryDeploymentEnvConfig deletes a repository's deployment config info.

path Parameters
tenant_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
{ }

RepositoryHookService

UpdateRepositoryHook updates a repository 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. 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

RepositoryHook represents the information of 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 returns the repository 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. 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": {
    }
}

CreateRepositoryHook creates a repository Hook. It should be noted that the creation of the resource will be an upsert if the given spec.external_id 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (RepositoryHooks are per tenant. Public repository issues will be formed under a public tenant.)

RepositoryHooks are per tenant. Public repository issues will be formed under a public 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 (v1RepositoryHookSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a repository 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. 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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryHook deletes a repository 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. 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
{ }

RepositoryIssueService

UpdateRepositoryIssue updates a repository issue.

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

RepositoryIssue represents 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 returns the repository issues.

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

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

Request Body schema: application/json
required
tenant_meta
object (RepositoryIssues are per tenant. Public repository issues will be formed under a public tenant.)

RepositoryIssues are per tenant. Public repository issues will be formed under a public 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 (v1RepositoryIssueSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a repository issue.

path Parameters
tenant_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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryIssue deletes a repository issue.

path Parameters
tenant_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
{ }

RepositoryPullRequestService

UpdateRepositoryPullRequest updates a repository pull request.

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

RepositoryPullRequest represents 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 returns the repository pull requesta.

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

CreateRepositoryPullRequest creates a repository pull request. 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (RepositoryPullRequests are per tenant. Public Git repositories will be formed under a public tenant.)

RepositoryPullRequests are per tenant. Public Git repositories will be formed under a public 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 (v1RepositoryPullRequestSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a repository pull 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. 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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryPullRequest deletes a repository pull 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. 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
{ }

RepositoryReleaseService

UpdateRepositoryRelease updates a repository release.

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

RepositoryRelease represents 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 returns the repository releases.

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

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

Request Body schema: application/json
required
tenant_meta
object (RepositoryReleases are per tenant. Public repository releases will be formed under a public tenant.)

RepositoryReleases are per tenant. Public repository releases will be formed under a public 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 (v1RepositoryReleaseSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a repository release.

path Parameters
tenant_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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryRelease deletes a repository release.

path Parameters
tenant_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
{ }

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

Responses

Request samples

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

Response samples

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

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

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. 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 per tenant and tenant information must be provided.)

Metrics are per tenant and tenant information must be provided.

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 (v1RepositoryScanMetadataSpec)

Spec of RepositoryScanMetadata.

Responses

Request samples

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

Response samples

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

GetRepository returns the scan meta data 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. 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": {
    }
}

DeleteRepositoryScanMetadata deletes 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. 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
{ }

RepositoryStatusService

UpdateRepositoryStatus updates a repository status.

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

RepositoryStatus represents 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 returns the repository statuses.

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

CreateRepositoryStatus creates a repository status. It should be noted that the creation of the resource will be an upsert if the given spec.commit_sha and spec.platform_source 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (RepositoryStatus are per tenant. Public repository statuses will be formed under a public tenant.)

RepositoryStatus are per tenant. Public repository statuses will be formed under a public 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 (v1RepositoryStatusSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a repository status.

path Parameters
tenant_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": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryStatus deletes a repository status.

path Parameters
tenant_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
{ }

RepositoryTagProtectionService

UpdateRepositoryTagProtection updates a repository's tag protection info.

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

RepositoryTagProtection represents 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 returns the repository's tag protection info.

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

CreateRepositoryTagProtection creates repository tag protection info.

path Parameters
tenant_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 (RepositoryTagProtection are per tenant.)

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

spec
object (v1RepositoryTagProtectionSpec)
required
object (v1IngestedObject)

IngestedObject is the raw ingested object from a 3rd party source, together 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 returns a repository's tag protection info.

path Parameters
tenant_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": { },
  • "ingested_object": {
    }
}

DeleteRepositoryTagProtection deletes a repository's tag protection info.

path Parameters
tenant_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
{ }

RepositoryVersionService

UpdateRepositoryVersion updates a specified repository 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. 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

RepositoryVersion represents 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 returns a list of 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. 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": {
    }
}

CreateRepositoryVersion creates a repository version or updates one 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (RepositoryVersions are per tenant.)

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

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

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 returns 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. 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": {
    },
  • "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. 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
{ }

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

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 returns the list of saved-queries.

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

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. 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 (v1SavedQuerySpec)
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
}

GetSavedQuery returns the 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. 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
}

DeleteSavedQuery deletes the 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. 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
{ }

EvaluateSavedQuery evaluates the query and 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. 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
}

SBOMExportService

SBOMExportService_CreateSBOMExport

path Parameters
tenant_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 (SBOM are per tenant and tenant information must be provided.)

SBOM are per tenant and tenant information must be provided.

object (v1ExportedSBOMSpec)

Spec is 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. 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

ImportedSBOM represents a 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 returns a list of 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. 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": {
    }
}

we will import 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. 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 (SBOM are per tenant and tenant information must be provided.)

SBOM are per tenant and tenant information must be provided.

object (v1ImportedSBOMSpec)

Spec is the internal specification of the object.

object (v1ProcessingStatus)
required
object (v1Context)

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 returns 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. 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": {
    },
  • "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. 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
{ }

SBOMOrganizationalContactService

UpdateSBOMOrganizationalContact updates a specified SBOMOrganizationalContact.

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

Responses

Request samples

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

Response samples

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

ListSBOMOrganizationalContacts returns a list of all SBOMOrganizationalContacts.

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

CreateSBOMOrganizationalContact creates a SBOMOrganizationalContact.

path Parameters
tenant_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 (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 (SBOMOrganizationalContact are per tenant and tenant information must be provided.)

SBOMOrganizationalContact are per tenant and tenant information must be provided.

required
object (v1SBOMOrganizationalContactSpec)

Spec is 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 returns a SBOMOrganizationalContact 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",
  • "meta": {
    },
  • "tenant_meta": {
    },
  • "spec": {
    }
}

DeleteSBOMOrganizationalContact deletes a SBOMOrganizationalContact 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
{ }

ScanResultService

UpdateScanResult updates 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. 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

ScanResult represents the result of a 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 returns a list of all scan results 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": {
    }
}

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

Request Body schema: application/json
required
tenant_meta
object (ScanResult are per tenant.)

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

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

GetScanResult returns a scan 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. 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": {
    }
}

DeleteScanResult deletes a scan 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. 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
{ }

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

ScopePolicy represents a scope policy in the system. Scope policies allows users to select for a set of projects (or namespaces) as defined by the project selectors, the set of policies that must 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 returns the scope-policies.

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

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

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

ScopePolicies can be issued per namespace.

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 (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 returns the 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. 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": {
    }
}

DeleteScopePolicy deletes the 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. 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
{ }

SecretRuleService

UpdateSecretRule updates the 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. 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

Responses

Request samples

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

Response samples

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

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

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. 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 per tenant and namespace.)

Rules are per tenant and namespace.

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 (v1SecretRuleSpec)

Spec is the 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 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",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

DeleteSecretRule deletes 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.

Responses

Response samples

Content type
application/json
{ }

SemgrepRuleService

UpdateSemgrepRule updates the 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. 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

Responses

Request samples

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

Response samples

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

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

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. 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 per tenant and namespace.)

Rules are per tenant and namespace.

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 (v1SemgrepRuleSpec)
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
}

GetSemgrepRule 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",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

DeleteSemgrepRule deletes 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.

Responses

Response samples

Content type
application/json
{ }

ServiceRequestService

UpdateServiceRequest updates a specified ServiceRequest.

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

ServiceRequest defines a message for raising requests to perform resource updates needed by the Endor Sales/CS team.

Responses

Request samples

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

Response samples

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

ListServiceRequests returns a list of all ServiceRequest 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": {
    }
}

CreateServiceRequest creates an ServiceRequest.

path Parameters
tenant_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 (ServiceRequests are raised for a specific internal tenant.)

ServiceRequests are raised for a 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 (v1ServiceRequestSpec)

Responses

Request samples

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

Response samples

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

GetServiceRequest returns an ServiceRequest 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": {
    }
}

DeleteServiceRequest deletes an ServiceRequest 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
{ }

QuerySimilarPackagesService

CreateQuerySimilarPackages 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. 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 (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": [
    ]
}

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

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

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. 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 per tenant and namespace.)

SystemConfig is per tenant and namespace.

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 (v1SystemConfigSpec)
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
}

GetSystemConfig returns the system 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. 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
}

DeleteSystemConfig deletes the system 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. 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
{ }

TableRowGroupService

UpdateTableRowGroup updates the TableRowGroups.

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

TableRowGroup in the main object. Contains an ordered list of TableRows as well as a 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 returns the list of TableRowGroups.

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

CreateTableRowGroup creates a TableRowGroup.

path Parameters
tenant_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 (TableRowGroups are per tenant and namespace.)

TableRowGroups are per tenant and namespace.

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

GetTableRowGroup returns the TableRowGroup.

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

DeleteTableRowGroup deletes the TableRowGroup.

path Parameters
tenant_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
{ }

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. 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 (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 returns a list of all tenants.

query 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")

page_token
integer <int32>

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

page_size
integer <int32>

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

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.

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.

traverse
boolean

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

sort.path
string

This represents the path used by the entry.

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.

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.

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.

group.show_aggregation_uuids
boolean

show_aggregation_uuids shows the uuids of each message of the group.

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.

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.

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.

page_id
string

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

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.

group_by_time.show_aggregation_uuids
boolean

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

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.

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.

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

CreateTenant creates a tenant.

Request Body schema: application/json
required

Tenant represents a tenant in the system.

Mostly includes configuration parameters that are tenant wise.

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 (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

UpdateTenantRequest is used by UpdateTenant.

object (v1UpdateRequest)

UpdateRequest is a message used by the update API.

object (v1Tenant)

Tenant represents a tenant in the system.

Mostly includes configuration parameters that are tenant wise.

Responses

Request samples

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

Response samples

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

GetTenant returns a tenant specified by its UUID.

path Parameters
uuid
required
string

UUID is a universally unique identifier for a specific 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

UUID is a universally unique identifier for a specific resource.

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

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 returns a list of 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. 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": {
    }
}

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. 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 per tenant and namespace.)

Rules are per tenant and namespace.

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 (v1ToolPatternSpec)

Spec is the internal specification of the object.

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
}

GetToolPattern returns 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. 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
}

DeleteToolPattern deletes 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. 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
{ }

UITelemetryService

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

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 (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 returns all users.

query 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")

page_token
integer <int32>

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

page_size
integer <int32>

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

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.

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.

traverse
boolean

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

sort.path
string

This represents the path used by the entry.

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.

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.

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.

group.show_aggregation_uuids
boolean

show_aggregation_uuids shows the uuids of each message of the group.

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.

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.

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.

page_id
string

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

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.

group_by_time.show_aggregation_uuids
boolean

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

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.

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.

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

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)

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 (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

UpdateUserRequest is used by UpdateUser.

object (v1UpdateRequest)

UpdateRequest is a message used by the update API.

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 returns a user specified by their UUID

path Parameters
uuid
required
string

UUID is a universally unique identifier for a specific 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 UserTelemetry.

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

UserTelemetry represents user-specific events observered from the Endor UI.

Responses

Request samples

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

Response samples

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

ListUserTelemetries returns a list of UserTelemetry 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. 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": {
    }
}

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

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 (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 returns a specified UserTelemetry.

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

DeleteUserTelemetry deletes a specified UserTelemetry.

path Parameters
tenant_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
{ }

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

VersionUpgrade contains all information about a possible version upgrade of a dependency package. This upgrade object can be under a Project or a PackageVersion object.

Responses

Request samples

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

Response samples

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

ListVersionUpgrades returns the version upgrades.

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

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

Request Body schema: application/json
required
tenant_meta
object (TenantMeta information.)

TenantMeta information.

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

GetVersionUpgrade returns a version upgrade.

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

DeleteVersionUpgrade deletes a version upgrade.

path Parameters
tenant_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
{ }

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

Request Body schema: application/json
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 (SBOM are per tenant and tenant information must be provided.)

SBOM are per tenant and tenant information must be provided.

object (v1ExportedVEXSpec)

Spec is 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 returns a list of all vulnerabilities.

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

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

Request Body schema: application/json
required
tenant_meta
object

TenantMeta is the base of any resource that is on per-tenant basis.

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 (v1VulnSpec)

Responses

Request samples

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

Response samples

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

GetVuln returns the vulnerability.

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

QueryVulnerabilityService

CreateQuery queries vulnerabilities for specific values. Used this method for quering 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. Example: The child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
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 is the base of any resource that is on per-tenant basis.

object (v1QueryVulnerabilitySpec)
object (QueryVulnerabilityResponseMap)
object (v1ListVulnerabilitiesResponse)

ListVulnerabilitiesResponse is used by ListVulnerabilities.

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