List promotions for a workspace

GET /api/v1/projects/{id}/workspaces/{workspace_id}/promotions

Returns promotion history targeting this workspace, newest first.

Path parameters

  • id string Required

    Target project ID

  • workspace_id string Required

    Target workspace ID

Query parameters

  • limit integer

    Page size (1-100, default 20)

    Minimum value is 1, maximum value is 100. Default value is 20.

  • offset integer

    Page offset (0-10000, default 0)

    Minimum value is 0, maximum value is 10000. Default value is 0.

Responses

  • Unsupported or malformed API version, an operation unavailable in the selected published contract, or an unacceptable representation (including unsupported media-type parameters or excluded SSE). Existing authentication, authorization, and rate-limit failures take precedence.

    Hide response attributes Show response attributes object
    • badRequestDetail object

      Optional validation details defined by the standard error schema; API negotiation errors do not emit this field.

      Hide badRequestDetail attribute Show badRequestDetail attribute object
      • fields array[object]

        Fields with validation failures.

        Hide fields attributes Show fields attributes object

        A field and its validation failure.

        • description string Required

          Human-readable validation failure.

        • field string Required

          Name or path of the invalid request field.

    • detail string Required

      Human-readable error details.

    • error integer Required

      HTTP status code.

    • errorCode string Required

      Machine-readable error code.

    • parameters array[string]

      Request parameter names associated with the error; omitted when none apply.

    • reason string Required

      HTTP status reason phrase.

    Hide response attributes Show response attributes object
    • badRequestDetail object

      Optional validation details defined by the standard error schema; API negotiation errors do not emit this field.

      Hide badRequestDetail attribute Show badRequestDetail attribute object
      • fields array[object]

        Fields with validation failures.

        Hide fields attributes Show fields attributes object

        A field and its validation failure.

        • description string Required

          Human-readable validation failure.

        • field string Required

          Name or path of the invalid request field.

    • detail string Required

      Human-readable error details.

    • error integer Required

      HTTP status code.

    • errorCode string Required

      Machine-readable error code.

    • parameters array[string]

      Request parameter names associated with the error; omitted when none apply.

    • reason string Required

      HTTP status reason phrase.

  • 200

    OK

    Hide response attributes Show response attributes object
    • promotions array[object]
      Hide promotions attributes Show promotions attributes object
      • created_at string
      • failure_reason string
      • finished_at string
      • force boolean
      • initiated_by string
      • org_id string
      • promotion_id string
      • source_build_id string
      • status string

        Status is one of pending, copying, ready, or failed. Ready and failed are terminal outcomes; pending and copying are the observable non-terminal polling states.

        Values are pending, copying, ready, or failed.

      • target_build_id string
      • target_project_id string
      • target_workspace_id string
    • total integer
    Hide response attributes Show response attributes object
    • promotions array[object]
      Hide promotions attributes Show promotions attributes object
      • created_at string
      • failure_reason string
      • finished_at string
      • force boolean
      • initiated_by string
      • org_id string
      • promotion_id string
      • source_build_id string
      • status string

        Status is one of pending, copying, ready, or failed. Ready and failed are terminal outcomes; pending and copying are the observable non-terminal polling states.

        Values are pending, copying, ready, or failed.

      • target_build_id string
      • target_project_id string
      • target_workspace_id string
    • total integer
  • Bad Request

    Hide response attributes Show response attributes object
    • code string
    • error string
    • success boolean
    Hide response attributes Show response attributes object
    • code string
    • error string
    • success boolean
  • Forbidden

    Hide response attributes Show response attributes object
    • code string
    • error string
    • success boolean
    Hide response attributes Show response attributes object
    • code string
    • error string
    • success boolean
  • Not Found

    Hide response attributes Show response attributes object
    • code string
    • error string
    • success boolean
    Hide response attributes Show response attributes object
    • code string
    • error string
    • success boolean
  • 429

    Too Many Requests

    Hide headers attribute Show headers attribute
    • Retry-After string

      Seconds to wait before retrying

    Hide response attributes Show response attributes object
    • code string
    • error string
    • success boolean
    Hide response attributes Show response attributes object
    • code string
    • error string
    • success boolean
  • Internal Server Error

    Hide response attributes Show response attributes object
    • code string
    • error string
    • success boolean
    Hide response attributes Show response attributes object
    • code string
    • error string
    • success boolean
  • Bad Gateway

    Hide response attributes Show response attributes object
    • code string
    • error string
    • success boolean
    Hide response attributes Show response attributes object
    • code string
    • error string
    • success boolean
  • Service Unavailable

    Hide response attributes Show response attributes object
    • code string
    • error string
    • success boolean
    Hide response attributes Show response attributes object
    • code string
    • error string
    • success boolean
GET /api/v1/projects/{id}/workspaces/{workspace_id}/promotions
curl \
 --request GET 'https://agentengine.mongodb.com/api/v1/projects/{id}/workspaces/{workspace_id}/promotions' \
 --header "Authorization: $API_KEY"
Response examples (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"
}
Response examples (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"
}
Response examples (200)
{
  "promotions": [
    {
      "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"
    }
  ],
  "total": 42
}
Response examples (200)
{
  "promotions": [
    {
      "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"
    }
  ],
  "total": 42
}
Response examples (400)
{
  "code": "string",
  "error": "string",
  "success": true
}
Response examples (400)
{
  "code": "string",
  "error": "string",
  "success": true
}
Response examples (403)
{
  "code": "string",
  "error": "string",
  "success": true
}
Response examples (403)
{
  "code": "string",
  "error": "string",
  "success": true
}
Response examples (404)
{
  "code": "string",
  "error": "string",
  "success": true
}
Response examples (404)
{
  "code": "string",
  "error": "string",
  "success": true
}
Response examples (429)
# Headers
Retry-After: string

# Payload
{
  "code": "string",
  "error": "string",
  "success": true
}
Response examples (429)
# Headers
Retry-After: string

# Payload
{
  "code": "string",
  "error": "string",
  "success": true
}
Response examples (500)
{
  "code": "string",
  "error": "string",
  "success": true
}
Response examples (500)
{
  "code": "string",
  "error": "string",
  "success": true
}
Response examples (502)
{
  "code": "string",
  "error": "string",
  "success": true
}
Response examples (502)
{
  "code": "string",
  "error": "string",
  "success": true
}
Response examples (503)
{
  "code": "string",
  "error": "string",
  "success": true
}
Response examples (503)
{
  "code": "string",
  "error": "string",
  "success": true
}