Create App Version and Start (v1)
Compound endpoint that creates a new version and initiates a run of it in a single request. The version is always persisted; if the start initiation fails the response still returns the persisted version with a warnings array describing the failure and the caller can retry via the regular start endpoint.
Stop-previous: if a different version of the same App is already running, it is stopped before the new version starts (uniform one-running-instance-per-App invariant; not draft-specific).
Draft-specific defaulting: when the parent App is a draft AND a previous running version exists on it, omitted content reference fields (dfsCommitId, gitRef, entryScript, environmentId, environmentRevisionId, hardwareTierId, externalVolumeMountIds, netAppVolumeIds) default to the previous running version’s values. On the very first call (no previous running version) all required content fields must be supplied.
Governance only starts when a draft is published.
curl --request POST \
--url https://mycluster.domino.tech/api/apps/v1/apps/{appId}/versions/createAndStart \
--header 'Content-Type: application/json' \
--header 'X-Domino-Api-Key: <api-key>' \
--data '
{
"bundleId": "<string>",
"content": {
"dataPlaneId": "<string>",
"dfsCommitId": "<string>",
"entryScript": "<string>",
"environmentId": "<string>",
"environmentRevisionId": "<string>",
"extendedIdentityPropagationToAppsEnabled": true,
"externalVolumeMountIds": [
"<string>"
],
"importedGitRepoRefPatches": [
{
"repoId": "<string>",
"gitRef": {
"value": "<string>"
}
}
],
"mountDatasets": true,
"netAppVolumeIds": [
"<string>"
],
"resolvedCommits": {
"dfsCommitId": "<string>",
"gitCommitId": "<string>",
"importedGitRepos": [
{
"repoId": "<string>",
"ref": "<string>",
"repoName": "<string>"
}
],
"importedProjects": [
{
"commitId": "<string>",
"directoryName": "<string>",
"ownerId": "<string>",
"projectId": "<string>",
"projectName": "<string>",
"release": "<string>"
}
]
}
},
"deployment": {
"hardwareTierId": "<string>",
"renderIFrame": true,
"vanityUrl": "<string>"
},
"description": "<string>",
"startOverrides": {
"deployment": {
"hardwareTierId": "<string>",
"renderIFrame": true,
"vanityUrl": "<string>"
}
},
"tags": [
{
"key": "<string>",
"value": "<string>"
}
]
}
'import requests
url = "https://mycluster.domino.tech/api/apps/v1/apps/{appId}/versions/createAndStart"
payload = {
"bundleId": "<string>",
"content": {
"dataPlaneId": "<string>",
"dfsCommitId": "<string>",
"entryScript": "<string>",
"environmentId": "<string>",
"environmentRevisionId": "<string>",
"extendedIdentityPropagationToAppsEnabled": True,
"externalVolumeMountIds": ["<string>"],
"importedGitRepoRefPatches": [
{
"repoId": "<string>",
"gitRef": { "value": "<string>" }
}
],
"mountDatasets": True,
"netAppVolumeIds": ["<string>"],
"resolvedCommits": {
"dfsCommitId": "<string>",
"gitCommitId": "<string>",
"importedGitRepos": [
{
"repoId": "<string>",
"ref": "<string>",
"repoName": "<string>"
}
],
"importedProjects": [
{
"commitId": "<string>",
"directoryName": "<string>",
"ownerId": "<string>",
"projectId": "<string>",
"projectName": "<string>",
"release": "<string>"
}
]
}
},
"deployment": {
"hardwareTierId": "<string>",
"renderIFrame": True,
"vanityUrl": "<string>"
},
"description": "<string>",
"startOverrides": { "deployment": {
"hardwareTierId": "<string>",
"renderIFrame": True,
"vanityUrl": "<string>"
} },
"tags": [
{
"key": "<string>",
"value": "<string>"
}
]
}
headers = {
"X-Domino-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Domino-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
bundleId: '<string>',
content: {
dataPlaneId: '<string>',
dfsCommitId: '<string>',
entryScript: '<string>',
environmentId: '<string>',
environmentRevisionId: '<string>',
extendedIdentityPropagationToAppsEnabled: true,
externalVolumeMountIds: ['<string>'],
importedGitRepoRefPatches: [{repoId: '<string>', gitRef: {value: '<string>'}}],
mountDatasets: true,
netAppVolumeIds: ['<string>'],
resolvedCommits: {
dfsCommitId: '<string>',
gitCommitId: '<string>',
importedGitRepos: [{repoId: '<string>', ref: '<string>', repoName: '<string>'}],
importedProjects: [
{
commitId: '<string>',
directoryName: '<string>',
ownerId: '<string>',
projectId: '<string>',
projectName: '<string>',
release: '<string>'
}
]
}
},
deployment: {hardwareTierId: '<string>', renderIFrame: true, vanityUrl: '<string>'},
description: '<string>',
startOverrides: {
deployment: {hardwareTierId: '<string>', renderIFrame: true, vanityUrl: '<string>'}
},
tags: [{key: '<string>', value: '<string>'}]
})
};
fetch('https://mycluster.domino.tech/api/apps/v1/apps/{appId}/versions/createAndStart', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mycluster.domino.tech/api/apps/v1/apps/{appId}/versions/createAndStart",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'bundleId' => '<string>',
'content' => [
'dataPlaneId' => '<string>',
'dfsCommitId' => '<string>',
'entryScript' => '<string>',
'environmentId' => '<string>',
'environmentRevisionId' => '<string>',
'extendedIdentityPropagationToAppsEnabled' => true,
'externalVolumeMountIds' => [
'<string>'
],
'importedGitRepoRefPatches' => [
[
'repoId' => '<string>',
'gitRef' => [
'value' => '<string>'
]
]
],
'mountDatasets' => true,
'netAppVolumeIds' => [
'<string>'
],
'resolvedCommits' => [
'dfsCommitId' => '<string>',
'gitCommitId' => '<string>',
'importedGitRepos' => [
[
'repoId' => '<string>',
'ref' => '<string>',
'repoName' => '<string>'
]
],
'importedProjects' => [
[
'commitId' => '<string>',
'directoryName' => '<string>',
'ownerId' => '<string>',
'projectId' => '<string>',
'projectName' => '<string>',
'release' => '<string>'
]
]
]
],
'deployment' => [
'hardwareTierId' => '<string>',
'renderIFrame' => true,
'vanityUrl' => '<string>'
],
'description' => '<string>',
'startOverrides' => [
'deployment' => [
'hardwareTierId' => '<string>',
'renderIFrame' => true,
'vanityUrl' => '<string>'
]
],
'tags' => [
[
'key' => '<string>',
'value' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Domino-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mycluster.domino.tech/api/apps/v1/apps/{appId}/versions/createAndStart"
payload := strings.NewReader("{\n \"bundleId\": \"<string>\",\n \"content\": {\n \"dataPlaneId\": \"<string>\",\n \"dfsCommitId\": \"<string>\",\n \"entryScript\": \"<string>\",\n \"environmentId\": \"<string>\",\n \"environmentRevisionId\": \"<string>\",\n \"extendedIdentityPropagationToAppsEnabled\": true,\n \"externalVolumeMountIds\": [\n \"<string>\"\n ],\n \"importedGitRepoRefPatches\": [\n {\n \"repoId\": \"<string>\",\n \"gitRef\": {\n \"value\": \"<string>\"\n }\n }\n ],\n \"mountDatasets\": true,\n \"netAppVolumeIds\": [\n \"<string>\"\n ],\n \"resolvedCommits\": {\n \"dfsCommitId\": \"<string>\",\n \"gitCommitId\": \"<string>\",\n \"importedGitRepos\": [\n {\n \"repoId\": \"<string>\",\n \"ref\": \"<string>\",\n \"repoName\": \"<string>\"\n }\n ],\n \"importedProjects\": [\n {\n \"commitId\": \"<string>\",\n \"directoryName\": \"<string>\",\n \"ownerId\": \"<string>\",\n \"projectId\": \"<string>\",\n \"projectName\": \"<string>\",\n \"release\": \"<string>\"\n }\n ]\n }\n },\n \"deployment\": {\n \"hardwareTierId\": \"<string>\",\n \"renderIFrame\": true,\n \"vanityUrl\": \"<string>\"\n },\n \"description\": \"<string>\",\n \"startOverrides\": {\n \"deployment\": {\n \"hardwareTierId\": \"<string>\",\n \"renderIFrame\": true,\n \"vanityUrl\": \"<string>\"\n }\n },\n \"tags\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Domino-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mycluster.domino.tech/api/apps/v1/apps/{appId}/versions/createAndStart")
.header("X-Domino-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"bundleId\": \"<string>\",\n \"content\": {\n \"dataPlaneId\": \"<string>\",\n \"dfsCommitId\": \"<string>\",\n \"entryScript\": \"<string>\",\n \"environmentId\": \"<string>\",\n \"environmentRevisionId\": \"<string>\",\n \"extendedIdentityPropagationToAppsEnabled\": true,\n \"externalVolumeMountIds\": [\n \"<string>\"\n ],\n \"importedGitRepoRefPatches\": [\n {\n \"repoId\": \"<string>\",\n \"gitRef\": {\n \"value\": \"<string>\"\n }\n }\n ],\n \"mountDatasets\": true,\n \"netAppVolumeIds\": [\n \"<string>\"\n ],\n \"resolvedCommits\": {\n \"dfsCommitId\": \"<string>\",\n \"gitCommitId\": \"<string>\",\n \"importedGitRepos\": [\n {\n \"repoId\": \"<string>\",\n \"ref\": \"<string>\",\n \"repoName\": \"<string>\"\n }\n ],\n \"importedProjects\": [\n {\n \"commitId\": \"<string>\",\n \"directoryName\": \"<string>\",\n \"ownerId\": \"<string>\",\n \"projectId\": \"<string>\",\n \"projectName\": \"<string>\",\n \"release\": \"<string>\"\n }\n ]\n }\n },\n \"deployment\": {\n \"hardwareTierId\": \"<string>\",\n \"renderIFrame\": true,\n \"vanityUrl\": \"<string>\"\n },\n \"description\": \"<string>\",\n \"startOverrides\": {\n \"deployment\": {\n \"hardwareTierId\": \"<string>\",\n \"renderIFrame\": true,\n \"vanityUrl\": \"<string>\"\n }\n },\n \"tags\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mycluster.domino.tech/api/apps/v1/apps/{appId}/versions/createAndStart")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Domino-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"bundleId\": \"<string>\",\n \"content\": {\n \"dataPlaneId\": \"<string>\",\n \"dfsCommitId\": \"<string>\",\n \"entryScript\": \"<string>\",\n \"environmentId\": \"<string>\",\n \"environmentRevisionId\": \"<string>\",\n \"extendedIdentityPropagationToAppsEnabled\": true,\n \"externalVolumeMountIds\": [\n \"<string>\"\n ],\n \"importedGitRepoRefPatches\": [\n {\n \"repoId\": \"<string>\",\n \"gitRef\": {\n \"value\": \"<string>\"\n }\n }\n ],\n \"mountDatasets\": true,\n \"netAppVolumeIds\": [\n \"<string>\"\n ],\n \"resolvedCommits\": {\n \"dfsCommitId\": \"<string>\",\n \"gitCommitId\": \"<string>\",\n \"importedGitRepos\": [\n {\n \"repoId\": \"<string>\",\n \"ref\": \"<string>\",\n \"repoName\": \"<string>\"\n }\n ],\n \"importedProjects\": [\n {\n \"commitId\": \"<string>\",\n \"directoryName\": \"<string>\",\n \"ownerId\": \"<string>\",\n \"projectId\": \"<string>\",\n \"projectName\": \"<string>\",\n \"release\": \"<string>\"\n }\n ]\n }\n },\n \"deployment\": {\n \"hardwareTierId\": \"<string>\",\n \"renderIFrame\": true,\n \"vanityUrl\": \"<string>\"\n },\n \"description\": \"<string>\",\n \"startOverrides\": {\n \"deployment\": {\n \"hardwareTierId\": \"<string>\",\n \"renderIFrame\": true,\n \"vanityUrl\": \"<string>\"\n }\n },\n \"tags\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"version": {
"createdAt": 123,
"id": "<string>",
"tags": [
{
"key": "<string>",
"value": "<string>"
}
],
"updatedAt": 123,
"bundle": {
"id": "<string>",
"name": "<string>"
},
"content": {
"mountDatasets": true,
"dataPlaneId": "<string>",
"dfsCommitId": "<string>",
"entryScript": "<string>",
"environmentId": "<string>",
"environmentRevisionId": "<string>",
"extendedIdentityPropagationToAppsEnabled": true,
"externalVolumeMountIds": [
"<string>"
],
"gitRef": {
"type": "head",
"value": "<string>"
},
"importedGitRepoRefs": [
{
"gitRef": {
"type": "head",
"value": "<string>"
},
"repoId": "<string>",
"repoName": "<string>"
}
],
"netAppVolumeIds": [
"<string>"
],
"resolvedCommits": {
"dfsCommitId": "<string>",
"gitCommitId": "<string>",
"importedGitRepos": [
{
"ref": "<string>",
"repoId": "<string>",
"repoName": "<string>"
}
],
"importedProjects": [
{
"commitId": "<string>",
"directoryName": "<string>",
"ownerId": "<string>",
"projectId": "<string>",
"projectName": "<string>",
"release": "<string>"
}
]
}
},
"currentInstance": {
"createdAt": 123,
"id": "<string>",
"status": "<string>",
"describeUrl": "<string>",
"dfsCommitId": "<string>",
"gitCommitId": "<string>",
"lastSynced": {
"syncedAt": 123,
"dfsCommitId": "<string>",
"importedRepoCommits": [
{
"ref": "<string>",
"repoId": "<string>"
}
],
"mainRepoCommitId": "<string>"
},
"publisher": {
"id": "<string>",
"name": "<string>"
}
},
"deployment": {
"autoscalingSpecification": {
"enabled": true,
"maxReplicas": 15,
"minReplicas": 15,
"scaleDownStabilizationWindowSeconds": 1800,
"scaleUpStabilizationWindowSeconds": 1800,
"targetCpuAvgUtilizationPct": 50,
"targetMemoryAvgUtilizationPct": 50,
"useSessionAffinity": true
},
"hardwareTierId": "<string>",
"vanityUrl": "<string>"
},
"description": "<string>",
"versionNumber": 123
},
"instance": {
"createdAt": 123,
"id": "<string>",
"status": "<string>",
"describeUrl": "<string>",
"dfsCommitId": "<string>",
"gitCommitId": "<string>",
"lastSynced": {
"syncedAt": 123,
"dfsCommitId": "<string>",
"importedRepoCommits": [
{
"ref": "<string>",
"repoId": "<string>"
}
],
"mainRepoCommitId": "<string>"
},
"publisher": {
"id": "<string>",
"name": "<string>"
}
},
"warnings": [
"<string>"
]
}{
"error": "<string>"
}{
"code": "UNAUTHORIZED",
"message": "Authentication is required to access this resource."
}{
"code": "FORBIDDEN",
"message": "You do not have permission to perform this action."
}{
"error": "<string>"
}{
"errors": [
"<string>"
],
"requestId": "bbd78579-93c4-45ee-a983-0d5c8da6d5b1"
}{
"error": "<string>"
}Authorizations
Path Parameters
Body
Request body for POST /apps/{appId}/versions/createAndStart and the optional initialVersion sub-flow on POST /apps/drafts.
Content (reproducibility) and deployment (execution) settings are grouped under nested sub-objects matching AppVersionCreationRequestV1. Run-time overrides for the initiated instance (vanityUrl, autoscalingSpecification, etc.) are carried separately under startOverrides.
Draft-specific defaulting: when the parent App is a draft AND a previous running version exists, omitted content reference fields default to the previous running version's values (commits, refs, environment, mounts, hardware tier).
Governance only starts when a draft is published.
Guardrails bundle ID. Not applicable on drafts.
Reproducibility fields that define the version's content. All fields are optional; omitted fields fall back to App-level defaults or the previous draft's values depending on context. Mirrors the response-side AppVersionContent shape.
Show child attributes
Show child attributes
Execution settings for the version. All fields are optional; omitted fields fall back to App-level defaults or the previous version's values depending on context. Mirrors the response-side AppVersionDeployment shape.
Show child attributes
Show child attributes
Optional deployment-only run-time overrides for the initiated instance (deployment.hardwareTierId, deployment.autoscalingSpecification, deployment.vanityUrl, deployment.renderIFrame).
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
Version persisted and start initiated. If start initiation failed, the response carries the durable version plus a warnings array.
Response body for POST /apps/{appId}/versions/createAndStart. version is always present (the version is durably persisted before start initiation). instance is populated when start initiation succeeds; if it fails the response carries the version with a warnings array describing the failure and the caller can retry via the regular start endpoint.
Was this page helpful?
curl --request POST \
--url https://mycluster.domino.tech/api/apps/v1/apps/{appId}/versions/createAndStart \
--header 'Content-Type: application/json' \
--header 'X-Domino-Api-Key: <api-key>' \
--data '
{
"bundleId": "<string>",
"content": {
"dataPlaneId": "<string>",
"dfsCommitId": "<string>",
"entryScript": "<string>",
"environmentId": "<string>",
"environmentRevisionId": "<string>",
"extendedIdentityPropagationToAppsEnabled": true,
"externalVolumeMountIds": [
"<string>"
],
"importedGitRepoRefPatches": [
{
"repoId": "<string>",
"gitRef": {
"value": "<string>"
}
}
],
"mountDatasets": true,
"netAppVolumeIds": [
"<string>"
],
"resolvedCommits": {
"dfsCommitId": "<string>",
"gitCommitId": "<string>",
"importedGitRepos": [
{
"repoId": "<string>",
"ref": "<string>",
"repoName": "<string>"
}
],
"importedProjects": [
{
"commitId": "<string>",
"directoryName": "<string>",
"ownerId": "<string>",
"projectId": "<string>",
"projectName": "<string>",
"release": "<string>"
}
]
}
},
"deployment": {
"hardwareTierId": "<string>",
"renderIFrame": true,
"vanityUrl": "<string>"
},
"description": "<string>",
"startOverrides": {
"deployment": {
"hardwareTierId": "<string>",
"renderIFrame": true,
"vanityUrl": "<string>"
}
},
"tags": [
{
"key": "<string>",
"value": "<string>"
}
]
}
'import requests
url = "https://mycluster.domino.tech/api/apps/v1/apps/{appId}/versions/createAndStart"
payload = {
"bundleId": "<string>",
"content": {
"dataPlaneId": "<string>",
"dfsCommitId": "<string>",
"entryScript": "<string>",
"environmentId": "<string>",
"environmentRevisionId": "<string>",
"extendedIdentityPropagationToAppsEnabled": True,
"externalVolumeMountIds": ["<string>"],
"importedGitRepoRefPatches": [
{
"repoId": "<string>",
"gitRef": { "value": "<string>" }
}
],
"mountDatasets": True,
"netAppVolumeIds": ["<string>"],
"resolvedCommits": {
"dfsCommitId": "<string>",
"gitCommitId": "<string>",
"importedGitRepos": [
{
"repoId": "<string>",
"ref": "<string>",
"repoName": "<string>"
}
],
"importedProjects": [
{
"commitId": "<string>",
"directoryName": "<string>",
"ownerId": "<string>",
"projectId": "<string>",
"projectName": "<string>",
"release": "<string>"
}
]
}
},
"deployment": {
"hardwareTierId": "<string>",
"renderIFrame": True,
"vanityUrl": "<string>"
},
"description": "<string>",
"startOverrides": { "deployment": {
"hardwareTierId": "<string>",
"renderIFrame": True,
"vanityUrl": "<string>"
} },
"tags": [
{
"key": "<string>",
"value": "<string>"
}
]
}
headers = {
"X-Domino-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Domino-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
bundleId: '<string>',
content: {
dataPlaneId: '<string>',
dfsCommitId: '<string>',
entryScript: '<string>',
environmentId: '<string>',
environmentRevisionId: '<string>',
extendedIdentityPropagationToAppsEnabled: true,
externalVolumeMountIds: ['<string>'],
importedGitRepoRefPatches: [{repoId: '<string>', gitRef: {value: '<string>'}}],
mountDatasets: true,
netAppVolumeIds: ['<string>'],
resolvedCommits: {
dfsCommitId: '<string>',
gitCommitId: '<string>',
importedGitRepos: [{repoId: '<string>', ref: '<string>', repoName: '<string>'}],
importedProjects: [
{
commitId: '<string>',
directoryName: '<string>',
ownerId: '<string>',
projectId: '<string>',
projectName: '<string>',
release: '<string>'
}
]
}
},
deployment: {hardwareTierId: '<string>', renderIFrame: true, vanityUrl: '<string>'},
description: '<string>',
startOverrides: {
deployment: {hardwareTierId: '<string>', renderIFrame: true, vanityUrl: '<string>'}
},
tags: [{key: '<string>', value: '<string>'}]
})
};
fetch('https://mycluster.domino.tech/api/apps/v1/apps/{appId}/versions/createAndStart', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mycluster.domino.tech/api/apps/v1/apps/{appId}/versions/createAndStart",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'bundleId' => '<string>',
'content' => [
'dataPlaneId' => '<string>',
'dfsCommitId' => '<string>',
'entryScript' => '<string>',
'environmentId' => '<string>',
'environmentRevisionId' => '<string>',
'extendedIdentityPropagationToAppsEnabled' => true,
'externalVolumeMountIds' => [
'<string>'
],
'importedGitRepoRefPatches' => [
[
'repoId' => '<string>',
'gitRef' => [
'value' => '<string>'
]
]
],
'mountDatasets' => true,
'netAppVolumeIds' => [
'<string>'
],
'resolvedCommits' => [
'dfsCommitId' => '<string>',
'gitCommitId' => '<string>',
'importedGitRepos' => [
[
'repoId' => '<string>',
'ref' => '<string>',
'repoName' => '<string>'
]
],
'importedProjects' => [
[
'commitId' => '<string>',
'directoryName' => '<string>',
'ownerId' => '<string>',
'projectId' => '<string>',
'projectName' => '<string>',
'release' => '<string>'
]
]
]
],
'deployment' => [
'hardwareTierId' => '<string>',
'renderIFrame' => true,
'vanityUrl' => '<string>'
],
'description' => '<string>',
'startOverrides' => [
'deployment' => [
'hardwareTierId' => '<string>',
'renderIFrame' => true,
'vanityUrl' => '<string>'
]
],
'tags' => [
[
'key' => '<string>',
'value' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Domino-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mycluster.domino.tech/api/apps/v1/apps/{appId}/versions/createAndStart"
payload := strings.NewReader("{\n \"bundleId\": \"<string>\",\n \"content\": {\n \"dataPlaneId\": \"<string>\",\n \"dfsCommitId\": \"<string>\",\n \"entryScript\": \"<string>\",\n \"environmentId\": \"<string>\",\n \"environmentRevisionId\": \"<string>\",\n \"extendedIdentityPropagationToAppsEnabled\": true,\n \"externalVolumeMountIds\": [\n \"<string>\"\n ],\n \"importedGitRepoRefPatches\": [\n {\n \"repoId\": \"<string>\",\n \"gitRef\": {\n \"value\": \"<string>\"\n }\n }\n ],\n \"mountDatasets\": true,\n \"netAppVolumeIds\": [\n \"<string>\"\n ],\n \"resolvedCommits\": {\n \"dfsCommitId\": \"<string>\",\n \"gitCommitId\": \"<string>\",\n \"importedGitRepos\": [\n {\n \"repoId\": \"<string>\",\n \"ref\": \"<string>\",\n \"repoName\": \"<string>\"\n }\n ],\n \"importedProjects\": [\n {\n \"commitId\": \"<string>\",\n \"directoryName\": \"<string>\",\n \"ownerId\": \"<string>\",\n \"projectId\": \"<string>\",\n \"projectName\": \"<string>\",\n \"release\": \"<string>\"\n }\n ]\n }\n },\n \"deployment\": {\n \"hardwareTierId\": \"<string>\",\n \"renderIFrame\": true,\n \"vanityUrl\": \"<string>\"\n },\n \"description\": \"<string>\",\n \"startOverrides\": {\n \"deployment\": {\n \"hardwareTierId\": \"<string>\",\n \"renderIFrame\": true,\n \"vanityUrl\": \"<string>\"\n }\n },\n \"tags\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Domino-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mycluster.domino.tech/api/apps/v1/apps/{appId}/versions/createAndStart")
.header("X-Domino-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"bundleId\": \"<string>\",\n \"content\": {\n \"dataPlaneId\": \"<string>\",\n \"dfsCommitId\": \"<string>\",\n \"entryScript\": \"<string>\",\n \"environmentId\": \"<string>\",\n \"environmentRevisionId\": \"<string>\",\n \"extendedIdentityPropagationToAppsEnabled\": true,\n \"externalVolumeMountIds\": [\n \"<string>\"\n ],\n \"importedGitRepoRefPatches\": [\n {\n \"repoId\": \"<string>\",\n \"gitRef\": {\n \"value\": \"<string>\"\n }\n }\n ],\n \"mountDatasets\": true,\n \"netAppVolumeIds\": [\n \"<string>\"\n ],\n \"resolvedCommits\": {\n \"dfsCommitId\": \"<string>\",\n \"gitCommitId\": \"<string>\",\n \"importedGitRepos\": [\n {\n \"repoId\": \"<string>\",\n \"ref\": \"<string>\",\n \"repoName\": \"<string>\"\n }\n ],\n \"importedProjects\": [\n {\n \"commitId\": \"<string>\",\n \"directoryName\": \"<string>\",\n \"ownerId\": \"<string>\",\n \"projectId\": \"<string>\",\n \"projectName\": \"<string>\",\n \"release\": \"<string>\"\n }\n ]\n }\n },\n \"deployment\": {\n \"hardwareTierId\": \"<string>\",\n \"renderIFrame\": true,\n \"vanityUrl\": \"<string>\"\n },\n \"description\": \"<string>\",\n \"startOverrides\": {\n \"deployment\": {\n \"hardwareTierId\": \"<string>\",\n \"renderIFrame\": true,\n \"vanityUrl\": \"<string>\"\n }\n },\n \"tags\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mycluster.domino.tech/api/apps/v1/apps/{appId}/versions/createAndStart")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Domino-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"bundleId\": \"<string>\",\n \"content\": {\n \"dataPlaneId\": \"<string>\",\n \"dfsCommitId\": \"<string>\",\n \"entryScript\": \"<string>\",\n \"environmentId\": \"<string>\",\n \"environmentRevisionId\": \"<string>\",\n \"extendedIdentityPropagationToAppsEnabled\": true,\n \"externalVolumeMountIds\": [\n \"<string>\"\n ],\n \"importedGitRepoRefPatches\": [\n {\n \"repoId\": \"<string>\",\n \"gitRef\": {\n \"value\": \"<string>\"\n }\n }\n ],\n \"mountDatasets\": true,\n \"netAppVolumeIds\": [\n \"<string>\"\n ],\n \"resolvedCommits\": {\n \"dfsCommitId\": \"<string>\",\n \"gitCommitId\": \"<string>\",\n \"importedGitRepos\": [\n {\n \"repoId\": \"<string>\",\n \"ref\": \"<string>\",\n \"repoName\": \"<string>\"\n }\n ],\n \"importedProjects\": [\n {\n \"commitId\": \"<string>\",\n \"directoryName\": \"<string>\",\n \"ownerId\": \"<string>\",\n \"projectId\": \"<string>\",\n \"projectName\": \"<string>\",\n \"release\": \"<string>\"\n }\n ]\n }\n },\n \"deployment\": {\n \"hardwareTierId\": \"<string>\",\n \"renderIFrame\": true,\n \"vanityUrl\": \"<string>\"\n },\n \"description\": \"<string>\",\n \"startOverrides\": {\n \"deployment\": {\n \"hardwareTierId\": \"<string>\",\n \"renderIFrame\": true,\n \"vanityUrl\": \"<string>\"\n }\n },\n \"tags\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"version": {
"createdAt": 123,
"id": "<string>",
"tags": [
{
"key": "<string>",
"value": "<string>"
}
],
"updatedAt": 123,
"bundle": {
"id": "<string>",
"name": "<string>"
},
"content": {
"mountDatasets": true,
"dataPlaneId": "<string>",
"dfsCommitId": "<string>",
"entryScript": "<string>",
"environmentId": "<string>",
"environmentRevisionId": "<string>",
"extendedIdentityPropagationToAppsEnabled": true,
"externalVolumeMountIds": [
"<string>"
],
"gitRef": {
"type": "head",
"value": "<string>"
},
"importedGitRepoRefs": [
{
"gitRef": {
"type": "head",
"value": "<string>"
},
"repoId": "<string>",
"repoName": "<string>"
}
],
"netAppVolumeIds": [
"<string>"
],
"resolvedCommits": {
"dfsCommitId": "<string>",
"gitCommitId": "<string>",
"importedGitRepos": [
{
"ref": "<string>",
"repoId": "<string>",
"repoName": "<string>"
}
],
"importedProjects": [
{
"commitId": "<string>",
"directoryName": "<string>",
"ownerId": "<string>",
"projectId": "<string>",
"projectName": "<string>",
"release": "<string>"
}
]
}
},
"currentInstance": {
"createdAt": 123,
"id": "<string>",
"status": "<string>",
"describeUrl": "<string>",
"dfsCommitId": "<string>",
"gitCommitId": "<string>",
"lastSynced": {
"syncedAt": 123,
"dfsCommitId": "<string>",
"importedRepoCommits": [
{
"ref": "<string>",
"repoId": "<string>"
}
],
"mainRepoCommitId": "<string>"
},
"publisher": {
"id": "<string>",
"name": "<string>"
}
},
"deployment": {
"autoscalingSpecification": {
"enabled": true,
"maxReplicas": 15,
"minReplicas": 15,
"scaleDownStabilizationWindowSeconds": 1800,
"scaleUpStabilizationWindowSeconds": 1800,
"targetCpuAvgUtilizationPct": 50,
"targetMemoryAvgUtilizationPct": 50,
"useSessionAffinity": true
},
"hardwareTierId": "<string>",
"vanityUrl": "<string>"
},
"description": "<string>",
"versionNumber": 123
},
"instance": {
"createdAt": 123,
"id": "<string>",
"status": "<string>",
"describeUrl": "<string>",
"dfsCommitId": "<string>",
"gitCommitId": "<string>",
"lastSynced": {
"syncedAt": 123,
"dfsCommitId": "<string>",
"importedRepoCommits": [
{
"ref": "<string>",
"repoId": "<string>"
}
],
"mainRepoCommitId": "<string>"
},
"publisher": {
"id": "<string>",
"name": "<string>"
}
},
"warnings": [
"<string>"
]
}{
"error": "<string>"
}{
"code": "UNAUTHORIZED",
"message": "Authentication is required to access this resource."
}{
"code": "FORBIDDEN",
"message": "You do not have permission to perform this action."
}{
"error": "<string>"
}{
"errors": [
"<string>"
],
"requestId": "bbd78579-93c4-45ee-a983-0d5c8da6d5b1"
}{
"error": "<string>"
}