The following examples show how to create a Release Bundle v2 version using different source types.
Source Type – AQL
# Request
curl -X POST -u <USERNAME>:<TOKEN> -H "Content-Type: application/json" \
"https://jfrog-platform.example.com/lifecycle/api/v2/release_bundle?repository_key=release-bundles-repo" \
-d '{
"release_bundle_name": "aql-example",
"release_bundle_version": "1.0",
"sources": [
{
"source_type": "aql",
"aql": "items.find({\"repo\":\"generic-local\",\"path\":{\"$match\":\"configs/*\"}})"
}
]
}'
Source Type – Artifacts
# Request
curl -X POST -u <USERNAME>:<TOKEN> -H "Content-Type: application/json" \
"https://jfrog-platform.example.com/lifecycle/api/v2/release_bundle?repository_key=release-bundles-repo" \
-d '{
"release_bundle_name": "artifacts-example",
"release_bundle_version": "1.0",
"sources": [
{
"source_type": "artifacts",
"artifacts": [
{ "path": "generic-local/app.jar", "sha256": "f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2" },
{ "path": "generic-local/config.yaml" }
]
}
]
}'Source Type – Builds
# Request
curl -X POST -u <USERNAME>:<TOKEN> -H "Content-Type: application/json" \
"https://jfrog-platform.example.com/lifecycle/api/v2/release_bundle?repository_key=release-bundles-repo" \
-d '{
"release_bundle_name": "builds-example",
"release_bundle_version": "1.0",
"sources": [
{
"source_type": "builds",
"build_repository": "artifactory-build-info",
"build_name": "my-app-build",
"build_number": "42",
"build_started": "2025-07-06T10:00:00.000Z"
}
]
}'
Source Type – Packages
# Request
curl -X POST -u <USERNAME>:<TOKEN> -H "Content-Type: application/json" \
"https://jfrog-platform.example.com/lifecycle/api/v2/release_bundle?repository_key=release-bundles-repo" \
-d '{
"release_bundle_name": "packages-example",
"release_bundle_version": "1.0",
"sources": [
{
"source_type": "packages",
"repository_key": "npm-local",
"package_name": "my-npm-package",
"package_version": "2.1.5"
}
]
}'Source Type – Release Bundles
# Request
curl -X POST -u <USERNAME>:<TOKEN> -H "Content-Type: application/json" \
"https://jfrog-platform.example.com/lifecycle/api/v2/release_bundle?repository_key=release-bundles-repo" \
-d '{
"release_bundle_name": "release-bundle-example",
"release_bundle_version": "2.0",
"sources": [
{
"source_type": "release_bundle",
"repository_key": "release-bundles-repo",
"release_bundle_name": "base-platform",
"release_bundle_version": "1.5"
}
]
}'Multiple Source Types
The following example creates a major release by combining artifacts from all possible source types into a single Release Bundle version.
Request:
curl -X POST -u <USERNAME>:<TOKEN> \ -H "Content-Type: application/json" \ -H "X-JFrog-Signing-Key-Name: my-signing-key" \ "https://jfrog-platform.example.com/lifecycle/api/v2/release_bundle?repository_key=release-bundles-repo&async=true" \ -d @request-body.json
request-body.json
{
"release_bundle_name": "Mega-Release",
"release_bundle_version": "v3.0.0-GA",
"tag": "general-availability",
"sources": [
{
"source_type": "builds",
"build_repository": "artifactory-build-info",
"build_name": "backend-service",
"build_number": "288",
"build_started": "2025-07-06T18:00:00.000Z",
"include_dependencies": true
},
{
"source_type": "packages",
"repository_key": "npm-local",
"package_name": "frontend-ui-kit",
"package_version": "4.1.0"
},
{
"source_type": "release_bundle",
"repository_key": "release-bundles-repo",
"project_key": "shared-svcs",
"release_bundle_name": "auth-service",
"release_bundle_version": "1.8.2"
},
{
"source_type": "artifacts",
"artifacts": [
{ "path": "generic-local/legal/EULA.pdf" }
]
},
{
"source_type": "aql",
"aql": "items.find({\"repo\":\"docker-local\",\"path\":{\"$match\":\"base-images/ubi\"},\"name\":{\"$match\":\"8.*\"}})"
}
]
}
Successful response (asynchronous):
{
"repository_key": "release-bundles-repo",
"release_bundle_name": "Mega-Release",
"release_bundle_version": "v3.0.0-GA",
"created": "2025-07-06T13:20:00.000Z"
}
Bad Request:
The following request is missing a required field (release_bundle_name):
curl -X POST -u <USERNAME>:<TOKEN> \
-H "Content-Type: application/json" \
"https://jfrog-platform.example.com/lifecycle/api/v2/release_bundle?repository_key=release-bundles-repo" \
-d '{
"release_bundle_version": "1.0.0",
"sources": [
{
"source_type": "aql",
"aql": "items.find({\"repo\":\"generic-local\"})"
}
]
}'Error Response (400 Bad Request):
{
"errors": [
{
"status": 400,
"message": "release_bundle_name is mandatory"
}
]
}