Copia la imagen de una compilación exitosa existente desde otro espacio de trabajo en la misma organización a este espacio de trabajo y crea una compilación desplegable. Requiere administración de despliegue tanto en el proyecto de la compilación de origen como en el proyecto de destino; si se fuerza, también requiere el rol de propietario del proyecto de destino. El procesamiento es asíncrono: se consulta el estado de la promoción hasta que esté lista o haya fallado.
Cuerpo
Requerido
Solicitud de promoción
-
Confirmado debe ser verdadero: la promoción copia un artefacto en otro proyecto, por lo que la API requiere la confirmación explícita que la CLI/UI recopila del usuario.
-
La fuerza elude la barrera de seguridad a prueba de despliegue de ECP; requiere el rol de propietario del proyecto objetivo.
-
SourceBuildID identifica la compilación exitosa que se debe promover. Puede residir en cualquier proyecto de la organización que realiza la llamada.
Respuestas
-
Versión de API no compatible o con formato incorrecto, operación no disponible en el contrato publicado seleccionado o representación inaceptable (incluidos parámetros de tipo de medio no compatibles o SSE excluidos). Los fallos de autenticación, autorización y límite de velocidad existentes tienen prioridad.
-
Accepted
-
Solicitud incorrecta
-
Forbidden
-
No encontrado
-
Conflicto
-
Entidad de solicitud demasiado grande
-
Demasiadas peticiones
-
Error interno del servidor
-
Puerta de enlace incorrecta
-
Servicio no disponible
curl \
--request POST 'https://agentengine.mongodb.com/api/v1/projects/{id}/workspaces/{workspace_id}/promotions' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{
"confirmed": true,
"force": true,
"source_build_id": "string"
}'
{
"confirmed": true,
"force": true,
"source_build_id": "string"
}
{
"detail": "This operation is not available in API version 2026-09-20-preview.",
"error": 406,
"errorCode": "OPERATION_NOT_IN_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "This operation supports text/event-stream, which the Accept header excludes. Remove unsupported media-type parameters or accept this type with a positive q value.",
"error": 406,
"errorCode": "UNACCEPTABLE_MEDIA_TYPE",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "The requested API version is not supported. Supported versions: 2026-09-20-preview.",
"error": 406,
"errorCode": "UNSUPPORTED_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "This operation is not available in API version 2026-09-20-preview.",
"error": 406,
"errorCode": "OPERATION_NOT_IN_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"created_at": "string",
"failure_reason": "string",
"finished_at": "string",
"force": true,
"initiated_by": "string",
"org_id": "string",
"promotion_id": "string",
"source_build_id": "string",
"status": "pending",
"target_build_id": "string",
"target_project_id": "string",
"target_workspace_id": "string"
}
{
"created_at": "string",
"failure_reason": "string",
"finished_at": "string",
"force": true,
"initiated_by": "string",
"org_id": "string",
"promotion_id": "string",
"source_build_id": "string",
"status": "pending",
"target_build_id": "string",
"target_project_id": "string",
"target_workspace_id": "string"
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}