(Preview) Create a bundle
post
/20260430/aiDataPlatforms/{aiDataPlatformId}/workspaces/{workspaceKey}/actions/createBundle
(Preview) Creates a new bundle.
A bundle is a self-contained, portable representation of selected workspace assets, such as jobs
and agent flows, along with their dependencies and associated code artifacts. It captures both
the resource configurations and the supporting assets required to recreate those resources in
another workspace or environment.
The bundle manifest is named `aidp_workbench.yaml`. The bundle preserves the workspace folder
structure for code artifacts from the location where it was created, so the generated bundle
mirrors the source layout.
Dependencies are tracked inside the bundle under each asset type:
- job and agent flow dependencies are added under the `dependencies` folder inside the
`jobs` and `agentflows` folders
- code dependencies are added under the `artifacts` directory in the bundle
Dependency references use template variables, for example:
- compute: `$${jobs.dependencies.training_compute.compute.key}`
- nested jobs: `$${jobs.dependencies.training_job.job.key}`
- aicompute: `$${jobs.dependencies.training_aicompute.aicompute.key}`
Bundles also support the special variable `$${bundle.root}`, which points to the root of the
bundle folder and is used for referencing artifacts.
Variables and overrides:
- bundles support parameterization using variables defined in the bundle manifest
(`aidp_workbench.yaml`)
Example manifest defaults:
defaults:
variables:
job_compute_key: "$${jobs.dependencies.small.compute.key}"
- variables can be referenced in resource descriptors using the `$${var.}` syntax
Example usage in a job descriptor:
"clusterKey": "$${var.job_compute_key}"
- workspace-specific overrides can be provided via `.aidp/overrides.yaml` inside the bundle
- this file is intended for environment-specific configuration and should not be committed to Git,
allowing the bundle to remain portable and environment-agnostic
Example overrides file:
variables:
job_compute_key: f6e7f5d8-d965-4009-95d9-02e993d9a16b
- when an override is provided, the referenced dependency (for example, compute) is not created,
and the provided value is used instead
- when no override is provided, the system falls back to the default variable value, which may
reference a dependency included in the bundle (resulting in that dependency being created)
- this mechanism enables environment-specific customization (for example, reusing existing
infrastructure in production while creating new resources in development)
- the same pattern can be used for other environment-specific parameters such as compute shape,
number of OCPUs, or other configuration values
Git integration and promotion:
- bundles can only be created inside Git-backed workspace folders
- bundles are self-contained packages that include resource definitions, dependency references,
and associated code artifacts required to recreate the bundled resources
- the entire bundle folder can be committed and pushed to a Git repository
- bundles can be pulled into another workspace via Git and deployed there
- bundles can be promoted across environments (for example, dev ??? test ??? prod) using Git workflows
- because the bundle includes both resource configuration and code dependencies, it can be used
to reliably replicate assets across workspaces
This operation is asynchronous. The service validates the request, starts bundle
creation, and returns an async operation key in the response headers. Use the async
operation APIs to track completion.
Typical use cases:
- capture selected workspace resources into a version-controlled bundle
- prepare a bundle for later deployment or promotion
- establish a bundle root that can later be inspected, updated, or deployed
Request notes:
- `path` identifies the parent folder in the workspace volume where the bundle should be created
- `name` identifies the bundle folder name
- `bundledResources` identifies which workspace resources should be included
Request
Path Parameters
-
aiDataPlatformId(required): string
Minimum Length:
1Maximum Length:500The [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the AI Data Platform (Data Lake) instance. -
workspaceKey(required): string
Minimum Length:
1Maximum Length:200The key of the Workspace
Header Parameters
-
opc-request-id: string
Maximum Length:
255Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. The only valid characters for request IDs are letters, numbers, underscore, and dash. -
opc-retry-token: string
Maximum Length:
64A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of running that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations. For example, if a resource has been deleted and removed from the system, then a retry of the original creation request might be rejected.
Request payload for bundle creation.
Root Schema : CreateBundleDetails
Type:
objectRequest body to create a new bundle.
Show Source
-
bundledResources:
array bundledResources
Minimum Number of Items:
0Maximum Number of Items:13000List of workspace resource descriptors (jobs, agentflows) to be included. Each has minimally resourceType and resourceKey. -
description:
string
Maximum Length:
1024Description for the bundle. -
name(required):
string
Minimum Length:
1Maximum Length:128Pattern:^[A-Za-z0-9_]+$Name for the new bundle. -
path(required):
string
Minimum Length:
10Maximum Length:1024Pattern:^/Workspace(?:/(?!\.{1,2}(?:/|$))[^/\\\r\n]+)*/?$Target folder for the new bundle.
Nested Schema : bundledResources
Type:
arrayMinimum Number of Items:
0Maximum Number of Items:
13000List of workspace resource descriptors (jobs, agentflows) to be included.
Each has minimally resourceType and resourceKey.
Show Source
-
Array of:
object BundledResource
Descriptor for a workspace resource (Job/Agentflow) to include in a bundle.
Nested Schema : BundledResource
Type:
objectDescriptor for a workspace resource (Job/Agentflow) to include in a bundle.
Show Source
-
resourceKey(required):
string
Minimum Length:
1Maximum Length:255Pattern:^[A-Za-z0-9_.:-]+$Workspace unique key for the resource. -
resourceType(required):
string
Allowed Values:
[ "JOB", "AGENTFLOW" ]Type of resource (job or agentflow).
Response
Supported Media Types
- application/json
202 Response
Accepted. Bundle creation initiated.
Headers
-
aidp-async-operation-key: string
The key of the asynchronous operations associated with an AI Data Platform instance. Use GetAsyncOperation with this key to track the status of the request.
-
opc-request-id: string
Unique Oracle-assigned ID for the request. If you need to contact Oracle about a particular request, please provide the request ID.
400 Response
Bad Request (invalid query parameters, malformed headers, and so on).
Headers
-
opc-request-id: string
Unique Oracle-assigned ID for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Root Schema : Error
Type:
objectError information.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing.
-
message(required):
string
A human-readable error message.
401 Response
Unauthorized (missing or expired credentials, and so on).
Headers
-
opc-request-id: string
Unique Oracle-assigned ID for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Root Schema : Error
Type:
objectError information.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing.
-
message(required):
string
A human-readable error message.
404 Response
Not Found. The requested resource was not found.
Headers
-
opc-request-id: string
Unique Oracle-assigned ID for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Root Schema : Error
Type:
objectError information.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing.
-
message(required):
string
A human-readable error message.
409 Response
Conflict. Request conflicts with the current state of the resource.
Headers
-
opc-request-id: string
Unique Oracle-assigned ID for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Root Schema : Error
Type:
objectError information.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing.
-
message(required):
string
A human-readable error message.
429 Response
Too Many Requests. Too many requests sent to the server in a short period.
Headers
-
opc-request-id: string
Unique Oracle-assigned ID for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Root Schema : Error
Type:
objectError information.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing.
-
message(required):
string
A human-readable error message.
500 Response
Internal Server Error. The server encountered an unexpected condition preventing fulfilment of the request.
Headers
-
opc-request-id: string
Unique Oracle-assigned ID for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Root Schema : Error
Type:
objectError information.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing.
-
message(required):
string
A human-readable error message.
Default Response
Unknown Error. Error is not recognized by the system.
Headers
-
opc-request-id: string
Unique Oracle-assigned ID for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Root Schema : Error
Type:
objectError information.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing.
-
message(required):
string
A human-readable error message.