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

# Read immutable release artwork

> Immutable published-release artwork document identified by a 64-character lowercase content hash, without 0x. Public max-age one year. This is not an NFT token-metadata endpoint.



## OpenAPI

````yaml /api-reference/vibemarket_openapi.json get /art/{hash}
openapi: 3.0.3
info:
  title: vibe.market API
  version: '2026-09-10'
  description: >-
    Consumer HTTP API for the current vibe.market at
    https://vibechain.com/market. This is an experimental protocol; review
    https://vibechain.com/terms. Public reads do not require Classic API keys.
    Discover runtime graphs rather than hardcoding a revision. The
    /api/vibemarket2 namespace is intentional. Operational provider webhooks and
    operator-only controls are excluded.
  termsOfService: https://vibechain.com/terms
servers:
  - url: https://build.vibechain.com/api/vibemarket2
    description: Current-market backend
security: []
tags:
  - name: Discovery
  - name: Indexed market
  - name: Board
  - name: Live updates
  - name: Creators
  - name: Artwork
  - name: Accounts
  - name: Community
  - name: Private messages
  - name: Scoped sessions
paths:
  /art/{hash}:
    get:
      tags:
        - Artwork
      summary: Read immutable release artwork
      description: >-
        Immutable published-release artwork document identified by a
        64-character lowercase content hash, without 0x. Public max-age one
        year. This is not an NFT token-metadata endpoint.
      operationId: vm2028
      parameters:
        - name: hash
          in: path
          required: true
          schema:
            type: string
            pattern: ^[a-f0-9]{64}$
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Artwork'
        '404':
          description: Resource not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Dependency, projection or capacity unavailable. Retry with backoff.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security: []
components:
  schemas:
    Artwork:
      type: object
      properties:
        releaseId:
          type: string
        owner:
          $ref: '#/components/schemas/Address'
        name:
          type: string
        symbol:
          type: string
        image:
          type: string
        color:
          type: string
        design:
          $ref: '#/components/schemas/PackDesign'
        description:
          type: string
        links:
          type: object
          properties:
            website:
              type: string
            x:
              type: string
            telegram:
              type: string
      required:
        - releaseId
        - owner
        - name
        - symbol
        - image
        - color
        - design
    Error:
      type: object
      properties:
        error:
          type: string
      required:
        - error
    Address:
      type: string
      pattern: ^0x[0-9a-fA-F]{40}$
    PackDesign:
      type: object
      properties:
        accent:
          type: string
          pattern: ^#[0-9a-fA-F]{6}$
        pattern:
          type: string
          enum:
            - solid
            - split
            - fade
            - stripes
        mask:
          type: string
          enum:
            - full
            - frame
            - art
            - paint
        cardsByRarity:
          $ref: '#/components/schemas/CardsByRarity'
        strokes:
          type: array
          maxItems: 12
          items:
            type: array
            minItems: 4
            maxItems: 80
            items:
              type: number
            description: >-
              Alternating x/y coordinates bounded by the design parser to
              x=0..300, y=0..420.
        tierImages:
          type: array
          items:
            type: string
        cardImage:
          type: string
        tierMasks:
          type: array
          items:
            type: string
      description: >-
        Normalized creator design. Use the shared parser for exact
        canonicalization before standalone signing.
    CardsByRarity:
      type: array
      minItems: 5
      maxItems: 5
      items:
        type: array
        maxItems: 50
        items:
          $ref: '#/components/schemas/CardDefinition'
    CardDefinition:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
          maxLength: 64
        description:
          type: string
          maxLength: 280
        image:
          type: string
          maxLength: 512
        mask:
          type: string
        firstEditionImage:
          type: string
          maxLength: 512
        attributes:
          type: array
          maxItems: 12
          items:
            type: object
            properties:
              trait_type:
                type: string
                maxLength: 32
              value:
                oneOf:
                  - type: string
                    maxLength: 128
                  - type: number
            required:
              - trait_type
              - value
      required:
        - id
        - name
        - description
        - image
        - attributes
      description: >-
        Do not override protocol-owned rarity, foil, wear or identity
        attributes.

````