> ## Documentation Index
> Fetch the complete documentation index at: https://prismeai-docs-next.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Post v2workspacesplatformversions

> Trigger a bulk push of dirty workspaces to a platform repository. Finds all dirty workspaces belonging to the given groups, categorizes them by lock status (merge conflicts, in progress, candidates), then pushes each candidate workspace sequentially. Groups are resolved via WORKSPACE_GROUPS configuration.




## OpenAPI

````yaml /api-reference/swagger.yml post /v2/workspaces/platform/versions
openapi: 3.0.0
info:
  version: 1.0.0
  title: Prisme.ai APIs
  description: Prisme.ai APIs specifications
  termsOfService: https://www.prisme.ai/mentions-legales
  contact:
    name: Prisme.ai Support Team
    email: support@prisme.ai
    url: https://www.prisme.ai
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://api.eda.prisme.ai
  - url: http://localhost:3001
security:
  - BearerAuth: []
  - WorkspaceApiKeyAuth: []
  - BearerAuth: []
    WorkspaceApiKeyAuth: []
paths:
  /v2/workspaces/platform/versions:
    post:
      tags:
        - Prisme.ai Workspaces
      description: >
        Trigger a bulk push of dirty workspaces to a platform repository. Finds
        all dirty workspaces belonging to the given groups, categorizes them by
        lock status (merge conflicts, in progress, candidates), then pushes each
        candidate workspace sequentially. Groups are resolved via
        WORKSPACE_GROUPS configuration.
      operationId: PushPlatformVersions
      parameters:
        - name: sse
          in: query
          description: >-
            If true, streams progress as Server-Sent Events (text/event-stream)
            instead of returning a single JSON response.
          schema:
            type: boolean
        - name: timeout
          in: query
          description: >-
            HTTP timeout in seconds. If the push exceeds this, the response
            returns {processing: true} and the result is emitted as a
            workspaces.bulkExport.completed event.
          schema:
            type: number
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                groups:
                  type: array
                  items:
                    type: string
                  minItems: 1
                  description: Group names to push (must exist in WORKSPACE_GROUPS config)
                repository:
                  type: object
                  properties:
                    id:
                      type: string
                      description: Platform repository ID (defaults to prismeai-workspaces)
                name:
                  type: string
                  description: Version name. If left empty, will be auto generated
                createdAt:
                  type: string
                description:
                  $ref: '#/components/schemas/LocalizedText'
                dryRun:
                  type: boolean
                  default: false
                  description: >
                    When true, only returns workspace categorization without
                    actually pushing any versions.
                force:
                  type: boolean
                  default: false
                  description: >
                    When true, also pushes workspaces that are already up to
                    date (not dirty), forcing a re-push of all matching
                    workspaces.
      responses:
        '200':
          description: Bulk push result or SSE stream
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    description: Push still processing (HTTP timeout reached)
                    properties:
                      processing:
                        type: boolean
                      message:
                        type: string
                  - ef494e8a-a2e3-4937-8677-30bbcbbe040d
            text/event-stream:
              schema:
                type: string
                description: Server-Sent Events stream with progress updates
        '400':
          description: Bad parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadParametersError'
        '401':
          description: AuthenticationError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
        '403':
          description: Bad permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Unknown platform repository or group
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectNotFoundError'
components:
  schemas:
    LocalizedText:
      oneOf:
        - type: object
          additionalProperties:
            type: string
          example:
            fr: Bonjour
            en: Hello
        - type: string
          example: Bonjour
    BadParametersError:
      type: object
      properties:
        error:
          type: string
          example: BadParameters
        message:
          type: string
        details: {}
    AuthenticationError:
      type: object
      properties:
        error:
          type: string
          example: AuthenticationError
        message:
          type: string
          example: Unauthenticated
    ForbiddenError:
      type: object
      properties:
        error:
          type: string
          example: ForbiddenError
        message:
          type: string
          example: Forbidden
    ObjectNotFoundError:
      type: object
      properties:
        error:
          type: string
          example: ObjectNotFound
        message:
          type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    WorkspaceApiKeyAuth:
      type: apiKey
      in: header
      name: x-prismeai-api-key

````