Package a new app version
/bundle/{id}/version
Requires edit access. Seals the app as it is now into an immutable version. Send the values from the preview you reviewed: a different `items_revision` is 409 `bundle_items_conflict`; `draft_revision`, when sent, guards the skill, description and slot labels (409 `bundle_draft_conflict`); `content_hash`, when sent, guards the items themselves, such as a dashboard or workflow draft edited after the preview (409 `bundle_content_conflict`). Omitting the two optional fields skips those checks. Collections whose rows would be copied must be named in `accept_rows` (409 `bundle_rows_not_accepted`).
Path Parameters
Resource id
Request Body
Collection keys whose rows may be copied into the version.
Optional: content_hash from the preview.
Optional: draft_revision from the preview.
curl -X POST 'https://api.elaichi.ai/bundle/<id>/version' \
-H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"items_revision":0,"draft_revision":0,"content_hash":"your_content_hash","notes":"your_notes","accept_rows":[]}'const body = {
"items_revision": 0,
"draft_revision": 0,
"content_hash": "your_content_hash",
"notes": "your_notes",
"accept_rows": []
};
const response = await fetch('https://api.elaichi.ai/bundle/<id>/version', {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + process.env.ELAICHI_API_TOKEN,
'Content-Type': 'application/json',
},
body: JSON.stringify(body),
});
const data = await response.json();
console.log(data);import os
import requests
url = "https://api.elaichi.ai/bundle/<id>/version"
headers = {
"Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
"Content-Type": "application/json",
}
payload = {
"items_revision": 0,
"draft_revision": 0,
"content_hash": "your_content_hash",
"notes": "your_notes",
"accept_rows": []
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())