Skip to content
SocialSportHub
Sports intelligence

Sports Knowledge API

The API architecture for the platform — a REST/JSON + JSON-LD resource model with an OpenAPI 3.1.0 specification across 11 endpoints, generated entirely from the knowledge graph.

OpenAPI 3.1.011 endpointsSpecification only

Specification only — no live endpoint

This is the API architecture, generated deterministically from the platform’s registries. There is no live server and no database. The machine-readable specification is served as a static artifact at /api/openapi.json, and the schema registry at /api/schema.

Endpoints

Entities

GET/v1/entitiesList all entity types and their counts
GET/v1/entities/{type}List entities of a type
GET/v1/entities/{type}/{slug}Get one entity as a resource

Search

GET/v1/searchSearch across the knowledge graph

Compare

GET/v1/compare/{slug}Get a head-to-head comparison

Calculators

GET/v1/calculatorsList calculators
GET/v1/calculators/{slug}Get a calculator specification (inputs + formula)

Learning

GET/v1/learning/coursesList interactive courses
GET/v1/learning/courses/{sport}Get a course with its modules

Atlas

GET/v1/atlasList knowledge-atlas dimensions

Recommendations

GET/v1/recommendations/{goal}Get explainable recommendations for a goal

Schemas

RelationshipPaginationResourceResourceListTypeListSearchResultComparisonCalculatorCalculatorListCourseCourseListAtlasListRecommendationListError

Conventions

  • Versioning: path-based, /v1.
  • Pagination: page + pageSize, with a pagination envelope.
  • Filtering: by type and query q.
  • Localization: lang parameter (currently en only — no fabricated translations).
  • JSON-LD: every resource carries Tier-A-safe Schema.org JSON-LD.

Example resource

A real entity serialized to the API resource shape (GET /v1/entities/sport/tennis).

{
  "id": "sport/tennis",
  "type": "sport",
  "slug": "tennis",
  "name": "Tennis",
  "description": "A singles or doubles racquet sport that blends agility, strategy and stamina on court.",
  "url": "https://socialsporthub.com/sports/tennis",
  "apiUrl": "/v1/entities/sport/tennis",
  "keywords": [
    "tennis for beginners",
    "how to start tennis",
    "tennis health benefits",
    "play tennis"
  ],
  "relationships": [
    {
      "type": "curriculum",
      "id": "curriculum/tennis",
      "name": "Learn Tennis",
      "url": "https://socialsporthub.com/learn/tennis"
    },
    {
      "type": "curriculum",
      "id": "curriculum/table-tennis",
      "name": "Learn Table Tennis",
      "url": "https://socialsporthub.com/learn/table-tennis"
    },
    {
      "type": "curriculum",
      "id": "curriculum/padel",
      "name": "Learn Padel",
      "url": "https://socialsporthub.com/learn/padel"
    }
  ],
  "jsonLd": {
    "@context": "https://schema.org",
    "@type": "WebPage",
    "name": "Tennis",
    "description": "A singles or doubles racquet sport that blends agility, strategy and stamina on court.",
    "url": "https://socialsporthub.com/sports/tennis",
    "about": {
      "@type": "Thing",
      "name": "Tennis"
    }
  },
  "meta": {
    "version": "1.0.0",
    "generatedFrom": "knowledge-graph-registry"
  }
}