openapi: 3.1.0
info:
  title: Shelfiora API
  version: 0.1.0
servers:
  - url: https://api.shelfiora.local/v1
paths:
  /items:
    get:
      summary: List items
      tags:
        - Items
      parameters:
        - in: query
          name: type
          schema:
            type: string
            enum:
              - game
              - movie
              - collectible
        - in: query
          name: limit
          schema:
            type: integer
            minimum: 1
            maximum: 200
            default: 25
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Item'
components:
  schemas:
    Item:
      type: object
      required:
        - id
        - type
        - title
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          enum:
            - game
            - movie
            - collectible
        title:
          type: string
        platform:
          type: string
          nullable: true
        created_at:
          type: string
          format: date-time
