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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (The tenant metadata restricts access to a specific tenant.)

The tenant metadata restricts access to a specific tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1AIQuerySpec)

Responses

Request samples

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

Response samples

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

AnalyticsExecutionRecordService

UpdateAnalyticsExecutionRecord updates the analytic execution record objects.

path Parameters
object.tenant_meta.namespace
required
string

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

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

Message used for all update requests.

object

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. 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)

Common fields for all Endor Labs resources.

required
object (v1AnalyticsExecutionRecordSpec)
required
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

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

Response samples

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

GetAnalyticsExecutionRecord 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

APIKeyValidatorService

CreateAPIKeyReq validates an API key.

Request Body schema: application/json
required

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (APIKeys are namespaced objects.)

APIKeys are namespaced objects.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1APIKeySpec)
propagate
boolean

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteAPIKey deletes 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. 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)

Common fields for all Endor Labs resources.

required
object (v1ApproveServiceRequestSpec)

Responses

Request samples

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

Response samples

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

GetApproveServiceRequest 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteApproveServiceRequest deletes an 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (The Tenant Metadata restrict access to a specific tenant.)

The Tenant Metadata restrict access to a specific tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1ArtifactOperationSpec)
object (v1ArtifactOperationResponse)

Responses

Request samples

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

Response samples

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

ArtifactSignatureService

UpdateArtifactSignature updates the 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Common fields for all Endor Labs resources.

tenant_meta
object (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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

AssuredPackageVersionService

UpdateAssuredPackageVersion updates a specified assured package 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

AssuredPackageVersion is a package version that have been built, tested, and patched by Endor Labs. It includes details on how the version was built, tested, and patched, as well as information on the vulnerabilities that have been addressed through the patches.

Responses

Request samples

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

Response samples

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

ListAssuredPackageVersions 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. 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)

Common fields for all Endor Labs resources.

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

Contexts keep objects from different scans separated.

Responses

Request samples

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

Response samples

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

GetAssuredPackageVersion 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteAssuredPackageVersion deletes 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Namespace of the message that is accessed.)

Namespace of the message that is accessed.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1AuditLogSpec)

Responses

Request samples

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

Response samples

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

GetAuditLog 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteAuditLog deletes 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Namespace of the message that is accessed.)

Namespace of the message that is accessed.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1AuthenticationLogSpec)

Responses

Request samples

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

Response samples

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

GetAuthenticationLog 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteAuthenticationLog deletes the 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. 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)

Common fields for all Endor Labs resources.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteAuthorizationPolicy deletes an authorization policy specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

CallGraphData represents a 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": {
    },
  • "storage_url": "string"
}

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Common fields for all Endor Labs resources.

tenant_meta
object (Namespaces are 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)

Contexts keep objects from different scans separated.

Responses

Request samples

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

Response samples

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

GetCallGraphData 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteCallGraphData deletes a call graph for the given package version that is captured in the parent_uuid.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. 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)

Common fields for all Endor Labs resources.

object (v1CIRunSpec)
required
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

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

Response samples

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

GetCIRun 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteCIRun deletes a ci run specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

ChangeImpactService

CreateVersionDiff creates a version diff. 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, e.g. 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)

Common fields for all Endor Labs resources.

object (v1VersionDiffSpec)

Responses

Request samples

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

Response samples

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

ListVersionDiffs returns the version diffs.

path Parameters
tenant_meta.namespace
required
string

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

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

Responses

Response samples

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

GetVersionDiff returns a version diff.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteVersionDiff deletes a version diff.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Namespace of the message that is accessed.)

Namespace of the message that is accessed.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1ClientLogSpec)

Responses

Request samples

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

Response samples

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Common fields for all Endor Labs resources.

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

path Parameters
custom_template_type
required
string

template_type is the type of the template.

Responses

Response samples

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

DashboardConfigService

UpdateDashboardConfig updates a specified dashboard configuration.

path Parameters
object.tenant_meta.namespace
required
string

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

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

Message used for all update requests.

object

DashboardConfig represents the dashboard configuration for a namespace.

Responses

Request samples

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

Response samples

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

ListDashboardConfig 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. 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)

Common fields for all Endor Labs resources.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteDashboardConfig deletes a specified dashboard configuration.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

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

Responses

Request samples

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

Response samples

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

ListDemos lists all namespaces in a tenant.

path Parameters
tenant_meta.namespace
required
string

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

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Demos are per tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1DemoSpec)

Responses

Request samples

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

Response samples

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

GetDemo returns a provided namespace based on its UUID.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteDemo deletes a provided namespace based on its UUID.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

DependencyMetadataService

UpdateDependencyMetadata

Update a specified DependencyMetadata 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

Information about the relationship between a root package version (importer) and one of its dependencies. DependencyMetadata objects are children of the root PackageVersion object and belong to the same project and namespace as the root PackageVersion object. They are connected to the importer project via spec.importer_data.project_uuid, and to the dependency project via spec.dependency_data.project_uuid.

Responses

Request samples

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

Response samples

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

ListDependencyMetadata

List DependencyMetadata objects based on the specified list parameters.

path Parameters
tenant_meta.namespace
required
string

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

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

Responses

Response samples

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

CreateDependencyMetadata

Create a DependencyMetadata 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Information about the tenant that the root package (importer) belongs to.)

Information about the tenant that the root package (importer) belongs to.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1DependencyMetadataSpec)

DependencyMetadata specific data.

required
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

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

Response samples

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

GetDependencyMetadata

Return a specified DependencyMetadata 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteDependencyMetadata

Delete a specified DependencyMetadata 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

BatchDependencyMetadataService

CreateBatchDependencyMetadata

Create multiple DependencyMetadata objects through a batch API call.

path Parameters
tenant_meta.namespace
required
string

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

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

Common fields for all Endor Labs resources.

tenant_meta
object (Information about the tenant that the root package (importer) belongs to.)

Information about the tenant that the root package (importer) belongs to.

object (v1BatchDependencyMetadataSpec)

BatchDependencyMetadata specific data.

Responses

Request samples

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

Response samples

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

EndorLicenseService

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. 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)

Common fields for all Endor Labs resources.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

EvaluationMethod represents an evaluation method.

Responses

Request samples

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

Response samples

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

ListEvaluationMethods 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. 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)

Common fields for all Endor Labs resources.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteEvaluationMethod deletes the evaluation method.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

EvaluationParameter represents an evaluation parameter. The parameters are applied to the method before 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. 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)

Common fields for all Endor Labs resources.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteEvaluationParameter deletes the evaluation parameter.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

FindingService

UpdateFinding

Update a specified finding.

path Parameters
object.tenant_meta.namespace
required
string

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

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

Message used for all update requests.

object

A finding contains details of a problem that needs to be fixed. The finding applies to the parent object, which can be one of: Repository, RepositoryVersion, or PackageVersion. Finding objects are connected to the project via spec.project_uuid.

Responses

Request samples

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

Response samples

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

ListFindings

List findings based on the specified list parameters.

path Parameters
tenant_meta.namespace
required
string

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

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

Responses

Response samples

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

CreateFinding

Create a finding.

path Parameters
tenant_meta.namespace
required
string

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

Request Body schema: application/json
required
tenant_meta
object (Information about the tenant and namespace that the finding belongs to.)

Information about the tenant and namespace that the finding belongs to.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1FindingSpec)

Finding specific data.

required
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

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

Response samples

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

GetFinding

Return a specified 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteFinding

Delete a specified 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

FunctionGraphDataService

UpdateFunctionGraphData updates the metadata of a callgraph.

path Parameters
object.tenant_meta.namespace
required
string

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

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

Message used for all update requests.

object

FunctionGraphData represents a 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": {
    },
  • "storage_url": "string"
}

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Common fields for all Endor Labs resources.

tenant_meta
object (Namespaces are 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)

Contexts keep objects from different scans separated.

Responses

Request samples

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

Response samples

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

GetFunctionGraphData 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteFunctionGraphData deletes a function graph for the given package version that is captured in the parent_uuid.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

GithubTokenService

ListGithubTokens lists all available GitHub tokens.

query Parameters
filter
string

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

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

page_token
integer <int32>

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

page_size
integer <int32>

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

action
string

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

mask
string

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

traverse
boolean

Get data from any child namespaces as well.

sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

count
boolean

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

group.aggregation_paths
string

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

group.show_aggregation_uuids
boolean

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

group.unique_count_paths
string

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

group.unique_value_paths
string

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

ci_run_uuid
string

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

page_id
string

Page ID to retrieve.

group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

group_by_time.group_size
integer <int32>

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

group_by_time.start_time
string <date-time>

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

group_by_time.end_time
string <date-time>

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

Responses

Response samples

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

HuggingFaceModelService

ListHuggingFaceModels returns a list of HuggingFace models in a given namespace.

path Parameters
tenant_meta.namespace
required
string

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

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

Responses

Response samples

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

CreateHuggingFaceModel creates a HuggingFace model.

path Parameters
tenant_meta.namespace
required
string

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

Request Body schema: application/json
required
tenant_meta
object (Models scanned per namespace.)

Models scanned per namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1HuggingFaceModelSpec)

Responses

Request samples

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

Response samples

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

GetHuggingFaceModel 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteHuggingFaceModel deletes a specified HuggingFace model.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. 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)

Common fields for all Endor Labs resources.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

Installation represents 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Common fields for all Endor Labs resources.

tenant_meta
object (Namespaces are 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

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

Responses

Request samples

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

Response samples

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

ListInvitations 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Invitations can be issued per namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1InvitationSpec)

Responses

Request samples

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

Response samples

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

GetInvitation 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteInvitation deletes the invitation.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Licenses live in the system namespace.)

Licenses live in the system namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1LicenseSpec)

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteLicense deletes the license.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

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

Responses

Request samples

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

Response samples

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

ListLinterResults 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. 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)

Common fields for all Endor Labs resources.

required
object (v1LinterResultSpec)
required
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

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

Response samples

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

GetLinterResult 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteLinterResult deletes the 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

This contains the definition all metrics.

Responses

Request samples

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

Response samples

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

ListMetrics 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. 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)

Common fields for all Endor Labs resources.

required
object (v1MetricSpec)
required
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

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

Response samples

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

GetMetric 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteMetric deletes a metric specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

parent_kind
required
string

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

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

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

Responses

Request samples

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

Response samples

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

UpdateNamespace updates a provided namespace based on its UUID.

path Parameters
object.tenant_meta.namespace
required
string

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

Message used for all update requests.

object

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

Responses

Request samples

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

Response samples

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

ListNamespaces lists all namespaces in a tenant.

path Parameters
tenant_meta.namespace
required
string

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

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. 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)

Common fields for all Endor Labs resources.

object (v1NamespaceSpec)

Responses

Request samples

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

Response samples

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

GetNamespace 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteNamespace deletes a 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

The record created when there is a policy violation.

Responses

Request samples

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

Response samples

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

ListNotifications

List all notifications.

path Parameters
tenant_meta.namespace
required
string

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

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Notifications are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1NotificationSpec)
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

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

Response samples

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

GetNotification

Fetches the notification identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteNotification

Deletes the notification specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (The tenant metadata restrict access to a specific tenant.)

The tenant metadata restrict access to a specific tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1NotificationActionSpec)
object (v1NotificationActionResponse)

Responses

Request samples

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

Response samples

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

NotificationTargetService

UpdateNotificationTarget

Updates a notification target.

path Parameters
object.tenant_meta.namespace
required
string

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

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

Message used for all update requests.

object

Indicates actions taken when a corresponding notification is raised.

Responses

Request samples

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

Response samples

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

ListNotificationTargets

Lists all notification targets.

path Parameters
tenant_meta.namespace
required
string

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

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

Responses

Response samples

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

CreateNotificationTarget

Creates a notification target.

path Parameters
tenant_meta.namespace
required
string

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

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

Notification Targets are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1NotificationTargetSpec)
propagate
boolean

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

Responses

Request samples

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

Response samples

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

GetNotificationTarget

Fetches the notification target identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteNotificationTarget

Deletes the notification target specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

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

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

OnboardService

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

Request Body schema: application/json
required

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

object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1OnboardSpec)

Responses

Request samples

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

Response samples

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

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. 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)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationAllowedWorkflowsSpec)
required
object (v1IngestedObject)

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

Responses

Request samples

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

Response samples

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

GetOrganizationAllowedWorkflows 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteOrganizationAllowedWorkflows deletes an 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

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

list_parameters.mask
string

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

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

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

Sort order. Default: ASC.

list_parameters.count
boolean

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

list_parameters.group.aggregation_paths
string

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

list_parameters.group.show_aggregation_uuids
boolean

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

list_parameters.group.unique_count_paths
string

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

list_parameters.group.unique_value_paths
string

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

list_parameters.ci_run_uuid
string

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

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

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

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

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

list_parameters.group_by_time.start_time
string <date-time>

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

list_parameters.group_by_time.end_time
string <date-time>

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

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, e.g. 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)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationBlockListSpec)
required
object (v1IngestedObject)

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

Responses

Request samples

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

Response samples

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

GetOrganizationBlockList 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

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

Responses

Response samples

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

DeleteOrganizationBlockList deletes 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

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

Message used for all update requests.

object

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

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

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

list_parameters.page_token
integer <int32>

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

list_parameters.page_size
integer <int32>

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

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationCICDPermissionsSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

GetOrganizationCICDPermissions 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

DeleteOrganizationCICDPermissions deletes 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationCustomPermissionListSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

GetOrganizationCustomPermissionList 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

DeleteOrganizationCustomPermissionList deletes 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

OrganizationCustomRoleList represents the 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationCustomRoleListSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

GetOrganizationCustomRoleList 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

DeleteOrganizationCustomRoleList deletes 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

OrganizationHook represents the information of hooks created for an organization.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

ListOrganizationHooks 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

object (v1OrganizationHookSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

GetOrganizationHook 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

DeleteOrganizationHook deletes an organization hook.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

OrganizationInstallationList represents the ingested information about 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationInstallationListSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

GetOrganizationInstallationList 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

DeleteOrganizationInstallationList deletes 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

OrganizationInvitationList represents the ingested information about 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationInvitationListSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

GetOrganizationInvitationList 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

DeleteOrganizationInvitationList deletes 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

OrganizationMemberList represents the ingested information about 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationMemberListSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

GetOrganizationMemberList 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

DeleteOrganizationMemberList deletes 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

OrganizationOutsideCollaboratorList represents the ingested information about 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationOutsideCollaboratorListSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

GetOrganizationOutsideCollaboratorList 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

DeleteOrganizationOutsideCollaboratorList deletes 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

OrganizationRunnerGroupConfig represents the ingested information about a 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationRunnerGroupConfigSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

GetOrganizationRunnerGroupConfig 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

DeleteOrganizationRunnerGroupConfig deletes 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

OrganizationSecurityManagerList represents the ingested information about 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationSecurityManagerListSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

GetOrganizationSecurityManagerList 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

DeleteOrganizationSecurityManagerList deletes 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

OrganizationWorkflowPermissions represents the information of workflow permissions for an organization.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

ListOrganizationWorkflowPermissions 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

spec
object (v1OrganizationWorkflowPermissionsSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

GetOrganizationWorkflowPermissions 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

DeleteOrganizationWorkflowPermissions deletes 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
required
object (v1Meta)

Common fields for all Endor Labs resources.

tenant_meta
object (SBOM are 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

Package represents a package of a project.

For Golang: Every golang package of a repository will be an Package. For instance github.com/yarpc/yarpc-go/pkg/encoding is a package of the project github.com/yarpc/yarpc-go.

For Java: Every artifact of a java repository will be a Package. For instance github.com/apache/logging-log4j2/log4j-api is a package of the project github.com/apache/logging-log4j2.

The 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

object (v1PackageSpec)

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

GetPackage 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

DeletePackage deletes a package specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

PackageManager holds the data for the various package managers of the enterprise. Mainly locations and access credentials when needed to resolve/scan packages from private package managers. An enterprise can create one or more package managers in a namespace. All the package managers of the given namespace will be taken into account when resolving.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

ListPackageManagers 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

DeletePackageManager deletes a package manager specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

PackageVersion represents a version of a package.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "processing_status": {
    },
  • "context": {
    }
}

ListPackageVersions 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

required
object (v1PackageVersionSpec)
object (v1ProcessingStatus)
required
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "processing_status": {
    },
  • "context": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "processing_status": {
    },
  • "context": {
    }
}

GetPackageVersion 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "processing_status": {
    },
  • "context": {
    }
}

DeletePackageVersion deletes a package version 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

required
object (v1PackageVersionMetadataSpec)

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

GetPackageVersionsMetadata 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

DeletePackageVersionsMetadata deletes a package version metadata 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Queries are supported only in the open source ecosystem.)

Queries are supported only in the open source ecosystem.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1PackageVersionMetadataQuerySpec)

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

PackageVersionSourceMetadataService

ListPackageVersionSourceMetadata returns all the package version source metadata in a given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreatePackageVersionSourceMetadata creates a package version source metadata.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (PackageVersionSourceMetadata are per tenant.)

PackageVersionSourceMetadata are per tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1PackageVersionSourceMetadataSpec)

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

GetPackageVersionSourceMetadata returns a package version source metadata of a specified UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

DeletePackageVersionSourceMetadata deletes a package version source metadata of a specified UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

PlatformAccountService

UpdatePlatformAccount updates a platform account.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

PlatformAccount represents an account of a user to third party site like Github/Gitlab or some package platform.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

ListPlatformAccounts 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

object (v1PlatformAccountSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

GetPlatformAccount 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

DeletePlatformAccount deletes a platform account.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

PlatformOrganization represents an organization on a third party site like Github/Gitlab or some package platform.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

ListPlatformOrganizations 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

object (v1PlatformOrganizationSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

GetPlatformOrganization returns a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

DeletePlatformOrganization deletes a platform organization.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

PluginBinaryService

ListPluginBinaries will list all the available plugin binaries.

query Parameters
filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

action
string

Action to be executed with a request. Not supported for all endpoints.

mask
string

List of fields to return (all fields are returned by default).

traverse
boolean

Get data from any child namespaces as well.

sort.path
string

Field to sort objects by, e.g. meta.name.

sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

ci_run_uuid
string

Only return objects from PR scans that match this context id.

page_id
string

Page ID to retrieve.

group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreatePluginBinary creates an entry for a plugin binary.

Request Body schema: application/json
required
required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1PluginBinarySpec)

Responses

Request samples

Content type
application/json
{
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "meta": {
    },
  • "spec": {
    }
}

GetPluginBinary returns a plugin binary.

path Parameters
uuid
required
string

The UUID of the requested resource.

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "meta": {
    },
  • "spec": {
    }
}

DeletePluginBinary deletes a plugin binary.

path Parameters
uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

PolicyService

UpdatePolicy updates the policy.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

Policy represents a policy in the system.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

ListPolicies 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Policies can be issued per namespace.)

Policies can be issued per namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1PolicySpec)
propagate
boolean

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

DeletePolicy deletes the policy.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

PolicyTemplate represents a policy system in the system. Policy templates can be used to create policies from these templates.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

ListPolicyTemplates 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (PolicyTemplates can be issued per namespace.)

PolicyTemplates can be issued per namespace.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1PolicyTemplateSpec)
propagate
boolean

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

DeletePolicyTemplate deletes the policy template.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (The Tenant Metadata restrict access to a specific tenant.)

The Tenant Metadata restrict access to a specific tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1PolicyValidationSpec)

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

PRCommentConfigService

UpdatePRCommentConfig updates the the PR comment configuration.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

ListPRCommentConfigs 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

required
object (v1PRCommentConfigSpec)

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

GetPRCommentConfig 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

DeletePRCommentConfig deletes the PR comment configuration.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

ProjectService

UpdateProject

Updates the specified project with the information in the request body.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

Logical root object that serves as the basis for organizing and managing all information related to a repository.

A project corresponds to a repository.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "processing_status": {
    }
}

ListProjects

Lists all projects in a given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (The tenant to which the project belongs.)

The tenant to which the project belongs.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1ProjectSpec)
object (v1ProcessingStatus)

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "processing_status": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "processing_status": {
    }
}

GetProject

Fetches comprehensive information about a project identified by a given UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "processing_status": {
    }
}

DeleteProject

Deletes a project specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (The Tenant Metadata restrict access to a specific tenant.)

The Tenant Metadata restrict access to a specific tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1QuerySpec)

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

RepositoryService

UpdateRepository

Updates a source control repository with the information in the request body.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

Repository represents the ingested information about a source control repository. A repository may refer to any type of source control repository, such as GitLab or GitHub.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

ListRepositories

Lists the source control repositories in a given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateRepository

Creates a source control repository.

The creation of the resource will be an upsert operation if the given spec.external_id and spec.platform_resource are already available.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Repositories are associated with a tenant. Public repositories are created as repositories under a public tenant.)

Repositories are associated with a tenant. Public repositories are created as repositories under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositorySpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

GetRepository

Fetches a source control repository identified by a given UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

DeleteRepository

Deletes a source control repository specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

RepositoryBranchProtectionService

UpdateRepositoryBranchProtection

Updates a repository branch protection with the information in the request body.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

Branch protection information of a single branch.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

ListRepositoryBranchProtections

Lists the repository branch protections in the given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Repository branch protections are associated with a tenant.)

Repository branch protections are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryBranchProtectionSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

GetRepositoryBranchProtection

Fetches a respository branch protection identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryBranchProtection

Deletes a repository branch protection specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

RepositoryCheckRunService

UpdateRepositoryCheckRun

Updates a repository check run with the information in the request body.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

RepositoryCheckRun represents the information about a repository check run.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

ListRepositoryCheckRuns

Lists all repository check runs in the given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateRepositoryCheckRun

Creates a repository check run.

The creation of the resource will be an upsert if the given spec.commit_sha and spec.platform_source are already available.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Repository check runs are associated with a tenant. Public repository check runs are formed under a public tenant.)

Repository check runs are associated with a tenant. Public repository check runs are formed under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryCheckRunSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

GetRepositoryCheckRun

Fetches a repository check run identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryCheckRun

Deletes a repository check run specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

RepositoryCodeownersFileService

UpdateRepositoryCodeownersFile

Updates a repository's codeowners file information with the information in the request body.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

The information about a repository's codeowners file. It does not contain the actual file contents.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

ListRepositoryCodeownersFile

Lists the repository's codeowners file information in the given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateRepositoryCodeownersFile

Creates repository codeowners file information.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Metadata required for the tenant.)

Metadata required for the tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1RepositoryCodeownersFileSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

GetRepositoryCodeownersFile

Fetches a repository's codeowners file information identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

DeleteRepositoryCodeownersFile

Deletes a repository's codeowners file information.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

RepositoryCollaboratorsService

UpdateRepositoryCollaborators

Updates a repository collaborator with the information in the request body.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

The ingested information about a repository's collaborators.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

ListRepositoryCollaborators

Lists the repository collaborators in the given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object

Tenant related data for the tenant containing the resource.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryCollaboratorsSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

GetRepositoryCollaborators

Fetches a repository collaborator identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryCollaborators

Deletes a repository collaborator specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

RepositoryCommitService

UpdateRepositoryCommit

Updates a repository commit with the information in the request body.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

Represents the ingested information about a repository commit.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

ListRepositoryCommits

Lists repository commits in a given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Repository commits are associated with a tenant. Public repository commits are formed under a public tenant.)

Repository commits are associated with a tenant. Public repository commits are formed under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryCommitSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

GetRepositoryCommit

Fetches a repository commit identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryCommit

Deletes a repository commit specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

RepositoryDeploymentEnvConfigService

UpdateRepositoryDeploymentEnvConfig

Updates a repository's deployment environment configuration with the information in the request body.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

The ingested information about a repository's deployment environment configurations. https://docs.github.com/en/rest/deployments/environments?apiVersion=2022-11-28#list-environments.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

ListRepositoryDeploymentEnvConfig

Lists all repository's deployment environment configurations in the namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateRepositoryDeploymentEnvConfig

Creates the repository's deployment environment configuration information.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Repository's deployment environment configurations are associated with a tenant.)

Repository's deployment environment configurations are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1RepositoryDeploymentEnvConfigSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

GetRepositoryDeploymentEnvConfig

Fetches a repository's deployment environment configuration identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

DeleteRepositoryDeploymentEnvConfig

Deletes a rrepository's deployment environment configuration specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

RepositoryHookService

UpdateRepositoryHook

Updates a repository hook with the information in the request body.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

The information about hooks created for a repository.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

ListRepositoryHooks

Lists all repository hooks in the given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateRepositoryHook

Creates a repository hook.

The creation of the resource will be an upsert if the given spec.external_id is already available.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Repository hooks are associated with a tenant. Public repository hooks are formed under a public tenant.)

Repository hooks are associated with a tenant. Public repository hooks are formed under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryHookSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

GetRepositoryHook

Fetches a repository hook identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryHook

Deletes a repository hook specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

RepositoryIssueService

UpdateRepositoryIssue

Updates a repository issue with the information in the request body.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

The ingested information about a repository issue.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

ListRepositoryIssues

Lists all repository issues in the given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateRepositoryIssue

Creates a repository issue.

Creation of the resource will be an upsert if the given spec.external_id and spec.platform_resource are already available.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Repository issues are associated with a tenant. Public repository issues are formed under a public tenant.)

Repository issues are associated with a tenant. Public repository issues are formed under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryIssueSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

GetRepositoryIssue

Fetches a repository issue identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryIssue

Deletes a repository issue specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

RepositoryPullRequestService

UpdateRepositoryPullRequest

Updates a repository pull request with the information in the request body.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

The ingested information about a repository pull request.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

ListRepositoryPullRequests

Lists all repository pull requests in the given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateRepositoryPullRequest

Creates a repository pull request.

The creation of the resource will be an upsert if the given spec.external_id and spec.platform_resource are already available.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Repository pull request are associated with a tenant. Public repository pull requests are formed under a public tenant.)

Repository pull request are associated with a tenant. Public repository pull requests are formed under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryPullRequestSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

GetRepositoryPullRequest

Fetches a repository pull request identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryPullRequest

Deletes a repository pull request specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

RepositoryReleaseService

UpdateRepositoryRelease

Updates a repository release with the information in the request body.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

The ingested information about a repository release.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

ListRepositoryReleases

Lists all repository releases in the given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateRepositoryRelease

Creates a repository release.

The creation of the resource will be an upsert if the given spec.external_id and spec.platform_resource are already available.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Repository releases are associated with a tenant. Public repository releases are formed under a public tenant.)

Repository releases are associated with a tenant. Public repository releases are formed under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryReleaseSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

GetRepositoryRelease

Fetches a repository release identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryRelease

Deletes a repository release specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

ListRepositoryScanMetadata

Lists all scan metadata of a repository.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Metrics are associated with a tenant and the tenant information must be provided.)

Metrics are associated with a tenant and the tenant information must be provided.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1RepositoryScanMetadataSpec)

Repository scan metadata specification.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

GetRepository

Fetches the scan meta data of a repository identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

DeleteRepositoryScanMetadata

Deletes the scan metadata of a repository specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

RepositoryStatusService

UpdateRepositoryStatus

Updates a repository status with the information in the request body.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

The ingested information about a repository status.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

ListRepositoryStatuses

Lists all repository statuses in the given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateRepositoryStatus

Creates a repository status.

The creation of the resource will be an upsert if the given spec.commit_sha and spec.platform_source are already available.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Repository status are associated with a tenant. Public repository statuses are formed under a public tenant.)

Repository status are associated with a tenant. Public repository statuses are formed under a public tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryStatusSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

GetRepositoryStatus

Fetches a repository status identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "ingested_object": {
    }
}

DeleteRepositoryStatus

Deletes a repository status specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

RepositoryTagProtectionService

UpdateRepositoryTagProtection

Updates a repository's tag protection information.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

The repository's tag protections.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

ListRepositoryTagProtection

Lists all repository's tag protections information.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateRepositoryTagProtection

Creates repository's tag protection information.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Repository's tag protections are associated with a tenant.)

Repository's tag protections are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

spec
object (v1RepositoryTagProtectionSpec)
required
object (v1IngestedObject)

Raw ingested object from a 3rd party source, along with any additional metadata we want to add to the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

GetRepositoryTagProtection

Fetches a repository's tag protection information identified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": { },
  • "ingested_object": {
    }
}

DeleteRepositoryTagProtection

Deletes a repository's tag protection information specified by the UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

RepositoryVersionService

UpdateRepositoryVersion

Updates a specified repository version with the information in the request body.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

The ingested information about a repository version.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "scan_object": {
    },
  • "context": {
    }
}

ListRepositoryVersions

Lists all repository versions in a given namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateRepositoryVersion

Creates a repository version or updates a repository version if it already exists.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Repository versions are associated with a tenant.)

Repository versions are associated with a tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1RepositoryVersionSpec)
object (RepositoryVersionScanObject)
required
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "scan_object": {
    },
  • "context": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "scan_object": {
    },
  • "context": {
    }
}

GetRepositoryVersion

Fetches a repository version specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "scan_object": {
    },
  • "context": {
    }
}

DeleteRepositoryVersion

Deletes a repository version specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

SavedQuery implements the metric query requests.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

ListSavedQueries 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (The Tenant Metadata restrict access to a specific tenant.)

The Tenant Metadata restrict access to a specific tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

DeleteSavedQuery deletes the 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

SBOMExportService

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
required
object (v1Meta)

Common fields for all Endor Labs resources.

tenant_meta
object (SBOM are 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

ImportedSBOM represents 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
required
object (v1Meta)

Common fields for all Endor Labs resources.

tenant_meta
object (SBOM are 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)

Contexts keep objects from different scans separated.

Responses

Request samples

Content type
application/json
{
  • "meta": {
    },
  • "tenant_meta": { },
  • "spec": {
    },
  • "processing_status": {
    },
  • "context": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "meta": {
    },
  • "tenant_meta": {
    },
  • "spec": {
    },
  • "processing_status": {
    },
  • "context": {
    }
}

GetSBOMImport 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "meta": {
    },
  • "tenant_meta": {
    },
  • "spec": {
    },
  • "processing_status": {
    },
  • "context": {
    }
}

DeleteSBOMImport deletes an imported sbom specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "meta": {
    },
  • "tenant_meta": {
    },
  • "spec": {
    }
}

ListSBOMOrganizationalContacts 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1Meta)

Common fields for all Endor Labs resources.

tenant_meta
object (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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "meta": {
    },
  • "tenant_meta": {
    },
  • "spec": {
    }
}

DeleteSBOMOrganizationalContact deletes 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

ScanResultService

UpdateScanResult

Update a specified scan result.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

Contains the results of an endorctl scan.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "context": {
    }
}

ListScanResults

List scan results based on the specified list parameters.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateScanResult

Create a scan result.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Information about the tenant and namespace that the scan ran in.)

Information about the tenant and namespace that the scan ran in.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1ScanResultSpec)

ScanResult specific data.

required
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "context": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "context": {
    }
}

GetScanResult

Return a specified scan result.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "context": {
    }
}

DeleteScanResult

Delete a specified scan result.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

ScopePolicy represents a scope policy in the system. Scope policies 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

required
object (v1ScopePolicySpec)

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

GetScopePolicy 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

DeleteScopePolicy deletes the scope policy.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

ListSecretRules 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

DeleteSecretRule deletes the 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (The Tenant Metadata restrict access to a specific tenant.)

The Tenant Metadata restrict access to a specific tenant.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

SystemConfig represents the system configuration for a tenant.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

ListSystemConfig returns the system configuration as a list of length 1.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

DeleteSystemConfig deletes the system configuration.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

TableRowGroup in the main object. 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

required
object (v1TableRowGroupSpec)
required
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "context": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "context": {
    }
}

GetTableRowGroup 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "context": {
    }
}

DeleteTableRowGroup deletes the 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Namespace of the message that is accessed.)

Namespace of the message that is accessed.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1TelemetrySpec)

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

TenantService

ListTenants returns a list of all tenants.

query Parameters
filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

action
string

Action to be executed with a request. Not supported for all endpoints.

mask
string

List of fields to return (all fields are returned by default).

traverse
boolean

Get data from any child namespaces as well.

sort.path
string

Field to sort objects by, e.g. meta.name.

sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

ci_run_uuid
string

Only return objects from PR scans that match this context id.

page_id
string

Page ID to retrieve.

group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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)

Common fields for all Endor Labs resources.

object (v1TenantSpec)

Responses

Request samples

Content type
application/json
{
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "meta": {
    },
  • "spec": {
    }
}

UpdateTenant updates a specified tenant.

Request Body schema: application/json
required

UpdateTenantRequest is used by UpdateTenant.

object (v1UpdateRequest)

Message used for all update requests.

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

The UUID of the requested resource.

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "meta": {
    },
  • "spec": {
    }
}

DeleteTenant deletes a tenant specified by its UUID.

path Parameters
uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

ToolPatternService

UpdateToolPattern updates a tool pattern.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

ToolPattern represents the search pattern data for one tool.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

ListToolPatterns 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "propagate": true
}

DeleteToolPattern deletes a tool pattern.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

Responses

Response samples

Content type
application/json
{ }

ToolChainProfileService

UpdateToolChainProfile updates a specified Toolchain profile.

path Parameters
object.tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

ToolChainProfile represents the list of tool chains that need to be installed.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

ListToolChainProfiles returns a list of toolchain profiles in a specified namespace.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateToolChainProfile creates a toolchain profile.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object

Tenant related data for the tenant containing the resource.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1ToolChainProfileSpec)

Spec is the internal specification of the object.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

GetToolChainProfile returns a toolchain profile specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

DeleteToolChainProfile deletes a toolchain profile specified by its UUID.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Namespace where the Telemetry events were recorded.)

Namespace where the Telemetry events were recorded.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1UITelemetrySpec)

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

UserService

ListUsers returns all users.

query Parameters
filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

action
string

Action to be executed with a request. Not supported for all endpoints.

mask
string

List of fields to return (all fields are returned by default).

traverse
boolean

Get data from any child namespaces as well.

sort.path
string

Field to sort objects by, e.g. meta.name.

sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

ci_run_uuid
string

Only return objects from PR scans that match this context id.

page_id
string

Page ID to retrieve.

group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

Responses

Response samples

Content type
application/json
{
  • "list": {
    },
  • "count_response": {
    },
  • "group_response": {
    }
}

CreateUser creates a user in a given namespace. Not exposed to public API.

Request Body schema: application/json
required

User represents a user in the system.

Mostly includes configuration parameters that are user wise.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1UserSpec)

Responses

Request samples

Content type
application/json
{
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "meta": {
    },
  • "spec": {
    }
}

UpdateUser updates a specific user. Not exposed to public API.

Request Body schema: application/json
required

UpdateUserRequest is used by UpdateUser.

object (v1UpdateRequest)

Message used for all update requests.

object (v1User)

User represents a user in the system.

Mostly includes configuration parameters that are user wise.

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "object": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "meta": {
    },
  • "spec": {
    }
}

GetUser returns a user specified by their UUID

path Parameters
uuid
required
string

The UUID of the requested resource.

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "meta": {
    },
  • "spec": {
    }
}

UserInfoService

Verify returns user authentication data and allows a user to validate their token.

Responses

Response samples

Content type
application/json
{
  • "authentication_source": "string",
  • "expiration_time": "2019-08-24T14:15:22Z",
  • "user": {
    },
  • "tenants": [
    ],
  • "permissions": {
    },
  • "namespaces": [
    ]
}

GetActivePermissions returns user authentication data and allows a user to validate their token.

path Parameters
target_namespace
required
string

Responses

Response samples

Content type
application/json
{
  • "authentication_source": "string",
  • "expiration_time": "2019-08-24T14:15:22Z",
  • "user": {
    },
  • "tenants": [
    ],
  • "permissions": {
    },
  • "namespaces": [
    ]
}

UserTelemetryService

UpdateUserTelemetry updates a given 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

UserTelemetry represents user-specific events observered from the Endor 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object (Namespace where the Telemetry events were recorded.)

Namespace where the Telemetry events were recorded.

required
object (v1Meta)

Common fields for all Endor Labs resources.

required
object (v1UserTelemetrySpec)

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

GetUserTelemetry 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

DeleteUserTelemetry deletes a 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1UpdateRequest)

Message used for all update requests.

object

VersionUpgrade contains all information about a possible version upgrade of a dependency package. This upgrade object can be under a Project or a 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. 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)

Common fields for all Endor Labs resources.

object (v1VersionUpgradeSpec)
required
object (v1Context)

Contexts keep objects from different scans separated.

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    },
  • "context": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "context": {
    }
}

GetVersionUpgrade 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    },
  • "context": {
    }
}

DeleteVersionUpgrade deletes a version upgrade.

path Parameters
tenant_meta.namespace
required
string

Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the resource to be deleted.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1Meta)

Common fields for all Endor Labs resources.

tenant_meta
object (SBOM are 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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

query Parameters
list_parameters.filter
string

String of conditions to filter resources by. Filters may include any attribute along with the following operators: "==", "!=", ">", ">=", "<", "<=", "Contains", "In", "Matches", and "Exists". The logical operators "And" and "Or" are also supported. Expressions may be combined and grouped with parentheses.

Examples: "spec.value == 5", "spec.value in ["a", "b", "c"]", "(meta.name == "xyz" and "spec.value in ["a","b"]) or (spec.value == "c")".

list_parameters.page_token
integer <int32>

Set the page token to start from. Use page tokens to page through list results or list specific pages.

list_parameters.page_size
integer <int32>

Set the page size to limit the number of results returned. Default: 100. Max: 500.

list_parameters.action
string

Action to be executed with a request. Not supported for all endpoints.

list_parameters.mask
string

List of fields to return (all fields are returned by default).

list_parameters.traverse
boolean

Get data from any child namespaces as well.

list_parameters.sort.path
string

Field to sort objects by, e.g. meta.name.

list_parameters.sort.order
string
Default: "SORT_ENTRY_ORDER_UNSPECIFIED"
Enum: "SORT_ENTRY_ORDER_UNSPECIFIED" "SORT_ENTRY_ORDER_ASC" "SORT_ENTRY_ORDER_DESC"

Sort order. Default: ASC.

list_parameters.count
boolean

Return the number of objects matching the given list parameters. If count is set to true, the response is a CountResponse. Can be used together with filter and traverse.

list_parameters.group.aggregation_paths
string

Group the objects based on this field. If there are multiple fields then the objects are grouped based on the uniqueness of all fields. Supports composite paths. Supports arrays and maps.

list_parameters.group.show_aggregation_uuids
boolean

Return the UUID of each object in each group as specified by aggregation_paths.

list_parameters.group.unique_count_paths
string

List of fields for which we want the unique count. Supports arrays and maps.

list_parameters.group.unique_value_paths
string

List of fields for which we want the unique values. Supports arrays and maps.

list_parameters.ci_run_uuid
string

Only return objects from PR scans that match this context id.

list_parameters.page_id
string

Page ID to retrieve.

list_parameters.group_by_time.aggregation_paths
string

Group the objects based on this time field, e.g. meta.create_time.

list_parameters.group_by_time.show_aggregation_uuids
boolean

Return the UUIDs of the objects in each group.

list_parameters.group_by_time.interval
string
Default: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED"
Enum: "GROUP_BY_TIME_INTERVAL_UNSPECIFIED" "GROUP_BY_TIME_INTERVAL_YEAR" "GROUP_BY_TIME_INTERVAL_QUARTER" "GROUP_BY_TIME_INTERVAL_MONTH" "GROUP_BY_TIME_INTERVAL_WEEK" "GROUP_BY_TIME_INTERVAL_DAY" "GROUP_BY_TIME_INTERVAL_HOUR" "GROUP_BY_TIME_INTERVAL_MINUTE" "GROUP_BY_TIME_INTERVAL_SECOND"

Interval unit by which the objects should be grouped.

list_parameters.group_by_time.group_size
integer <int32>

Size of the time interval to group the objects by, e.g. to group objects by 2-week intervals, set interval to GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.

list_parameters.group_by_time.start_time
string <date-time>

Beginning of the time period to group objects. Defaults to the beginning of time.

list_parameters.group_by_time.end_time
string <date-time>

End of the time period to group objects. Defaults to the current time.

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
tenant_meta
object

Tenant related data for the tenant containing the resource.

required
object (v1Meta)

Common fields for all Endor Labs resources.

object (v1VulnSpec)

Responses

Request samples

Content type
application/json
{
  • "tenant_meta": { },
  • "meta": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

uuid
required
string

The UUID of the requested resource.

query Parameters
get_parameters.mask
string

List of fields to return (all fields are returned by default).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "tenant_meta": {
    },
  • "meta": {
    },
  • "spec": {
    }
}

QueryVulnerabilityService

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, e.g. the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".

Request Body schema: application/json
required
object (v1Meta)

Common fields for all Endor Labs resources.

tenant_meta
object

Tenant related data for the tenant containing the resource.

object (v1QueryVulnerabilitySpec)
object (QueryVulnerabilityResponseMap)
object (v1ListVulnerabilitiesResponse)

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": {
    }
}