Search Business Objects
POST/api/ece/business-objects/:graphDBId/search
Searches Business Objects by shared attributes (Global Entities) and, optionally, object type, and returns one page of results. Filtering runs before pagination, so pages are exact.
The filter must contain at least one sharedAttribute predicate: a missing, empty or objectType-only filter is rejected with 400, because it would force a scan of every Business Object. See BusinessObjectFilter for the full filter grammar.
Search results carry the Business Object header fields (id, name, objectType, description). createdAt and sharedAttributes are not returned by search; use Get Business Object or List shared attributes for those.
Requires the content-lake-api.graphs.read permission (or hxpr.manage.everything).
Request
Responses
- 200
- 400
- 401
- 404
- 422
- 429
- 500
- 503
One page of Business Objects matching the filter.
Invalid request: ECE-400-INVALID_PARAM for a missing or non-selective filter ("filter must supply at least one sharedAttribute predicate ..."), an objectType predicate inside an or ("objectType inside OR is not supported"), more than one objectType predicate ("Multiple objectType predicates are not supported"), an or branch with no sharedAttribute predicate ("OR leaves must be sharedAttribute predicates"), a filter that expands to more than 64 predicates ("Filter is too complex ..."), a null include entry, or an invalid offset/limit ("offset must be >= 0, got: N", "limit must be > 0, got: N"); ECE-400-INVALID_PAGE_SIZE when page.limit exceeds 100 ("limit N exceeds the maximum of 100"). A query parameter that is not a number (for example limit=abc) returns 400 ECE-400-INVALID_PARAM ("For input string: ..."). A search body that cannot be parsed (malformed JSON, a value of the wrong type, or no body) is rejected before the ECE handler with 400 and the platform's generic HxprErrorResponse body instead.
Not authenticated, or the caller lacks the required permission. Token and permission checks run before the ECE handler, so these failures use the platform's generic HxprErrorResponse body. ECE-401-UNAUTHENTICATED is returned when the graph backend rejects the caller's credentials.
ECE-404-NOT_FOUND: the graphDBId is unknown ("Unknown graphDBId:
ECE-422-UNSATISFIABLE_FILTER: the request is syntactically valid but the graph backend reports it as semantically impossible to satisfy.
ECE-429-RATE_LIMITED: the request was throttled. Wait for the number of seconds in the Retry-After header before retrying.
Response Headers
Number of seconds to wait before retrying (defaults to 2).
ECE-500-INTERNAL: unexpected server error. The message is always Internal Server Error; report the traceId rather than retrying blindly.
ECE-503-BACKEND_UNAVAILABLE: the graph backend is unavailable, no graph store is configured, or the query exceeded its deadline. Treat as transient and retry with backoff after the Retry-After interval.
Response Headers
Number of seconds to wait before retrying (defaults to 2).