Documentation

API Documentation

A real-time trivia system designed for consistency and replayability.


Core System

Traditional trivia systems frequently repeat questions across sessions.

A session-based token is issued and attached to all requests to opentdb.

Each session (6 hours) guarantees unique question delivery.


Token Flow

Client
API
Token Request
Request proxied by Next.js
Token Issued by opentdb

Implementation

Generate a session token

Store token on client

Attach token to all requests

Reset after expiration (~6 hours)


API

/api/trivia

Get a list of questions. Amount is how many questions will be returned

GET /api/trivia?amount={value}

Json Schema

{
  "amount": number,
  "data": {
    "response_code": number,
    "results": [
      {
        "type": string,
        "difficulty": string,
        "category": string,
        "question": string,
        "correct_answer": string,
        "incorrect_answers": string[]
      }
    ]
  }
}
Amount5
https://backend.triviaup.adityabaindur.com/api/trivia?amount=5

/api/trivia/token

Call once per session. Reuse across requests. Valid for upto 6 hours

GET /api/trivia/token

Json Schema

{
  "data": {
    "response_code": number,
    "response_message": string,
    "token": string
  },
  "token": string
}
https://backend.triviaup.adityabaindur.com/api/trivia/token

On this page