Skip to main content


Input for the setObject mutation.

If id is set, the mutation updates an existing object. In this case type is optional and if specfied, must match the type of the existing object.

If id is not set then type and key are required. If an object with the same type and key already exists, it is updated, otherwise a new object is created.

input SetObjectInput {
id: ID
type: ObjectTypeSelector!
key: String!
displayName: String!
properties: Map!
hash: Hash


id (ID)

ID of an existing object to update. If set, an object with the specified ID must already exist and the mutation updates its attributes.

type (ObjectTypeSelector!)

The type of object to create or update. If id is set, type must match the type of the existing object.

key (String!)

The key of the object to create or update. If id is set, key is optional and, if specified, replaces the object' existing key.

displayName (String!)

Optional display name for a new object or new name for an existing object.

properties (Map!)

Optional set of JSON properties to be set on the object. If the object already exists, its properties are replaced by the specified values.

hash (Hash)

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

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