Promote a change request to a new configuration version
POST
/api/v1/projects/{projectId}/schema/sandboxes/{sandboxId}/merge
const url = 'https://app.avera.io/api/v1/projects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/schema/sandboxes/example/merge';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"versionName":"example","description":"example","validationDecisions":[{"question":"example","decision":"ACCEPTED","rationale":"example"}],"sign":true,"signatureMeaning":"example","pin":"example"}'};
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://app.avera.io/api/v1/projects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/schema/sandboxes/example/merge \ --header 'Content-Type: application/json' \ --data '{ "versionName": "example", "description": "example", "validationDecisions": [ { "question": "example", "decision": "ACCEPTED", "rationale": "example" } ], "sign": true, "signatureMeaning": "example", "pin": "example" }'Promotion is the human gate that applies staged configuration changes. Verification is re-run first: blockers reject the promotion, and warnings or risk at MEDIUM and above require validation decisions, where a rejected decision also blocks. On success a new configuration version is created, its changes are applied to the live configuration, the change request is marked merged, and an immutable verification log is recorded alongside the validation decisions. The promotion can carry an electronic signature.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”projectId
required
string format: uuid
sandboxId
required
string
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
versionName
required
string
description
string | null
validationDecisions
required
Array<object>
object
question
required
string
decision
required
string
rationale
required
string
sign
required
boolean
signatureMeaning
string | null
pin
string | null
Responses
Section titled “Responses”OK
Media type*/*
object
configurationVersionId
required
string
versionNumber
required
integer format: int32
versionName
required
string
status
required
string
signatureId
string | null