Create a Compose Project from a Git source and queue its first build
const url = 'https://opfield.example.com/api/docker/nodes/550e8400-e29b-41d4-a716-446655440000/compose-projects/from-source';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"folderId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","projectName":"example","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":{}}}'};
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://opfield.example.com/api/docker/nodes/550e8400-e29b-41d4-a716-446655440000/compose-projects/from-source \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "folderId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "projectName": "example", "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": {} } }'Creates the project, saves its Git source and queues the first build of every service with a build section. initialBuildError explains a first build that could not be queued; firstBuildWaiting says it waits for a Build Worker to be unlocked. Requires docker:compose:create.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Example
550e8400-e29b-41d4-a716-446655440000Request Bodyrequired
Section titled “Request Bodyrequired”JSON request body
object
object
object
object
object
Findings that count against the threshold: all = every package; application = OS packages (deb, rpm, apk, alpm) are report-only; fixable_application = only findings with a released fix, OS packages report-only; fixable_all = only findings with a released fix in any package. Default all.
Responses
Section titled “Responses”Created
object
Resource object. Exact fields depend on the endpoint.
object
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
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "VALIDATION_ERROR", "message": "Request validation failed", "details": [ { "path": [ "name" ], "message": "Required" } ]}Authentication required
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "UNAUTHORIZED", "message": "Authentication required"}Forbidden
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "FORBIDDEN", "message": "Insufficient permissions"}Not found
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "NOT_FOUND", "message": "Resource not found"}Conflict
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "CONFLICT", "message": "Resource already exists"}Unprocessable entity
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "UNPROCESSABLE_ENTITY", "message": "Request could not be processed"}Internal server error
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "INTERNAL_ERROR", "message": "Internal server error"}