openapi: 3.1.0
info:
  title: CarryMarket API
  description: Browse and search gaming boost products across 20+ titles on CarryMarket.
  version: 1.0.0
servers:
  - url: https://www.carrymarket.com
paths:
  /game/{slug}:
    get:
      operationId: browseGame
      summary: Browse all boost products for a specific game
      description: Returns the game page with all available boosting products, categories, and prices.
      parameters:
        - name: slug
          in: path
          required: true
          description: "Game slug (e.g. wow, ffxiv, diablo4, valorant, apex, destiny2, poe2)"
          schema:
            type: string
            enum: [wow, ffxiv, diablo4, poe2, destiny2, valorant, apex, lol, cs2, dota2, eso, gw2, throne-and-liberty, fortnite, cod, deadlock, marvel-rivals, mhw]
      responses:
        "200":
          description: Game page with products
  /product/{slug}:
    get:
      operationId: getProduct
      summary: Get full details for a specific boost product
      description: Returns product name, description, price, features, customization options, and purchase URL.
      parameters:
        - name: slug
          in: path
          required: true
          description: The URL slug of the product
          schema:
            type: string
      responses:
        "200":
          description: Product details page
  /blog:
    get:
      operationId: listBlogPosts
      summary: List all gaming guides and blog posts
      description: Returns all published blog posts with titles, excerpts, and dates.
      responses:
        "200":
          description: Blog listing page
  /blog/{slug}:
    get:
      operationId: getBlogPost
      summary: Read a specific blog post or gaming guide
      parameters:
        - name: slug
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Blog post page
  /insights:
    get:
      operationId: listInsights
      summary: List AI-generated daily gaming insights
      responses:
        "200":
          description: Insights listing page
  /insights/{slug}:
    get:
      operationId: getInsight
      summary: Read a specific AI-generated gaming insight
      parameters:
        - name: slug
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Insight article page
  /about:
    get:
      operationId: getAbout
      summary: Learn about CarryMarket — guarantees, process, and contact info
      responses:
        "200":
          description: About page
  /sitemap:
    get:
      operationId: getSitemap
      summary: Complete directory of all pages, games, and products on CarryMarket
      responses:
        "200":
          description: Sitemap page
