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

# Push Platform Versions

> 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.studio.prisme.ai
    description: Prisme.ai Cloud
  - url: https://{customDomain}
    description: Self-hosted Prisme.ai instance
    variables:
      customDomain:
        default: api.your-prisme-instance.com
        description: API hostname of your self-hosted Prisme.ai deployment
  - url: http://localhost:3001
    description: Local development
security:
  - BearerAuth: []
  - OrgApiKeyAuth: []
  - BearerAuth: []
    OrgApiKeyAuth: []
tags:
  - name: API Gateway
    description: >-
      Authentication, session management, SSO providers, and user profile
      endpoints.
  - name: Prisme.ai Workspaces
    description: >-
      CRUD operations for workspaces and their resources (pages, apps,
      automations, imports, variables).
  - name: Prisme.ai Runtime
    description: Execute workspace automations and manage their runtime lifecycle.
  - name: Prisme.ai Events
    description: Event ingestion, delivery, and subscription filtering across the platform.
  - name: Organizations
    description: >-
      Manage organizations, members, roles, invites, groups, and org-level
      service accounts.
  - name: Subscriptions
    description: >-
      Manage organization subscription plans and tier assignments (SuperAdmin
      only).
  - name: Secrets
    description: Read and patch encrypted key-value secrets scoped to a workspace.
  - name: ApiKeys
    description: Create, list, rotate, and validate workspace-scoped API keys.
  - name: Permissions
    description: >-
      Share or unshare resources (workspaces, pages, …) with users via roles or
      fine-grained rules.
  - name: Monitoring
    description: Platform readiness checks across services (SuperAdmin only).
  - name: AuthProviders
paths:
  /v2/workspaces/platform/versions:
    post:
      tags:
        - Prisme.ai Workspaces
      summary: Push Platform Versions
      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
                  - 81f15df2-a236-4481-868a-cdfef9f560ef
            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
    OrgApiKeyAuth:
      type: apiKey
      in: header
      name: x-prismeai-api-key

````