SAP S/4HANA API Pagination, Filtering & Errors
SAP S/4HANA API pagination with limit and offset, filtering with where and sort, field selection, and stable error codes — one request shape via MindCloud.
Once your first SAP S/4HANA request works, use this page to shape real production requests. MindCloud keeps the app-specific API details behind one REST format, so you can control arguments, pagination, filtering, fields, and errors without learning a separate convention for every provider. If you have not connected SAP S/4HANA yet, start with Connect to SAP S/4HANA.
Arguments
Arguments are the inputs an action needs. Put them in the JSON body under the arguments field. Each SAP S/4HANA action page documents its exact argument keys and types. It also shows which arguments are required. Keys are case-sensitive. Requests with missing or invalid required arguments fail.
Request format
Choose a SAP S/4HANA action and send a POST request to its Universal API run URL. Authenticate with your MindCloud API Key. Put the connection, arguments, and response controls in the JSON body.
| Piece | Where it goes |
|---|---|
arguments | An object in the JSON body. Put all action fields inside it. |
connectionId | An optional public connection id in the JSON body. The API selects the default or only valid connection when omitted. |
limit, offset, where, sort, fields | Response controls in the JSON body. |
Pagination
Paginated list actions accept limit and offset in the JSON body. Some providers use page numbers, and some use cursors. MindCloud translates the request for SAP S/4HANA. Start at offset=0, add limit to the offset after each page, and stop when a page returns fewer rows than you asked for.
curl --request POST \
--url "https://connect.mindcloud.co/v2/universal/apps/sAPERPS4HANA/actions/list-business-partners/run" \
--header "Authorization: Bearer $MINDCLOUD_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"connectionId": "$CONNECTION_ID",
"arguments": {},
"limit": "25",
"offset": "0"
}'These SAP S/4HANA actions support pagination:
- List Customer Companies
- List Customer Sales Area Taxes
- List Customer Sales Areas
- List Customer Sales Partner Functions
- List Customers
- List Supplier Companies
- List Supplier Partner Functions
- List Supplier Purchasing Organizations
- List Supplier Withholding Taxes
- List Suppliers
Filtering
Filterable list actions accept a where body field written as an RSQL expression. MindCloud translates it into the filtering shape SAP S/4HANA supports. Each action page lists its filterable fields.
| Operator | Meaning | Example |
|---|---|---|
== / != | Equals / does not equal | status==active |
> >= < <= | Comparisons | createdAt>=2026-01-01 |
=like= | Contains text, with * wildcards | name=like=*dan* |
Combine conditions with ; for AND and , for OR: status==active;createdAt>=2026-01-01.
These SAP S/4HANA actions support filtering:
- List Customer Companies
- List Customer Sales Area Taxes
- List Customer Sales Areas
- List Customer Sales Partner Functions
- List Customers
- List Supplier Companies
- List Supplier Partner Functions
- List Supplier Purchasing Organizations
- List Supplier Withholding Taxes
- List Suppliers
Sorting
Sortable list actions accept a sort body field. Use a comma-separated list of fields with a - prefix for descending order, such as sort=-createdAt,name. MindCloud maps it into the sorting format SAP S/4HANA supports, and the sortable fields are listed on each action page.
These SAP S/4HANA actions support sorting:
- List Customer Companies
- List Customer Sales Area Taxes
- List Customer Sales Areas
- List Customer Sales Partner Functions
- List Customers
- List Supplier Companies
- List Supplier Partner Functions
- List Supplier Purchasing Organizations
- List Supplier Withholding Taxes
- List Suppliers
Field selection
Use the fields body field to return only the response fields your code reads. Use dot notation for nested objects: fields=id,name,profile.email. Selection is applied to each row in data after the response is mapped, and id is kept whenever it exists so rows stay identifiable.
Responses and errors
Every SAP S/4HANA response is mapped into the same public envelope before it reaches your code: success, your rows in a data array (single-row actions return an array with one item), and optional meta. Failed requests return success: false with a stable code to branch on and a human-readable message:
{
"success": false,
"code": "CONNECTION_APP_MISMATCH",
"message": "Connection \"conn_123\" is not configured for this app."
}Check the HTTP status first: 401 or 403 for authentication and authorization, 400 for invalid request shape, and 5xx when MindCloud cannot complete the action upstream. Most failures come from a missing API Key, a missing or mismatched connection, or arguments that do not match the action page.