This is an example of iterator-style API (job-get-iter), along with request and response packets obtained over 3 iterations. Please note that response objects are abbreviated (not all elements are shown).
* Iteration 1:
Request:
<job-get-iter>
<max-records>3</max-records>
</job-get-iter>
Response:
<results status="passed">
<attributes-list>
<job-info>
<job-id>1</job-id>
<job-name>Certificate Expiry Check</job-name>
<job-priority>low</job-priority>
<job-type>Security Certificate</job-type>
<job-uuid>c983750f-9eec-11df-8add-123478563412</job-uuid>
</job-info>
<job-info>
<job-id>2</job-id>
<job-name>CLUSTER BACKUP AUTO 8hour</job-name>
<job-priority>medium</job-priority>
<job-type>CLUSTER BACKUP</job-type>
<job-uuid>11118790-9eed-11df-8add-123478563412</job-uuid>
</job-info>
<job-info>
<job-id>3</job-id>
<job-name>CLUSTER BACKUP AUTO daily</job-name>
<job-priority>medium</job-priority>
<job-type>CLUSTER BACKUP</job-type>
<job-uuid>119c8993-9eed-11df-8add-123478563412</job-uuid>
</job-info>
</attributes-list>
<next-tag><job-get-iter-key-td>
<key-0>3</key-0>
</job-get-iter-key-td>
</next-tag>
<num-records>3</num-records>
</results>
Note: No tag is provided in the request for the first iteration. The response has the next-tag element which is required to be used in the next iteration. Also, note that the number of records (num-records) returned is equal to the maximum number of records (max-records) requested for. This indicates that there are more records present in the list.
* Iteration 2:
Request:
<job-get-iter>
<max-records>2</max-records>
<tag><job-get-iter-key-td>
<key-0>3</key-0>
</job-get-iter-key-td>
</tag>
</job-get-iter>
Response:
<results status="passed">
<attributes-list>
<job-info>
<job-id>4</job-id>
<job-name>CLUSTER BACKUP AUTO weekly</job-name>
<job-priority>medium</job-priority>
<job-type>CLUSTER BACKUP</job-type>
<job-uuid>119db730-9eed-11df-8add-123478563412</job-uuid>
</job-info>
<job-info>
<job-id>5</job-id>
<job-name>Vol Reaper</job-name>
<job-priority>high</job-priority>
<job-type>Vol Reaper</job-type>
<job-uuid>79129213-9eed-11df-8add-123478563412</job-uuid>
</job-info>
</attributes-list>
<next-tag><job-get-iter-key-td>
<key-0>5</key-0>
</job-get-iter-key-td>
</next-tag>
<num-records>2</num-records>
</results>
Note: The next-tag obtained in Iteration 1 is passed as the tag for Iteration 2.
* Iteration 3:
Request:
<job-get-iter>
<max-records>2</max-records>
<tag><job-get-iter-key-td>
<key-0>5</key-0>
</job-get-iter-key-td>
</tag>
</job-get-iter>
Response:
<results status="passed">
<attributes-list>
<job-info>
<job-id>6</job-id>
<job-name>Licensing</job-name>
<job-priority>low</job-priority>
<job-type>Cluster Licenses</job-type>
<job-uuid>794aab08-9eed-11df-8add-123478563412</job-uuid>
</job-info>
</attributes-list>
<num-records>1</num-records>
</results>
Note: The response does not contain any next-tag element which confirms that no more iteration is required (as no more records are left in the list). This is also indicated by num-records element as it is less than max-records.