openapi: 3.0.3 info: title: jService Trivia Categories Moderation API description: 'jService is an open source Ruby on Rails API that serves Jeopardy! questions (called "clues"), answers, and categories sourced from the J! Archive fan site. The schema in this document is reconstructed from the upstream source repository (`sottenad/jService`, MIT licensed). The historical public deployment at https://jservice.io is offline as of 2025 (parked / for-sale holding page); the project remains self-hostable against PostgreSQL. All endpoints return JSON. None require authentication; no rate limits are documented in the source. ' version: 1.0.0 contact: name: Steve Ottenad url: https://github.com/sottenad/jService license: name: MIT url: https://github.com/sottenad/jService/blob/master/LICENSE.txt x-status: deprecated x-status-reason: Original hosted endpoint at jservice.io is offline; spec preserved from source. x-data-source: https://j-archive.com servers: - url: http://jservice.io description: Original hosted endpoint (historical, currently offline) - url: http://localhost:3000 description: Default local Rails development server tags: - name: Moderation description: User-driven reporting of invalid clues. paths: /api/invalid: post: tags: - Moderation summary: Mark Clue Invalid description: Increment the `invalid_count` for a clue, used to flag bad questions/answers. operationId: markClueInvalid parameters: - name: id in: query description: Clue ID to flag as invalid. required: true schema: type: integer responses: '200': description: The updated clue. content: application/json: schema: $ref: '#/components/schemas/Clue' '404': description: Clue not found. components: schemas: Clue: type: object properties: id: type: integer answer: type: string description: The Jeopardy "answer" (read by the host). question: type: string description: The Jeopardy "question" (the contestant's response). value: type: integer nullable: true description: Dollar value of the clue. Null for Final Jeopardy clues. airdate: type: string format: date-time category_id: type: integer game_id: type: integer nullable: true invalid_count: type: integer nullable: true description: Number of times users have flagged this clue as invalid. required: - id - answer - question - category_id