기존에 성공한 빌드의 이미지를 동일한 조직의 다른 작업 공간에서 이 작업 공간으로 복사하고 배포 가능한 빌드 만듭니다. 소스 빌드의 프로젝트 와 대상 프로젝트 모두에서 배포서버 관리 필요합니다. force 에는 대상 프로젝트 소유자 역할 추가로 필요합니다. 처리는 비동기식입니다 — 준비되거나 실패할 때까지 반환된 프로모션을 폴링합니다.
POST /api/v1/projects/{id}/workspaces/{workspace_id}/promotions
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"
}
응답 예시(406)
작업을 사용할 수 없습니다.
{
"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"
}
응답 예시(406)
{
"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"
}
응답 예시(202)
{
"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"
}
응답 예시(202)
{
"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"
}
응답 예시(400)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(400)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(403)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(403)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(404)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(404)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(409)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(409)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(413)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(413)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(429)
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(429)
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(500)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(500)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(502)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(502)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(503)
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(503)
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}