https://<your-sap-instance>/sap/opu/odata/sap/<SERVICE_NAME>/https://<your-integration-suite-tenant>/sap/opu/odata/sap/<service_name>/$metadata to the service root:GET https://<your-sap-instance>/sap/opu/odata/sap/<service_name>/$metadatahttps://<your-integration-suite-tenant>/http/api/<endpoint>Authorization header with your SAP credentials encoded in Base64 on every request.Authorization: Basic <base64(username:password)>curl -X GET \
"https://<your-sap-instance>/sap/opu/odata/sap/API_BUSINESS_PARTNER/A_BusinessPartner" \
-H "Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=" \
-H "Accept: application/json"Keep credentials secure. Never expose your SAP username or password in client-side code or public repositories. Use environment variables or a secrets manager instead.
$-prefixed System Query Options that control which data is returned and how it is shaped. These are appended to the resource URI as query string parameters.| Parameter | Description | Example |
|---|---|---|
$select | Return only the specified Properties. | $select=BusinessPartner,FirstName,LastName |
$filter | Filter Entries by a condition. | $filter=BusinessPartnerCategory eq '1' |
$orderby | Order Entries by one or more Properties. | $orderby=CreationDate desc |
$top | Return only the first N Entries. | $top=20 |
$skip | Skip the first N Entries. | $skip=40 |
$expand | Expand a Navigation Property inline in the response. | $expand=to_BusinessPartnerAddress |
$inlinecount | Include a count of Entries in the Collection alongside results. | $inlinecount=allpages |
$format | Request the response format. Prefer the Accept header instead. | $format=json |
A_BusinessPartner Collection filtered by category, returning only key Properties:GET https://<your-sap-instance>/sap/opu/odata/sap/API_BUSINESS_PARTNER/A_BusinessPartner?$filter=BusinessPartnerCategory eq '1'&$top=10&$select=BusinessPartner,FirstName,LastName$top and $skip together to page through a Collection. $top sets the page size; $skip offsets the starting Entry.Page 1: GET .../A_BusinessPartner?$top=25&$skip=0
Page 2: GET .../A_BusinessPartner?$top=25&$skip=25
Page 3: GET .../A_BusinessPartner?$top=25&$skip=50$inlinecount=allpages in your request. The response will contain a __count field alongside the results.$orderby System Query Option accepts one or more comma-separated Property names, each optionally followed by asc (default) or desc.$orderby=CreationDate desc, LastName asc$filter System Query Option supports standard OData comparison and logical operators:| Operator | Description | Example |
|---|---|---|
eq | Equal | $filter=BusinessPartnerCategory eq '1' |
ne | Not equal | $filter=BusinessPartnerCategory ne '2' |
gt / ge | Greater than / or equal | $filter=CreationDate ge datetime'2024-01-01T00:00:00' |
lt / le | Less than / or equal | $filter=CreationDate le datetime'2024-12-31T00:00:00' |
and / or | Logical operators | $filter=BusinessPartnerCategory eq '1' and IsMarkedForArchiving eq false |
substringof | String contains | $filter=substringof('John', FirstName) |
startswith | String starts with | $filter=startswith(LastName, 'Smi') |
datetime literal format as shown above.2xx; client errors return 4xx; server errors return 5xx.| Code | Description |
|---|---|
200 OK | The request succeeded and the response body contains the requested data. |
201 Created | A new resource was successfully created. |
204 No Content | The request succeeded but there is no response body (e.g. after a delete or update). |
400 Bad Request | The request was malformed, contained invalid query options, or was missing required fields. |
401 Unauthorized | Authentication credentials are missing or invalid. Check your Authorization header. |
403 Forbidden | The authenticated user does not have the required SAP role to perform this operation. |
404 Not Found | The requested resource or Entry does not exist. |
405 Method Not Allowed | The HTTP method is not supported on this endpoint. |
406 Not Acceptable | The requested response format is not supported. Check your Accept header. |
500 Internal Server Error | An unexpected error occurred. Contact your SAP system administrator if the issue persists. |
code and message field:{
"error": {
"code": "ABC/123",
"message": {
"lang": "en",
"value": "Entity not found."
}
}
}SAP Integration Suite endpoints: CPI integration flows return standard HTTP status codes where explicitly configured. If no custom error handling is defined in the integration flow, CPI defaults to returning 500for any processing failure regardless of the underlying cause. Refer to each endpoint's documentation for its specific error behaviour.