Skip to main content


A relation between a source object and a target object.

type Relation {
source: Object!
target: Object!
type: RelationType!
hash: Hash
lifecycle: Lifecycle!


source (Object!)

The source of the relation.

target (Object!)

The target of the relation.

type (RelationType!)

The type of relation.

hash (Hash)

Optional value of the hash value previously read from the directory.

If a hash value is specified and the relation being mutated already exists, the update will be rejected unless the hash value matches the existing relation's hash value. This can be used to ensure that the relation being mutated has not been modified since it was read from the directory.

lifecycle (Lifecycle!)

Metadata about the relation type's lifecycle.