Copia a imagem de uma compilação bem-sucedida existente de outro workspace na mesma organização para este workspace e cria uma compilação implementável. Requer gerenciamento de implantação no projeto de compilação de origem e no projeto de destino ; force requer adicionalmente a função de proprietário do projeto de destino. O processamento é assíncrono — pesquise a promoção retornada até que esteja pronta ou com falha.
corpo, corpo
Obrigatório
Solicitação de promoção
-
Confirmado deve ser verdadeiro: a promoção copia um artefato para outro projeto, portanto, a API exige a confirmação explícita que a CLI/UI coleta do usuário.
-
A força ignora o portal à prova de implantação do ECP; requer a função de proprietário do projeto de destino.
-
SourceBuildID identifica a compilação bem-sucedida a ser promovido. Ele pode estar em qualquer projeto da organização do chamador.
Respostas
-
Versão de API não permitida ou malformada, uma operação indisponível no contrato publicado selecionado ou uma representação inaceitável (incluindo parâmetros de tipo de mídia não suportados ou SSE excluído). Falhas existentes de autenticação, autorização e limite de taxa têm precedência.
-
Aceito
-
Solicitação inválida
-
Proibido
-
Não encontrado
-
Conflito
-
Entidade solicitante muito grande
-
Muitas solicitações
-
Erro interno do servidor
-
Gateway incorreto
-
Serviço indisponível
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
}