Skip to main content


A kind of relation that can exist between subjects and resources.

type RelationType {
id: TypeID!
objectType: ObjectType!
name: String!
displayName: String!
ordinal: Int!
status: [Flag!]!
unions: [RelationType!]!
hash: Hash!
lifecycle: Lifecycle!
first: Int!
after: Cursor
): PermissionConnection!


id (TypeID!)

Unique identifier of the relation type.

objectType (ObjectType!)

The type of object that can be part of the relation.

name (String!)

Unique name for the relation type. Unique for the object type.

displayName (String!)

Display name for the relation type.

ordinal (Int!)

Sort order of the relation type.

status ([Flag!]!)

A set of flags that describe the status of the object type.

unions ([RelationType!]!)

A list of relation types that are supertypes of this relation type.

This relation type receives all permissions defined in the supertypes. Unioned relation types must be defined with the same object type.

hash (Hash!)

A hash value of relation type's fields.

lifecycle (Lifecycle!)

Metadata about the relation type's lifecycle.

permissions (PermissionConnection!)

The permissions that the relation grants to subjects.