Möchte man Parameterwerte von Instanzen setzen oder auslesen, so benötigt man zunächst die Liste der Primärschlüssel der betreffenden Instanzen. Diese Liste erhält man mit der where-Funktion, bei Dateien auch mit der search-Funktion. Der folgende Request zeigt, wie alle Dateien ermittelt werden, die auf der Vorlage notes basieren und wie bei diesen Dateien der Wert des Parameters suppressExport auf 0 gesetzt wird:
<cm-request ...>
<obj-where>
<objClass>notes</objClass>
</obj-where>
<obj-set>
<suppressExport>0</suppressExport>
</obj-set>
</cm-request>
Natürlich können im set-Element die Werte mehrerer Parameter gleichzeitig gesetzt werden. Das where-Element kann bei den meisten Klassen ebenfalls mehrere Unterelemente haben, um die zu modifizierenden Instanzen nach Belieben zu selektieren:
<cm-request ...>
<obj-where>
<objClass>notes</objClass>
<nameLike>news</nameLike>
</obj-where>
<obj-set>
<suppressExport>0</suppressExport>
<workflowName>notesEditors</workflowName>
</obj-set>
</cm-request>
Ferner kann das where-Element bei fast allen Klassen auch leer sein. Auf diese Weise können alle Instanzen einer Klasse ermittelt werden:
<cm-request ...>
<obj-where/>
<obj-get>
<id/>
<path/>
</obj-get>
</cm-request>
Schließlich kann im where-Element mit dem Attribut maxResults die Höchstanzahl der zu liefernden Treffer angegeben werden:
<cm-request ...>
<obj-where maxResults="100"/>
<obj-get>
<...>
</obj-get>
</cm-request>
Auf where-Elemente muss stets ein Funktionselement unmittelbar folgen, mit dem Instanzen modifiziert oder Parameter von Instanzen ausgelesen werden. Eine solche Verbindung aus einem Instanzen ermittelnden Element und einem Element, das auf die ermittelten Instanzen zugreift, bildet eine Schleife. Das zweite, d. h. das modifizierende oder auslesende Funktionselement (meist ein set- oder get-Element) wird auf jede der zuvor ermittelten Instanzen angewendet. Ist bei einer get-Operation eine Instanz nicht definiert, wird als Ergebnis für diese Instanz ein leeres Element geliefert, das ein Client korrekt verarbeiten können muss. Dagegen wird bei set-Operationen in diesem Fall ein Fehler erzeugt.
Bei allen Klassen außer obj ist das where- Element das einzige, mit dem Instanzen ermittelt werden können. Bei obj gibt es neben obj-where das Funktionselement obj-search, mit dem man die erweiterte Suchfunktion der optionalen Search Cartridge nutzen kann.