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

# Publish game revision

> With If-Match, saves publication intent for the exact listing revision.



## OpenAPI

````yaml scripts/reference/sources/openapi/management.json POST /v1/management/games/{gameId}/revisions/{revisionId}:publish
openapi: 3.1.0
info:
  title: Summer Creator Management API
  version: summer.management.creator/v1
  description: >-
    Create and manage your Summer Games store games: store page drafts,
    revisions, preview links, media, builds and releases, and the owner approval
    that publishes them.
servers:
  - url: https://api.summer.games
security:
  - developerBearer: []
tags:
  - name: Games
  - name: Items
  - name: Media
paths:
  /v1/management/games/{gameId}/revisions/{revisionId}:publish:
    parameters:
      - $ref: '#/components/parameters/GameID'
      - $ref: '#/components/parameters/RevisionID'
    post:
      tags:
        - Games
      description: >-
        With If-Match, saves publication intent for the exact listing revision.
        A draft is frozen and verified atomically with the request; an existing
        submitted or verifying revision is attached to its verification. Initial
        review resumes this request automatically, and ordinary updates inherit
        listing approval after checks. Requires catalog.publish. Replays return
        the original accepted response; read the publication for current state.
        Without If-Match, retains the legacy approved-only publication command.
      operationId: publishGameRevision
      parameters:
        - $ref: '#/components/parameters/IdempotencyKey'
        - name: If-Match
          in: header
          required: false
          description: >-
            Exact Game revision ETag; enables durable single-command
            publication.
          schema:
            type: string
            minLength: 3
            maxLength: 160
      requestBody:
        $ref: '#/components/requestBodies/Publish'
      responses:
        '202':
          description: Saved publication request
          headers:
            Location:
              description: URL of the original durable operation
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GamePublication'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '412':
          $ref: '#/components/responses/PreconditionFailed'
        '422':
          $ref: '#/components/responses/ValidationFailed'
components:
  parameters:
    GameID:
      name: gameId
      in: path
      required: true
      schema:
        type: string
        pattern: ^game_[A-Za-z0-9_-]{8,123}$
    RevisionID:
      name: revisionId
      in: path
      required: true
      schema:
        type: string
        pattern: ^(grev|irev)_[A-Za-z0-9_-]{8,123}$
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: true
      schema:
        type: string
        minLength: 1
        maxLength: 128
  requestBodies:
    Publish:
      required: false
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublishRequest'
  schemas:
    GamePublication:
      type: object
      additionalProperties: false
      required:
        - publicationId
        - operationId
        - status
        - gameId
        - resourceType
        - resourceId
        - revisionId
        - resourceVersion
        - digestSha256
        - state
      properties:
        publicationId:
          type: string
        operationId:
          type: string
        status:
          type: string
          enum:
            - pending
            - running
            - succeeded
            - failed
        gameId:
          type: string
        resourceType:
          type: string
          const: GAME_REVISION
        resourceId:
          type: string
        revisionId:
          type: string
        resourceVersion:
          type: integer
          minimum: 1
        digestSha256:
          type: string
          pattern: ^[a-f0-9]{64}$
        publishAt:
          type: string
          format: date-time
        state:
          type: string
          enum:
            - WAITING_VERIFICATION
            - REQUESTED
            - SCHEDULED
            - CANCELLED
            - REJECTED
            - BLOCKED
            - ACTIVATING
            - ACTIVATED
            - UNPUBLISHING
            - UNPUBLISHED
            - SUPERSEDED
        verificationRunId:
          type: string
          description: >-
            Present for durable publication intent; absent on legacy
            publications.
        errorCode:
          type: string
          description: >-
            Reason for REJECTED or BLOCKED, including
            verification_changes_requested, verification_rejected or
            publication_authorization_revoked.
    PublishRequest:
      type: object
      additionalProperties: false
      properties:
        publishAt:
          type: string
          format: date-time
    Error:
      type: object
      additionalProperties: false
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - requestId
            - retryable
          properties:
            code:
              type: string
            message:
              type: string
            requestId:
              type: string
            retryable:
              type: boolean
  responses:
    NotFound:
      description: Missing or inaccessible resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Conflict:
      description: Lifecycle or idempotency conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    PreconditionFailed:
      description: Stale ETag
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ValidationFailed:
      description: Bounded validation findings
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    developerBearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Your Summer account token. An agent gets it by signing in with OAuth:
        `summer login --store` in the Summer CLI, or the Summer connector in an
        AI app. Agent tokens can call only the operations on these pages.
        Publishing needs an approval from the game's owner first.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.