> ## 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.

# Get published item image

> Public image bytes for the currently active Item publication.



## OpenAPI

````yaml scripts/reference/sources/openapi/player.json GET /v1/games/{gameId}/store/items/{itemId}/publications/{publicationId}/images/{assetId}
openapi: 3.1.0
info:
  title: Summer Player Game Platform API
  version: summer.player.games/v1
  description: >-
    Public Summer Games store reads, the connected-app OAuth endpoints, and the
    signed-in player's profile and preferences.
servers:
  - url: https://api.summer.games
security:
  - playerBearer: []
paths:
  /v1/games/{gameId}/store/items/{itemId}/publications/{publicationId}/images/{assetId}:
    parameters:
      - name: gameId
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 128
      - name: itemId
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 128
      - name: publicationId
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 128
      - name: assetId
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 128
      - name: If-None-Match
        in: header
        schema:
          type: string
        description: >-
          Compare the immutable image SHA-256 ETag only after current
          publication visibility and image scope have been checked.
    get:
      description: >-
        Public image bytes for the currently active Item publication. Bearer
        credentials do not grant additional access. Current public visibility
        and exact Game/Item, publication and IMAGE asset membership are checked
        before either 200 or 304. Draft, prepared, withdrawn, superseded,
        mismatched, private and model references are unavailable. Only PNG, JPEG
        or WebP up to 32 MiB is served. The stable URL has no signature or
        expiry query parameters; no redirects are returned and query parameters
        are rejected. HEAD returns the same status and headers without a body.
        Successful responses allow shared caching for at most 600 seconds and
        require revalidation afterward; errors use no-store. After withdrawal,
        origin requests fail immediately and conforming caches stop reuse within
        ten minutes.
      operationId: getPublishedItemImage
      responses:
        '200':
          $ref: '#/components/responses/PublicImage'
        '304':
          $ref: '#/components/responses/PublicImageNotModified'
        '400':
          description: >-
            Invalid identifiers or unexpected query parameters. Cache-Control is
            no-store.
          headers:
            Cache-Control:
              schema:
                type: string
                const: no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: >-
            No currently public image exists in the requested publication and
            owner scope. Cache-Control is no-store.
          headers:
            Cache-Control:
              schema:
                type: string
                const: no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: The current publication is inconsistent. Cache-Control is no-store.
          headers:
            Cache-Control:
              schema:
                type: string
                const: no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Catalog or image storage is unavailable. Cache-Control is no-store.
          headers:
            Cache-Control:
              schema:
                type: string
                const: no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security: []
components:
  responses:
    PublicImage:
      description: Current public PNG, JPEG or WebP image, no larger than 32 MiB.
      headers:
        Cache-Control:
          $ref: '#/components/headers/PublicImageCacheControl'
        ETag:
          $ref: '#/components/headers/PublicImageETag'
        Content-Length:
          $ref: '#/components/headers/PublicImageLength'
        X-Content-Type-Options:
          schema:
            type: string
            const: nosniff
      content:
        image/png:
          schema:
            type: string
            format: binary
        image/jpeg:
          schema:
            type: string
            format: binary
        image/webp:
          schema:
            type: string
            format: binary
    PublicImageNotModified:
      description: >-
        ETag matches after checking current public visibility and exact image
        scope; no body. A withdrawn or superseded publication never returns 304.
      headers:
        Cache-Control:
          $ref: '#/components/headers/PublicImageCacheControl'
        ETag:
          $ref: '#/components/headers/PublicImageETag'
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            retryable:
              type: boolean
            requestId:
              type: string
            correlationId:
              type: string
          required:
            - code
            - message
            - retryable
            - requestId
      required:
        - error
  headers:
    PublicImageCacheControl:
      description: >-
        Revalidate after at most ten minutes; stale reuse is forbidden after
        expiry.
      schema:
        type: string
        const: public, max-age=600, must-revalidate
    PublicImageETag:
      description: >-
        Strong quoted hexadecimal SHA-256 of the immutable publication image
        bytes.
      schema:
        type: string
    PublicImageLength:
      description: Image representation size in bytes, including on HEAD responses.
      schema:
        type: integer
        minimum: 1
        maximum: 33554432
  securitySchemes:
    playerBearer:
      type: http
      scheme: bearer
      description: >-
        A player access token. Store reads need no token. Other apps get a token
        through connected-app OAuth: register the client, let the player approve
        it on summer.games, then exchange the code at the token endpoint.

````

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