Skip to main content
Apply a batch of mutations to a graph session object.

POST /revisions/:id/data/command (Command: apply_session_graph_mutations)

Mutations are applied atomically in the order listed. Optimistic concurrency is supported per element via if_rev.

Request Body

Mutation Operation Types

Each entry in operations is an object with an op discriminator and op-specific fields: add_vertex requires a non-empty labels list. Labels are set only at creation and are immutable afterward, so there are no label-mutation operations (set_labels, add_labels, remove_labels do not exist). Every operation may optionally include if_rev (integer). If present, the server checks that the current rev of the element matches if_rev before applying the operation. A mismatch aborts the entire batch and returns graph_mutation_conflict (409).

Response

Errors

  • invalid_graph_envelope — the alias does not exist or its value.type is not "graph".
  • invalid_vertex_labels — an add_vertex op omitted labels or supplied only empty/whitespace labels; a vertex must be created with at least one non-empty label.
  • graph_element_too_large — a single element’s serialized props exceed the server-side size cap.
  • graph_mutation_too_large — the total serialized size of the mutation batch exceeds the cap.
  • graph_mutation_conflict (409) — an if_rev check failed; the batch was not applied.

Example

See also