> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# soap_paginated_request

> Step function: soap_paginated_request

## Input

<Tabs>
  <Tab title="v1">
    <table>
      <colgroup>
        <col width="210" />

        <col width="400" />

        <col width="90" />

        <col width="90" />
      </colgroup>

      <thead>
        <tr>
          <th>Field</th>
          <th>Description</th>
          <th>Type</th>
          <th>Required</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>[`args`](#args)</td>
          <td>Request parameters to send as query, body, or header values.</td>
          <td>object\[]</td>
          <td>No</td>
        </tr>

        <tr>
          <td>[`authorization`](#authorization)</td>
          <td>Overrides the connector's default authentication for this request.</td>
          <td>union</td>
          <td>No</td>
        </tr>

        <tr>
          <td>`baseUrl`</td>
          <td>Overrides the connector's base URL for the SOAP service.</td>
          <td>string</td>
          <td>No</td>
        </tr>

        <tr>
          <td>[`cursor`](#cursor)</td>
          <td>Pagination position carried over from the previous page request.</td>
          <td>object</td>
          <td>No</td>
        </tr>

        <tr>
          <td>[`customErrors`](#customerrors)</td>
          <td>Remaps matching provider error responses to different statuses or messages.</td>
          <td>object\[]</td>
          <td>No</td>
        </tr>

        <tr>
          <td>`encodeQueryParams`</td>
          <td>Whether to URL-encode query parameter values before sending.</td>
          <td>boolean</td>
          <td>No</td>
        </tr>

        <tr>
          <td>`envelope`</td>
          <td>SOAP envelope template, as a string or object, used to build the request body.</td>
          <td>union</td>
          <td>No</td>
        </tr>

        <tr>
          <td>[`iterator`](#iterator)</td>
          <td>Controls how subsequent pages are requested.</td>
          <td>object</td>
          <td>Yes</td>
        </tr>

        <tr>
          <td>`method`</td>
          <td>HTTP method to use for the SOAP call, typically post.<br />Allowed: `get`, `post`, `put`, `delete`, `patch`</td>
          <td>enum</td>
          <td>Yes</td>
        </tr>

        <tr>
          <td>[`namespaces`](#namespaces)</td>
          <td>XML namespace declarations added to the SOAP envelope.</td>
          <td>object\[]</td>
          <td>No</td>
        </tr>

        <tr>
          <td>[`response`](#response)</td>
          <td>Controls how each page response is parsed and paginated.</td>
          <td>object</td>
          <td>No</td>
        </tr>

        <tr>
          <td>`soapAction`</td>
          <td>Value sent in the SOAPAction HTTP header.</td>
          <td>string</td>
          <td>No</td>
        </tr>

        <tr>
          <td>`soapOperation`</td>
          <td>Name of the SOAP operation to invoke.</td>
          <td>string</td>
          <td>No</td>
        </tr>

        <tr>
          <td>`url`</td>
          <td>SOAP endpoint path appended to the base URL.</td>
          <td>string</td>
          <td>Yes</td>
        </tr>

        <tr>
          <td>`useSoapContext`</td>
          <td>Whether to wrap the request using the SOAP context.<br />Default: `true`</td>
          <td>boolean</td>
          <td>Yes</td>
        </tr>
      </tbody>
    </table>

    <AccordionGroup>
      <Accordion title="args">
        Request parameters to send as query, body, or header values.

        <table>
          <colgroup>
            <col width="210" />

            <col width="400" />

            <col width="90" />

            <col width="90" />
          </colgroup>

          <thead>
            <tr>
              <th>Field</th>
              <th>Description</th>
              <th>Type</th>
              <th>Required</th>
            </tr>
          </thead>

          <tbody>
            <tr>
              <td>`arrayFormat`</td>
              <td>How array values are serialized in the query string: repeat, brackets, comma, or stringify.<br />Allowed: `repeat`, `brackets`, `comma`, `stringify`</td>
              <td>enum</td>
              <td>No</td>
            </tr>

            <tr>
              <td>`condition`</td>
              <td>A JEXL expression that includes the parameter only when it evaluates true.</td>
              <td>string</td>
              <td>No</td>
            </tr>

            <tr>
              <td>`in`</td>
              <td>Where to send the parameter: query, body, or headers.<br />Allowed: `query`, `body`, `headers`</td>
              <td>enum</td>
              <td>Yes</td>
            </tr>

            <tr>
              <td>`name`</td>
              <td>Name of the request parameter.</td>
              <td>string</td>
              <td>Yes</td>
            </tr>

            <tr>
              <td>`value`</td>
              <td>Value of the parameter. Supports expressions.</td>
              <td>any</td>
              <td>Yes</td>
            </tr>
          </tbody>
        </table>
      </Accordion>

      <Accordion title="authorization">
        Overrides the connector's default authentication for this request.

        <Tabs>
          <Tab title="none">
            <table>
              <colgroup>
                <col width="210" />

                <col width="400" />

                <col width="90" />

                <col width="90" />
              </colgroup>

              <thead>
                <tr>
                  <th>Field</th>
                  <th>Description</th>
                  <th>Type</th>
                  <th>Required</th>
                </tr>
              </thead>

              <tbody>
                <tr>
                  <td>`type`</td>
                  <td>Selects no authentication.</td>
                  <td>string</td>
                  <td>Yes</td>
                </tr>
              </tbody>
            </table>
          </Tab>

          <Tab title="basic">
            <table>
              <colgroup>
                <col width="210" />

                <col width="400" />

                <col width="90" />

                <col width="90" />
              </colgroup>

              <thead>
                <tr>
                  <th>Field</th>
                  <th>Description</th>
                  <th>Type</th>
                  <th>Required</th>
                </tr>
              </thead>

              <tbody>
                <tr>
                  <td>`encoding`</td>
                  <td>Encoding applied to the username and password, such as base64.</td>
                  <td>string</td>
                  <td>No</td>
                </tr>

                <tr>
                  <td>`password`</td>
                  <td>Password for basic authentication.</td>
                  <td>string</td>
                  <td>No</td>
                </tr>

                <tr>
                  <td>`type`</td>
                  <td>Selects HTTP basic authentication.</td>
                  <td>string</td>
                  <td>Yes</td>
                </tr>

                <tr>
                  <td>`username`</td>
                  <td>Username for basic authentication.</td>
                  <td>string</td>
                  <td>No</td>
                </tr>
              </tbody>
            </table>
          </Tab>

          <Tab title="bearer">
            <table>
              <colgroup>
                <col width="210" />

                <col width="400" />

                <col width="90" />

                <col width="90" />
              </colgroup>

              <thead>
                <tr>
                  <th>Field</th>
                  <th>Description</th>
                  <th>Type</th>
                  <th>Required</th>
                </tr>
              </thead>

              <tbody>
                <tr>
                  <td>`includeBearer`</td>
                  <td>Whether to prefix the token with `Bearer ` in the header. Defaults to true.<br />Default: `true`</td>
                  <td>boolean</td>
                  <td>Yes</td>
                </tr>

                <tr>
                  <td>`token`</td>
                  <td>Bearer token sent with the request.</td>
                  <td>string</td>
                  <td>Yes</td>
                </tr>

                <tr>
                  <td>`type`</td>
                  <td>Selects bearer token authentication.</td>
                  <td>string</td>
                  <td>Yes</td>
                </tr>
              </tbody>
            </table>
          </Tab>

          <Tab title="oauth2">
            <table>
              <colgroup>
                <col width="210" />

                <col width="400" />

                <col width="90" />

                <col width="90" />
              </colgroup>

              <thead>
                <tr>
                  <th>Field</th>
                  <th>Description</th>
                  <th>Type</th>
                  <th>Required</th>
                </tr>
              </thead>

              <tbody>
                <tr>
                  <td>`includeBearer`</td>
                  <td>Whether to prefix the token with `Bearer ` in the header. Defaults to true.<br />Default: `true`</td>
                  <td>boolean</td>
                  <td>Yes</td>
                </tr>

                <tr>
                  <td>`token`</td>
                  <td>OAuth 2.0 access token sent with the request.</td>
                  <td>string</td>
                  <td>Yes</td>
                </tr>

                <tr>
                  <td>`type`</td>
                  <td>Selects OAuth 2.0 authentication.</td>
                  <td>string</td>
                  <td>Yes</td>
                </tr>
              </tbody>
            </table>
          </Tab>
        </Tabs>
      </Accordion>

      <Accordion title="cursor">
        Pagination position carried over from the previous page request.

        <table>
          <colgroup>
            <col width="210" />

            <col width="400" />

            <col width="90" />

            <col width="90" />
          </colgroup>

          <thead>
            <tr>
              <th>Field</th>
              <th>Description</th>
              <th>Type</th>
              <th>Required</th>
            </tr>
          </thead>

          <tbody>
            <tr>
              <td>`position`</td>
              <td>How far into the previous page was read, so this request resumes from there.</td>
              <td>union</td>
              <td>No</td>
            </tr>

            <tr>
              <td>`token`</td>
              <td>Cursor token from the previous page used to fetch the next one.</td>
              <td>union</td>
              <td>No</td>
            </tr>
          </tbody>
        </table>
      </Accordion>

      <Accordion title="customErrors">
        Remaps provider error responses to different statuses or messages. Useful for GraphQL APIs that return errors with a 200 status, normalizing provider-specific error formats, and giving AI agents clearer error messages.

        <table>
          <colgroup>
            <col width="210" />

            <col width="400" />

            <col width="90" />

            <col width="90" />
          </colgroup>

          <thead>
            <tr>
              <th>Field</th>
              <th>Description</th>
              <th>Type</th>
              <th>Required</th>
            </tr>
          </thead>

          <tbody>
            <tr>
              <td>`condition`</td>
              <td>A JEXL expression that applies the remap only when it evaluates true.</td>
              <td>string</td>
              <td>No</td>
            </tr>

            <tr>
              <td>`message`</td>
              <td>Error message to return in place of the provider's.</td>
              <td>string</td>
              <td>No</td>
            </tr>

            <tr>
              <td>`receivedStatus`</td>
              <td>Provider HTTP status code to match.</td>
              <td>number</td>
              <td>Yes</td>
            </tr>

            <tr>
              <td>`targetStatus`</td>
              <td>HTTP status code to return in place of the matched one.</td>
              <td>number</td>
              <td>Yes</td>
            </tr>
          </tbody>
        </table>
      </Accordion>

      <Accordion title="iterator">
        Controls how subsequent pages are requested.

        <table>
          <colgroup>
            <col width="210" />

            <col width="400" />

            <col width="90" />

            <col width="90" />
          </colgroup>

          <thead>
            <tr>
              <th>Field</th>
              <th>Description</th>
              <th>Type</th>
              <th>Required</th>
            </tr>
          </thead>

          <tbody>
            <tr>
              <td>`in`</td>
              <td>Where the pagination field is sent: query or body.<br />Allowed: `query`, `body`</td>
              <td>enum</td>
              <td>Yes</td>
            </tr>

            <tr>
              <td>`key`</td>
              <td>Request field name that carries the page token or number.</td>
              <td>string</td>
              <td>Yes</td>
            </tr>
          </tbody>
        </table>
      </Accordion>

      <Accordion title="namespaces">
        XML namespace declarations added to the SOAP envelope.

        <table>
          <colgroup>
            <col width="210" />

            <col width="400" />

            <col width="90" />

            <col width="90" />
          </colgroup>

          <thead>
            <tr>
              <th>Field</th>
              <th>Description</th>
              <th>Type</th>
              <th>Required</th>
            </tr>
          </thead>

          <tbody>
            <tr>
              <td>`namespace`</td>
              <td>Namespace URI bound to the prefix.</td>
              <td>string</td>
              <td>Yes</td>
            </tr>

            <tr>
              <td>`namespaceIdentifier`</td>
              <td>XML namespace prefix.</td>
              <td>string</td>
              <td>Yes</td>
            </tr>
          </tbody>
        </table>
      </Accordion>

      <Accordion title="response">
        Controls how each page response is parsed and paginated.

        <table>
          <colgroup>
            <col width="210" />

            <col width="400" />

            <col width="90" />

            <col width="90" />
          </colgroup>

          <thead>
            <tr>
              <th>Field</th>
              <th>Description</th>
              <th>Type</th>
              <th>Required</th>
            </tr>
          </thead>

          <tbody>
            <tr>
              <td>`collection`</td>
              <td>Currently not in use.</td>
              <td>boolean</td>
              <td>No</td>
            </tr>

            <tr>
              <td>`dataKey`</td>
              <td>Path to the records array within the response.</td>
              <td>string</td>
              <td>No</td>
            </tr>

            <tr>
              <td>`indexField`</td>
              <td>Field used to key results when returning an indexed map.</td>
              <td>string</td>
              <td>No</td>
            </tr>

            <tr>
              <td>`nextKey`</td>
              <td>Path to the next-page token or cursor in the response.</td>
              <td>string</td>
              <td>No</td>
            </tr>

            <tr>
              <td>`nextKeyIn`</td>
              <td>Where the next-page token is read from: the response data or headers.<br />Allowed: `data`, `headers`</td>
              <td>enum</td>
              <td>No</td>
            </tr>
          </tbody>
        </table>
      </Accordion>
    </AccordionGroup>
  </Tab>
</Tabs>

## Output

<Tabs>
  <Tab title="v1">
    <table>
      <colgroup>
        <col width="210" />

        <col width="400" />

        <col width="90" />

        <col width="90" />
      </colgroup>

      <thead>
        <tr>
          <th>Field</th>
          <th>Description</th>
          <th>Type</th>
          <th>Required</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>`data`</td>
          <td>Records accumulated across the fetched pages.</td>
          <td>any</td>
          <td>No</td>
        </tr>

        <tr>
          <td>`message`</td>
          <td>Status or error message from the response.</td>
          <td>string</td>
          <td>No</td>
        </tr>

        <tr>
          <td>`next`</td>
          <td>Cursor token for the next page. Null means the next request continues from `position` in the current page, and it is omitted when no pages remain.</td>
          <td>union</td>
          <td>No</td>
        </tr>

        <tr>
          <td>`position`</td>
          <td>How far into the current page has been read, saved in the cursor so the next request resumes from there.</td>
          <td>number</td>
          <td>No</td>
        </tr>

        <tr>
          <td>`raw`</td>
          <td>The raw provider response before parsing.</td>
          <td>any</td>
          <td>No</td>
        </tr>

        <tr>
          <td>`statusCode`</td>
          <td>HTTP status code of the provider response.</td>
          <td>number</td>
          <td>Yes</td>
        </tr>
      </tbody>
    </table>
  </Tab>
</Tabs>
