Create a Business+ Docker resource from Git and queue its first immutable build
POST
/api/docker/nodes/{nodeId}/source-resources
const url = 'https://gateway.example.com/api/docker/nodes/550e8400-e29b-41d4-a716-446655440000/source-resources';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"source":{"connectorId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","projectId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","branch":"example","dockerfilePath":"Dockerfile","contextPath":".","composeFilePath":"example","composeVariables":{},"composeSecretKeys":[],"autoBuild":true,"autoDeploy":true,"buildArgs":{},"buildSecretNames":[],"applicationRoot":"example","packageManager":"npm","packageManagerVersion":"example","nodeVersion":"20","buildScript":"example","artifactDirectory":"example","publishTag":"example","policy":{}},"resource":{"kind":"container","name":"example","restartPolicy":"no","runtimeProfile":"default"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://gateway.example.com/api/docker/nodes/550e8400-e29b-41d4-a716-446655440000/source-resources \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "source": { "connectorId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "projectId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "branch": "example", "dockerfilePath": "Dockerfile", "contextPath": ".", "composeFilePath": "example", "composeVariables": {}, "composeSecretKeys": [], "autoBuild": true, "autoDeploy": true, "buildArgs": {}, "buildSecretNames": [], "applicationRoot": "example", "packageManager": "npm", "packageManagerVersion": "example", "nodeVersion": "20", "buildScript": "example", "artifactDirectory": "example", "publishTag": "example", "policy": {} }, "resource": { "kind": "container", "name": "example", "restartPolicy": "no", "runtimeProfile": "default" } }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”nodeId
required
string
Example
550e8400-e29b-41d4-a716-446655440000Request Bodyrequired
Section titled “Request Bodyrequired”JSON request body
Media typeapplication/json
object
source
required
object
connectorId
required
string format: uuid
projectId
required
string format: uuid
branch
required
string
dockerfilePath
string
contextPath
string
composeFilePath
string
composeVariables
object
key
additional properties
string
composeSecretKeys
Array<string>
autoBuild
boolean
autoDeploy
boolean
buildArgs
object
key
additional properties
string
buildSecretNames
Array<string>
applicationRoot
string
packageManager
string
packageManagerVersion
string
nodeVersion
string
buildScript
string
artifactDirectory
string
publishTag
string
policy
object
vulnerabilityThreshold
string
resource
required
One of:
object
kind
required
string
name
required
string
restartPolicy
string
runtimeProfile
string
object
kind
required
string
name
required
string
routes
required
Array<object>
object
hostPort
required
integer
containerPort
required
integer
isPrimary
boolean
health
object
path
string
statusMin
integer
statusMax
integer
timeoutSeconds
integer
intervalSeconds
integer
successThreshold
integer
startupGraceSeconds
integer
deployTimeoutSeconds
integer
drainSeconds
integer
routerImage
string
restartPolicy
string
runtimeProfile
string
Responses
Section titled “Responses”Created
Media typeapplication/json
object
data
required
Resource object. Exact fields depend on the endpoint.
object
id
string
name
string
key
additional properties
Example
{ "data": { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Example resource", "createdAt": "2024-01-01T12:00:00.000Z", "updatedAt": "2024-01-01T12:30:00.000Z" }}Bad request
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "VALIDATION_ERROR", "message": "Request validation failed", "details": [ { "path": [ "name" ], "message": "Required" } ]}Authentication required
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "UNAUTHORIZED", "message": "Authentication required"}Forbidden
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "FORBIDDEN", "message": "Insufficient permissions"}Not found
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "NOT_FOUND", "message": "Resource not found"}Conflict
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "CONFLICT", "message": "Resource already exists"}Unprocessable entity
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "UNPROCESSABLE_ENTITY", "message": "Request could not be processed"}Internal server error
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "INTERNAL_ERROR", "message": "Internal server error"}