{
  "@context": {
    "@vocab": "https://fantasypundit.lol/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "fantasypundit": "https://fantasypundit.lol/schema#",
    "Health": "fantasypundit:Health",
    "ok": {
      "@id": "fantasypundit:ok",
      "@type": "xsd:boolean"
    },
    "service": {
      "@id": "fantasypundit:service",
      "@type": "xsd:string"
    },
    "time": {
      "@id": "fantasypundit:time",
      "@type": "xsd:dateTime"
    },
    "capabilities": {
      "@id": "fantasypundit:capabilities",
      "@type": "@id"
    },
    "ProductCapabilities": "fantasypundit:ProductCapabilities",
    "schemaVersion": {
      "@id": "fantasypundit:schemaVersion",
      "@type": "xsd:string"
    },
    "commentary": {
      "@id": "fantasypundit:commentary"
    },
    "audio": {
      "@id": "fantasypundit:audio"
    },
    "FplStatus": "fantasypundit:FplStatus",
    "phase": {
      "@id": "fantasypundit:phase",
      "@type": "xsd:string"
    },
    "lastCompletedGameweek": {
      "@id": "fantasypundit:lastCompletedGameweek",
      "@type": "xsd:integer"
    },
    "currentGameweek": {
      "@id": "fantasypundit:currentGameweek",
      "@type": "xsd:integer"
    },
    "nextGameweek": {
      "@id": "fantasypundit:nextGameweek",
      "@type": "xsd:integer"
    },
    "expectedReadyAt": {
      "@id": "fantasypundit:expectedReadyAt",
      "@type": "xsd:dateTime"
    },
    "CommentaryRequest": "fantasypundit:CommentaryRequest",
    "leagueId": {
      "@id": "fantasypundit:leagueId",
      "@type": "xsd:string"
    },
    "CommentaryJobAccepted": "fantasypundit:CommentaryJobAccepted",
    "jobId": {
      "@id": "fantasypundit:jobId",
      "@type": "xsd:string"
    },
    "status": {
      "@id": "fantasypundit:status",
      "@type": "xsd:string"
    },
    "deduplicated": {
      "@id": "fantasypundit:deduplicated",
      "@type": "xsd:boolean"
    },
    "gameweek": {
      "@id": "fantasypundit:gameweek",
      "@type": "xsd:integer"
    },
    "seasonId": {
      "@id": "fantasypundit:seasonId",
      "@type": "xsd:string"
    },
    "deferredUntilFinal": {
      "@id": "fantasypundit:deferredUntilFinal",
      "@type": "xsd:boolean"
    },
    "pollAfterSeconds": {
      "@id": "fantasypundit:pollAfterSeconds",
      "@type": "xsd:integer"
    },
    "CommentaryJob": "fantasypundit:CommentaryJob",
    "id": {
      "@id": "fantasypundit:id",
      "@type": "xsd:string"
    },
    "progress": {
      "@id": "fantasypundit:progress",
      "@type": "xsd:integer"
    },
    "leagueUrl": {
      "@id": "fantasypundit:leagueUrl",
      "@type": "@id"
    },
    "textShareUrl": {
      "@id": "fantasypundit:textShareUrl",
      "@type": "@id"
    },
    "error": {
      "@id": "fantasypundit:error"
    },
    "Error": "fantasypundit:Error",
    "code": {
      "@id": "fantasypundit:code",
      "@type": "xsd:string"
    },
    "retryAfterSeconds": {
      "@id": "fantasypundit:retryAfterSeconds",
      "@type": "xsd:integer"
    },
    "resetAt": {
      "@id": "fantasypundit:resetAt",
      "@type": "xsd:dateTime"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "Fantasy Pundit API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Fantasy Pundit's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-11-07) from openapi/fantasypundit-lol-openapi.json.",
  "dcterms:created": "2026-11-07",
  "dcterms:source": [
    "openapi/fantasypundit-lol-openapi.json"
  ]
}