package authzed.api.v1

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

service ExperimentalService

experimental_service.proto:18

ExperimentalService exposes a number of APIs that are currently being prototyped and tested for future inclusion in the stable API.

service PermissionsService

permission_service.proto:19

PermissionsService implements a set of RPCs that perform operations on relationships and permissions.

service SchemaService

schema_service.proto:15

SchemaService implements operations on a Permissions System's Schema.

service WatchService

watch_service.proto:15

message AlgebraicSubjectSet

core.proto:137

AlgebraicSubjectSet is a subject set which is computed based on applying the specified operation to the operands according to the algebra of sets. UNION is a logical set containing the subject members from all operands. INTERSECTION is a logical set containing only the subject members which are present in all operands. EXCLUSION is a logical set containing only the subject members which are present in the first operand, and none of the other operands.

Used in: PermissionRelationshipTree

enum AlgebraicSubjectSet.Operation

core.proto:138

Used in: AlgebraicSubjectSet

message BulkCheckPermissionPair

experimental_service.proto:204

Used in: BulkCheckPermissionResponse

message BulkCheckPermissionRequestItem

experimental_service.proto:185

Used in: BulkCheckPermissionPair, BulkCheckPermissionRequest

message BulkCheckPermissionResponseItem

experimental_service.proto:212

Used in: BulkCheckPermissionPair

message CaveatEvalInfo

debug.proto:105

CaveatEvalInfo holds information about a caveat expression that was evaluated.

Used in: CheckDebugTrace

enum CaveatEvalInfo.Result

debug.proto:106

Used in: CaveatEvalInfo

message CheckBulkPermissionsPair

permission_service.proto:450

Used in: CheckBulkPermissionsResponse

message CheckBulkPermissionsRequestItem

permission_service.proto:431

Used in: CheckBulkPermissionsPair, CheckBulkPermissionsRequest

message CheckBulkPermissionsResponseItem

permission_service.proto:458

Used in: CheckBulkPermissionsPair

message CheckDebugTrace

debug.proto:30

CheckDebugTrace is a recursive trace of the requests made for resolving a CheckPermission API call.

Used in: CheckDebugTrace.SubProblems, DebugInformation

enum CheckDebugTrace.PermissionType

debug.proto:31

Used in: CheckDebugTrace

enum CheckDebugTrace.Permissionship

debug.proto:37

Used in: CheckDebugTrace

message CheckDebugTrace.SubProblems

debug.proto:44

Used in: CheckDebugTrace

enum CheckPermissionResponse.Permissionship

permission_service.proto:385

Used in: BulkCheckPermissionResponseItem, CheckBulkPermissionsResponseItem, CheckPermissionResponse

message Consistency

permission_service.proto:134

Consistency will define how a request is handled by the backend. By defining a consistency requirement, and a token at which those requirements should be applied, where applicable.

Used in: BulkCheckPermissionRequest, BulkExportRelationshipsRequest, CheckBulkPermissionsRequest, CheckPermissionRequest, ComputablePermissionsRequest, DependentRelationsRequest, DiffSchemaRequest, ExpandPermissionTreeRequest, ExperimentalComputablePermissionsRequest, ExperimentalDependentRelationsRequest, ExperimentalDiffSchemaRequest, ExperimentalReflectSchemaRequest, ExportBulkRelationshipsRequest, LookupResourcesRequest, LookupSubjectsRequest, ReadRelationshipsRequest, ReflectSchemaRequest

message ContextualizedCaveat

core.proto:38

ContextualizedCaveat represents a reference to a caveat to be used by caveated relationships. The context consists of key-value pairs that will be injected at evaluation time. The keys must match the arguments defined on the caveat in the schema.

Used in: Relationship

message Cursor

core.proto:84

Cursor is used to provide resumption of listing between calls to APIs such as LookupResources.

Used in: BulkExportRelationshipsRequest, BulkExportRelationshipsResponse, ExportBulkRelationshipsRequest, ExportBulkRelationshipsResponse, LookupResourcesRequest, LookupResourcesResponse, LookupSubjectsRequest, LookupSubjectsResponse, ReadRelationshipsRequest, ReadRelationshipsResponse

message DebugInformation

debug.proto:20

DebugInformation defines debug information returned by an API call in a footer when requested with a specific debugging header. The specific debug information returned will depend on the type of the API call made. See the github.com/authzed/authzed-go project for the specific header and footer names.

Used in: CheckBulkPermissionsResponseItem, CheckPermissionResponse

enum DeleteRelationshipsResponse.DeletionProgress

permission_service.proto:336

Used in: DeleteRelationshipsResponse

message DirectSubjectSet

core.proto:150

DirectSubjectSet is a subject set which is simply a collection of subjects.

Used in: PermissionRelationshipTree

enum ErrorReason

error_reason.proto:10

Defines the supported values for `google.rpc.ErrorInfo.reason` for the `authzed.com` error domain.

message ExpCaveat

experimental_service.proto:315

ExpCaveat is the representation of a caveat in the schema.

Used in: ExpSchemaDiff, ExperimentalReflectSchemaResponse

message ExpCaveatParameter

experimental_service.proto:327

ExpCaveatParameter is the representation of a parameter in a caveat.

Used in: ExpCaveat, ExpCaveatParameterTypeChange, ExpSchemaDiff

message ExpCaveatParameterTypeChange

experimental_service.proto:429

Used in: ExpSchemaDiff

message ExpDefinition

experimental_service.proto:303

ExpDefinition is the representation of a definition in the schema.

Used in: ExpSchemaDiff, ExperimentalReflectSchemaResponse

message ExpPermission

experimental_service.proto:365

ExpPermission is the representation of a permission in the schema.

Used in: ExpDefinition, ExpSchemaDiff

message ExpRelation

experimental_service.proto:337

ExpRelation is the representation of a relation in the schema.

Used in: ExpDefinition, ExpRelationSubjectTypeChange, ExpSchemaDiff

message ExpRelationReference

experimental_service.proto:386

ExpRelationReference is a reference to a relation or permission in the schema.

Used in: ExperimentalComputablePermissionsResponse, ExperimentalDependentRelationsResponse

message ExpRelationSubjectTypeChange

experimental_service.proto:424

Used in: ExpSchemaDiff

message ExpSchemaDiff

experimental_service.proto:435

ExpSchemaDiff is the representation of a diff between two schemas.

Used in: ExperimentalDiffSchemaResponse

message ExpSchemaFilter

experimental_service.proto:288

ExpSchemaFilter is a filter that can be applied to the schema on reflection.

Used in: ExperimentalReflectSchemaRequest

message ExpTypeReference

experimental_service.proto:345

ExpTypeReference is the representation of a type reference in the schema.

Used in: ExpRelation, ExpRelationSubjectTypeChange

enum LookupPermissionship

permission_service.proto:535

LookupPermissionship represents whether a Lookup response was partially evaluated or not

Used in: LookupResourcesResponse, LookupSubjectsResponse, ResolvedSubject

enum LookupSubjectsRequest.WildcardOption

permission_service.proto:565

Used in: LookupSubjectsRequest

message ObjectReference

core.proto:61

ObjectReference is used to refer to a specific object in the system.

Used in: materialize.v0.PermissionChange, BulkCheckPermissionRequestItem, CheckBulkPermissionsRequestItem, CheckDebugTrace, CheckPermissionRequest, ExpandPermissionTreeRequest, LookupSubjectsRequest, PermissionRelationshipTree, Relationship, SubjectReference, v1alpha1.PermissionUpdate

message PartialCaveatInfo

core.proto:154

PartialCaveatInfo carries information necessary for the client to take action in the event a response contains a partially evaluated caveat

Used in: BulkCheckPermissionResponseItem, CaveatEvalInfo, CheckBulkPermissionsResponseItem, CheckPermissionResponse, LookupResourcesResponse, LookupSubjectsResponse, ResolvedSubject

message PermissionRelationshipTree

core.proto:116

PermissionRelationshipTree is used for representing a tree of a resource and its permission relationships with other objects.

Used in: AlgebraicSubjectSet, ExpandPermissionTreeResponse

message Precondition

permission_service.proto:273

Precondition specifies how and the existence or absence of certain relationships as expressed through the accompanying filter should affect whether or not the operation proceeds. MUST_NOT_MATCH will fail the parent request if any relationships match the relationships filter. MUST_MATCH will fail the parent request if there are no relationships that match the filter.

Used in: DeleteRelationshipsRequest, WriteRelationshipsRequest

enum Precondition.Operation

permission_service.proto:274

Used in: Precondition

message ReadCounterValue

experimental_service.proto:160

Used in: ExperimentalCountRelationshipsResponse

message ReflectionCaveat

schema_service.proto:157

ReflectionCaveat is the representation of a caveat in the schema.

Used in: ReflectSchemaResponse, ReflectionSchemaDiff

message ReflectionCaveatParameter

schema_service.proto:169

ReflectionCaveatParameter is the representation of a parameter in a caveat.

Used in: ReflectionCaveat, ReflectionCaveatParameterTypeChange, ReflectionSchemaDiff

message ReflectionCaveatParameterTypeChange

schema_service.proto:271

Used in: ReflectionSchemaDiff

message ReflectionDefinition

schema_service.proto:145

ReflectionDefinition is the representation of a definition in the schema.

Used in: ReflectSchemaResponse, ReflectionSchemaDiff

message ReflectionPermission

schema_service.proto:207

ReflectionPermission is the representation of a permission in the schema.

Used in: ReflectionDefinition, ReflectionSchemaDiff

message ReflectionRelation

schema_service.proto:179

ReflectionRelation is the representation of a relation in the schema.

Used in: ReflectionDefinition, ReflectionRelationSubjectTypeChange, ReflectionSchemaDiff

message ReflectionRelationReference

schema_service.proto:228

ReflectionRelationReference is a reference to a relation or permission in the schema.

Used in: ComputablePermissionsResponse, DependentRelationsResponse

message ReflectionRelationSubjectTypeChange

schema_service.proto:266

Used in: ReflectionSchemaDiff

message ReflectionSchemaDiff

schema_service.proto:277

ReflectionSchemaDiff is the representation of a diff between two schemas.

Used in: DiffSchemaResponse

message ReflectionSchemaFilter

schema_service.proto:130

ReflectionSchemaFilter is a filter that can be applied to the schema on reflection.

Used in: ReflectSchemaRequest

message ReflectionTypeReference

schema_service.proto:187

ReflectionTypeReference is the representation of a type reference in the schema.

Used in: ReflectionRelation, ReflectionRelationSubjectTypeChange

message Relationship

core.proto:15

Relationship specifies how a resource relates to a subject. Relationships form the data for the graph over which all permissions questions are answered.

Used in: BulkExportRelationshipsResponse, BulkImportRelationshipsRequest, ExportBulkRelationshipsResponse, ImportBulkRelationshipsRequest, ReadRelationshipsResponse, RelationshipUpdate

message RelationshipFilter

permission_service.proto:171

RelationshipFilter is a collection of filters which when applied to a relationship will return relationships that have exactly matching fields. All fields are optional and if left unspecified will not filter relationships, but at least one field must be specified. NOTE: The performance of the API will be affected by the selection of fields on which to filter. If a field is not indexed, the performance of the API can be significantly slower.

Used in: BulkExportRelationshipsRequest, DeleteRelationshipsRequest, ExperimentalRegisterRelationshipCounterRequest, ExportBulkRelationshipsRequest, Precondition, ReadRelationshipsRequest, WatchRequest

message RelationshipUpdate

core.proto:103

RelationshipUpdate is used for mutating a single relationship within the service. CREATE will create the relationship only if it doesn't exist, and error otherwise. TOUCH will upsert the relationship, and will not error if it already exists. DELETE will delete the relationship. If the relationship does not exist, this operation will no-op.

Used in: WatchResponse, WriteRelationshipsRequest

enum RelationshipUpdate.Operation

core.proto:104

Used in: RelationshipUpdate

message ResolvedSubject

permission_service.proto:671

ResolvedSubject is a single subject resolved within LookupSubjects.

Used in: LookupSubjectsResponse

message SubjectFilter

permission_service.proto:208

SubjectFilter specifies a filter on the subject of a relationship. subject_type is required and all other fields are optional, and will not impose any additional requirements if left unspecified.

Used in: RelationshipFilter

message SubjectFilter.RelationFilter

permission_service.proto:209

Used in: SubjectFilter

message SubjectReference

core.proto:52

SubjectReference is used for referring to the subject portion of a Relationship. The relation component is optional and is used for defining a sub-relation on the subject, e.g. group:123#members

Used in: materialize.v0.PermissionChange, BulkCheckPermissionRequestItem, CheckBulkPermissionsRequestItem, CheckDebugTrace, CheckPermissionRequest, DirectSubjectSet, LookupResourcesRequest, Relationship, v1alpha1.PermissionUpdate

message ZedToken

core.proto:76

ZedToken is used to provide causality metadata between Write and Check requests. See the authzed.api.v1.Consistency message for more information.

Used in: materialize.v0.BreakingSchemaChange, materialize.v0.Cursor, materialize.v0.LookupPermissionSetsRequest, materialize.v0.LookupPermissionSetsRequired, materialize.v0.PermissionChange, materialize.v0.PermissionSetChange, materialize.v0.WatchPermissionSetsRequest, materialize.v0.WatchPermissionSetsResponse, materialize.v0.WatchPermissionsRequest, materialize.v0.WatchPermissionsResponse, BulkCheckPermissionResponse, CheckBulkPermissionsResponse, CheckPermissionResponse, ComputablePermissionsResponse, Consistency, DeleteRelationshipsResponse, DependentRelationsResponse, DiffSchemaResponse, ExpandPermissionTreeResponse, ExperimentalComputablePermissionsResponse, ExperimentalDependentRelationsResponse, ExperimentalDiffSchemaResponse, ExperimentalReflectSchemaResponse, LookupResourcesResponse, LookupSubjectsResponse, ReadCounterValue, ReadRelationshipsResponse, ReadSchemaResponse, ReflectSchemaResponse, WatchRequest, WatchResponse, WriteRelationshipsResponse, WriteSchemaResponse, v1alpha1.WatchResourcesRequest, v1alpha1.WatchResourcesResponse