Skip to main content

REST API Documentation

minder/v1/minder.proto (version not set)

Download OpenAPI specification:Download

HealthService

HealthService_CheckHealth

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

ArtifactService

ArtifactService_GetArtifactByName

path Parameters
name
required
string.+
query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "artifact": {
    },
  • "versions": [
    ]
}

ArtifactService_GetArtifactById

path Parameters
id
required
string
query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "artifact": {
    },
  • "versions": [
    ]
}

ArtifactService_ListArtifacts2

query Parameters
provider
string
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string
from
string

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

ArtifactService_ListArtifacts

path Parameters
provider
required
string
query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string
from
string

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

OAuthService

OAuthService_StoreProviderToken2

Request Body schema: application/json
required
provider
string
accessToken
string
owner
string
object (v1Context)

Context defines the context in which a rule is evaluated. this normally refers to a combination of the provider, organization and project.

Removing the 'optional' keyword from the following two fields below will break buf compatibility checks.

Responses

Request samples

Content type
application/json
{
  • "provider": "string",
  • "accessToken": "string",
  • "owner": "string",
  • "context": {
    }
}

Response samples

Content type
application/json
{ }

OAuthService_GetAuthorizationURL

query Parameters
cli
boolean
port
integer <int32>
owner
string
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string
redirectUrl
string
config
object

config is a JSON object that can be used to pass additional configuration

providerClass
string

Responses

Response samples

Content type
application/json
{
  • "url": "string",
  • "state": "string"
}

VerifyProviderCredential verifies that a credential has been created matching the enrollment nonce

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string
enrollmentNonce
string

enrollment_nonce is the state parameter returned when enrolling the provider

Responses

Response samples

Content type
application/json
{
  • "created": true,
  • "providerName": "string"
}

VerifyProviderTokenFrom verifies that a token has been created for a provider since given timestamp

path Parameters
provider
required
string
timestamp
required
string <date-time>
query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

VerifyProviderTokenFrom verifies that a token has been created for a provider since given timestamp

path Parameters
timestamp
required
string <date-time>
query Parameters
provider
string
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

OAuthService_StoreProviderToken

path Parameters
provider
required
string
Request Body schema: application/json
required
accessToken
string
owner
string
object (v1Context)

Context defines the context in which a rule is evaluated. this normally refers to a combination of the provider, organization and project.

Removing the 'optional' keyword from the following two fields below will break buf compatibility checks.

Responses

Request samples

Content type
application/json
{
  • "accessToken": "string",
  • "owner": "string",
  • "context": {
    }
}

Response samples

Content type
application/json
{ }

RepositoryService

RepositoryService_ListRepositories2

query Parameters
provider
string
limit
string <int64>
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string
cursor
string

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "cursor": "string"
}

RepositoryService_ListRepositories

path Parameters
provider
required
string
query Parameters
limit
string <int64>
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string
cursor
string

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "cursor": "string"
}

RepositoryService_ListRemoteRepositoriesFromProvider

path Parameters
provider
required
string
query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

RepositoryService_ListRemoteRepositoriesFromProvider2

query Parameters
provider
string
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

RepositoryService_GetRepositoryById

path Parameters
repositoryId
required
string
query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "repository": {
    }
}

RepositoryService_DeleteRepositoryById

path Parameters
repositoryId
required
string
query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "repositoryId": "string"
}

RepositoryService_GetRepositoryByName2

path Parameters
name
required
string.+
query Parameters
provider
string
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "repository": {
    }
}

RepositoryService_DeleteRepositoryByName2

path Parameters
name
required
string.+
query Parameters
provider
string
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "name": "string"
}

RepositoryService_GetRepositoryByName

path Parameters
provider
required
string
name
required
string.+
query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "repository": {
    }
}

RepositoryService_DeleteRepositoryByName

path Parameters
provider
required
string
name
required
string.+
query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "name": "string"
}

RepositoryService_RegisterRepository

path Parameters
provider
required
string
Request Body schema: application/json
required
object (v1UpstreamRepositoryRef)
object (v1Context)

Context defines the context in which a rule is evaluated. this normally refers to a combination of the provider, organization and project.

Removing the 'optional' keyword from the following two fields below will break buf compatibility checks.

Responses

Request samples

Content type
application/json
{
  • "repository": {
    },
  • "context": {
    }
}

Response samples

Content type
application/json
{
  • "result": {
    }
}

RepositoryService_RegisterRepository2

Request Body schema: application/json
required
provider
string
object (v1UpstreamRepositoryRef)
object (v1Context)

Context defines the context in which a rule is evaluated. this normally refers to a combination of the provider, organization and project.

Removing the 'optional' keyword from the following two fields below will break buf compatibility checks.

Responses

Request samples

Content type
application/json
{
  • "provider": "string",
  • "repository": {
    },
  • "context": {
    }
}

Response samples

Content type
application/json
{
  • "result": {
    }
}

UserService

UserService_GetUser

Responses

Response samples

Content type
application/json
{
  • "user": {
    },
  • "projects": [
    ]
}

UserService_DeleteUser

Responses

Response samples

Content type
application/json
{ }

UserService_CreateUser

Request Body schema: application/json
required
object (User service)

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "id": 0,
  • "organizationId": "string",
  • "organizatioName": "string",
  • "projectId": "string",
  • "projectName": "string",
  • "identitySubject": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "context": {
    }
}

ProfileService

ProfileService_CreateProfile

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

Profile defines a profile that is user defined.

object (v1Context)

Context defines the context in which a rule is evaluated. this normally refers to a combination of the provider, organization and project.

Removing the 'optional' keyword from the following two fields below will break buf compatibility checks.

id
string

id is the id of the profile. This is optional and is set by the system.

name
string

name is the name of the profile instance.

labels
Array of strings

labels are a set of system-provided attributes which can be used to filter profiles and status results. Labels cannot be set by the user, but are returned in ListProfiles.

Labels use DNS label constraints, with a possible namespace prefix separated by a colon (:). They are intended to allow filtering, but not to store arbitrary metadata. DNS labels are 1-63 character alphanumeric strings with internal hyphens. An RE2-style validation regex would be:

DNS_STR = "a-zA-Z0-9?" ($DNS_STR:)?$DNS_STR

Array of objects (ProfileRule)

These are the entities that one could set in the profile.

Array of objects (ProfileRule)
Array of objects (ProfileRule)
Array of objects (ProfileRule)
remediate
string (whether and how to remediate (on,off,dry_run) this is optional and defaults to "off")
alert
string (whether and how to alert (on,off,dry_run) this is optional and defaults to "on")
type
string

type is a placeholder for the object type. It should always be set to "profile".

version
string (version is the version of the profile type. In this case, it is "v1")
displayName
string

display_name is the display name of the profile.

Responses

Request samples

Content type
application/json
{
  • "profile": {
    }
}

Response samples

Content type
application/json
{
  • "profile": {
    }
}

ProfileService_UpdateProfile

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

Profile defines a profile that is user defined.

object (v1Context)

Context defines the context in which a rule is evaluated. this normally refers to a combination of the provider, organization and project.

Removing the 'optional' keyword from the following two fields below will break buf compatibility checks.

id
string

id is the id of the profile. This is optional and is set by the system.

name
string

name is the name of the profile instance.

labels
Array of strings

labels are a set of system-provided attributes which can be used to filter profiles and status results. Labels cannot be set by the user, but are returned in ListProfiles.

Labels use DNS label constraints, with a possible namespace prefix separated by a colon (:). They are intended to allow filtering, but not to store arbitrary metadata. DNS labels are 1-63 character alphanumeric strings with internal hyphens. An RE2-style validation regex would be:

DNS_STR = "a-zA-Z0-9?" ($DNS_STR:)?$DNS_STR

Array of objects (ProfileRule)

These are the entities that one could set in the profile.

Array of objects (ProfileRule)
Array of objects (ProfileRule)
Array of objects (ProfileRule)
remediate
string (whether and how to remediate (on,off,dry_run) this is optional and defaults to "off")
alert
string (whether and how to alert (on,off,dry_run) this is optional and defaults to "on")
type
string

type is a placeholder for the object type. It should always be set to "profile".

version
string (version is the version of the profile type. In this case, it is "v1")
displayName
string

display_name is the display name of the profile.

Responses

Request samples

Content type
application/json
{
  • "profile": {
    }
}

Response samples

Content type
application/json
{
  • "profile": {
    }
}

ProfileService_GetProfileStatusByName

path Parameters
name
required
string.+

name is the name of the profile to get

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string
entity.type
string
Default: "ENTITY_UNSPECIFIED"
Enum: "ENTITY_UNSPECIFIED" "ENTITY_REPOSITORIES" "ENTITY_BUILD_ENVIRONMENTS" "ENTITY_ARTIFACTS" "ENTITY_PULL_REQUESTS"

entity is the entity to get status for. Incompatible with all

entity.id
string

id is the ID of the entity to get status for. Incompatible with all

all
boolean
rule
string

rule is the type of the rule. Deprecated in favor of rule_type

ruleType
string
ruleName
string

Responses

Response samples

Content type
application/json
{
  • "profileStatus": {
    },
  • "ruleEvaluationStatus": [
    ]
}

ProfileService_GetProfileById

path Parameters
id
required
string

id is the id of the profile to get

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "profile": {
    }
}

ProfileService_DeleteProfile

path Parameters
id
required
string

id is the id of the profile to delete

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{ }

ProfileService_PatchProfile

path Parameters
id
required
string

The id of the profile to patch. Same explanation about explicitness as for the context

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string
Request Body schema: application/json
required

The patch to apply to the profile

object (v1Context)

Context defines the context in which a rule is evaluated. this normally refers to a combination of the provider, organization and project.

Removing the 'optional' keyword from the following two fields below will break buf compatibility checks.

id
string

id is the id of the profile. This is optional and is set by the system.

name
string

name is the name of the profile instance.

labels
Array of strings

labels are a set of system-provided attributes which can be used to filter profiles and status results. Labels cannot be set by the user, but are returned in ListProfiles.

Labels use DNS label constraints, with a possible namespace prefix separated by a colon (:). They are intended to allow filtering, but not to store arbitrary metadata. DNS labels are 1-63 character alphanumeric strings with internal hyphens. An RE2-style validation regex would be:

DNS_STR = "a-zA-Z0-9?" ($DNS_STR:)?$DNS_STR

Array of objects (ProfileRule)

These are the entities that one could set in the profile.

Array of objects (ProfileRule)
Array of objects (ProfileRule)
Array of objects (ProfileRule)
remediate
string (whether and how to remediate (on,off,dry_run) this is optional and defaults to "off")
alert
string (whether and how to alert (on,off,dry_run) this is optional and defaults to "on")
type
string

type is a placeholder for the object type. It should always be set to "profile".

version
string (version is the version of the profile type. In this case, it is "v1")
displayName
string

display_name is the display name of the profile.

Responses

Request samples

Content type
application/json
{
  • "context": {
    },
  • "id": "string",
  • "name": "string",
  • "labels": [
    ],
  • "repository": [
    ],
  • "buildEnvironment": [
    ],
  • "artifact": [
    ],
  • "pullRequest": [
    ],
  • "remediate": "string",
  • "alert": "string",
  • "type": "string",
  • "version": "string",
  • "displayName": "string"
}

Response samples

Content type
application/json
{
  • "profile": {
    }
}

ProfileService_GetProfileStatusByProject

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "profileStatus": [
    ]
}

ProfileService_ListProfiles

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string
labelFilter
string

Filter profiles to only those matching the specified labels.

The default is to return all user-created profiles; the string "*" can be used to select all profiles, including system profiles. This syntax may be expanded in the future.

Responses

Response samples

Content type
application/json
{
  • "profiles": [
    ]
}

ProfileService_CreateRuleType

Request Body schema: application/json
required

CreateRuleTypeRequest is the request to create a rule type.

object (v1RuleType)

RuleType defines rules that may or may not be user defined. The version is assumed from the folder's version.

id
string

id is the id of the rule type. This is mostly optional and is set by the server.

name
string

name is the name of the rule type.

displayName
string

display_name is the display name of the rule type.

object (v1Context)

Context defines the context in which a rule is evaluated. this normally refers to a combination of the provider, organization and project.

Removing the 'optional' keyword from the following two fields below will break buf compatibility checks.

object (RuleTypeDefinition)

Definition defines the rule type. It encompases the schema and the data evaluation.

description
string

description is the description of the rule type.

guidance
string

guidance are instructions we give the user in case a rule fails.

object (v1Severity)

Severity defines the severity of the rule.

Responses

Request samples

Content type
application/json
{
  • "ruleType": {
    }
}

Response samples

Content type
application/json
{
  • "ruleType": {
    }
}

ProfileService_UpdateRuleType

Request Body schema: application/json
required

UpdateRuleTypeRequest is the request to update a rule type.

object (v1RuleType)

RuleType defines rules that may or may not be user defined. The version is assumed from the folder's version.

id
string

id is the id of the rule type. This is mostly optional and is set by the server.

name
string

name is the name of the rule type.

displayName
string

display_name is the display name of the rule type.

object (v1Context)

Context defines the context in which a rule is evaluated. this normally refers to a combination of the provider, organization and project.

Removing the 'optional' keyword from the following two fields below will break buf compatibility checks.

object (RuleTypeDefinition)

Definition defines the rule type. It encompases the schema and the data evaluation.

description
string

description is the description of the rule type.

guidance
string

guidance are instructions we give the user in case a rule fails.

object (v1Severity)

Severity defines the severity of the rule.

Responses

Request samples

Content type
application/json
{
  • "ruleType": {
    }
}

Response samples

Content type
application/json
{
  • "ruleType": {
    }
}

ProfileService_GetRuleTypeByName

path Parameters
name
required
string.+

name is the name of the rule type.

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "ruleType": {
    }
}

ProfileService_GetRuleTypeById

path Parameters
id
required
string

id is the id of the rule type.

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "ruleType": {
    }
}

ProfileService_DeleteRuleType

path Parameters
id
required
string

id is the id of the rule type to be deleted.

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{ }

ProfileService_ListRuleTypes

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "ruleTypes": [
    ]
}

EvalResultsService

EvalResultsService_ListEvaluationResults

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string
profile
string

ID can contain either a profile name or an ID

labelFilter
string

Filter profiles to only those matching the specified labels.

The default is to return all user-created profiles; the string "*" can be used to select all profiles, including system profiles. This syntax may be expanded in the future.

ruleName
Array of strings

If set, only return evaluation results for the named rules. If empty, return evaluation results for all rules

Responses

Response samples

Content type
application/json
{
  • "entities": [
    ]
}

PermissionsService

PermissionsService_AssignRole

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

Context defines the context in which a rule is evaluated. this normally refers to a combination of the provider, organization and project.

Removing the 'optional' keyword from the following two fields below will break buf compatibility checks.

object (v1RoleAssignment)

Responses

Request samples

Content type
application/json
{
  • "context": {
    },
  • "roleAssignment": {
    }
}

Response samples

Content type
application/json
{
  • "roleAssignment": {
    }
}

PermissionsService_ListRoleAssignments

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "roleAssignments": [
    ]
}

PermissionsService_RemoveRole

path Parameters
roleAssignment.role
required
string

role is the role that is assigned.

roleAssignment.subject
required
string

subject is the subject to which the role is assigned.

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string
roleAssignment.project
string

projectt is the projectt in which the role is assigned.

Responses

Response samples

Content type
application/json
{
  • "roleAssignment": {
    }
}

PermissionsService_ListRoles

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "roles": [
    ]
}

ProjectsService

ProjectsService_ListProjects

Responses

Response samples

Content type
application/json
{
  • "projects": [
    ]
}

ProjectsService_DeleteProject

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "projectId": "string"
}

ProjectsService_CreateProject

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

Context defines the context in which a rule is evaluated. this normally refers to a combination of the provider, organization and project.

Removing the 'optional' keyword from the following two fields below will break buf compatibility checks.

name
string

name is the name of the project to create.

Responses

Request samples

Content type
application/json
{
  • "context": {
    },
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "project": {
    }
}

ProjectsService_UpdateProject

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

Context defines the context in which a rule is evaluated. this normally refers to a combination of the provider, organization and project.

Removing the 'optional' keyword from the following two fields below will break buf compatibility checks.

displayName
string

display_name is the display name of the project to update.

description
string

description is the description of the project to update.

Responses

Request samples

Content type
application/json
{
  • "context": {
    },
  • "displayName": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "project": {
    }
}

ProjectsService_PatchProject

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string
Request Body schema: application/json
required

patch is the patch to apply to the project

displayName
string

display_name is the display name of the project to update.

description
string

description is the description of the project to update.

Responses

Request samples

Content type
application/json
{
  • "displayName": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "project": {
    }
}

ProjectsService_CreateEntityReconciliationTask

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

EntiryTypeId is a message that carries an ID together with a type to uniquely identify an entity such as (repo, 1), (artifact, 2), ...

object (v1Context)

Context defines the context in which a rule is evaluated. this normally refers to a combination of the provider, organization and project.

Removing the 'optional' keyword from the following two fields below will break buf compatibility checks.

Responses

Request samples

Content type
application/json
{
  • "entity": {
    },
  • "context": {
    }
}

Response samples

Content type
application/json
{ }

ProvidersService

GetUnclaimedProviders returns a list of known provider configurations that this user could claim based on their identity. This is a read-only operation for use by clients which wish to present a menu of options.

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "providers": [
    ]
}

ProvidersService_ListProviderClasses

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "providerClasses": [
    ]
}

ProvidersService_ListProviders

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string
limit
integer <int32>

limit is the maximum number of providers to return.

cursor
string

cursor is the cursor to use for the page of results, empty if at the beginning

Responses

Response samples

Content type
application/json
{
  • "providers": [
    ],
  • "cursor": "string"
}

ProvidersService_DeleteProvider

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "name": "string"
}

ProvidersService_CreateProvider

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

Context defines the context in which a rule is evaluated. this normally refers to a combination of the provider, organization and project.

Removing the 'optional' keyword from the following two fields below will break buf compatibility checks.

object (v1Provider)

Responses

Request samples

Content type
application/json
{
  • "context": {
    },
  • "provider": {
    }
}

Response samples

Content type
application/json
{
  • "provider": {
    },
  • "authorization": {
    }
}

ProvidersService_DeleteProviderByID

path Parameters
id
required
string

id is the id of the provider to delete

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "id": "string"
}

ProvidersService_GetProvider

path Parameters
name
required
string

name is the name of the provider to get.

query Parameters
context.provider
string

name of the provider

context.project
string

ID of the project

context.retiredOrganization
string

Responses

Response samples

Content type
application/json
{
  • "provider": {
    }
}