Create a plugin asset bundle
POST/ui-plugins/v1/:pluginInstanceId/asset-bundles
This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to true to use this endpoint.
Accepts multipart/form-data with one or more parts named file. The bundle-relative path for each object is taken from the part's multipart filename (originalname). Paths are normalized (no .., no absolute paths) and stored under {pluginInstanceId}/{assetBundleId}/... in S3. Folder structure is preserved, not flattened.
Requirements:
- Bundle must include root
index.html - Configurable limits on file count, per-file bytes, and total bundle bytes
- Product license
idn:ui-plugins-authorrequired (404 if missing) - Caller tenant id is present (400
User context is invalidotherwise). The plugin instance must belong to that tenant (404 otherwise).
Creates a new immutable bundle record; previous active bundles are tombstoned via cleanupAfter. Emits the UI_PLUGIN_ASSET_BUNDLE_CREATED audit event.
Request
Responses
- 201
- 400
- 401
- 403
- 404
- 429
- 500
Asset bundle created
Client Error - Returned if the request body is invalid.
Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.
Forbidden - Returned if the user you are running as, doesn't have access to this end-point.
Not Found - returned if the request URL refers to a resource or object that does not exist
Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.
Internal Server Error - Returned if there is an unexpected error.