FusionFeed

FusionFeed aggregates sports data and media (schedules, rosters, official and automated statistics, telemetry, scoreboard, and live/VOD video) into a single GraphQL-first API (with an interchangeable REST interface and WebSocket subscriptions), versioned under /v2/.

AsyncAPI Specification

tempus-ex-fusionfeed-asyncapi.yml Raw ↑
generated: '2026-07-21'
method: generated
source: https://docs.tempus-ex.com/fusionfeed/graphql/executing-queries
spec_type: AsyncAPI
x-note: >-
  Generated by API Evangelist from the documented FusionFeed GraphQL
  subscription transport. FusionFeed pushes live data (e.g. telemetry, stats,
  scoreboard updates) to clients via GraphQL subscriptions over WebSocket using
  the graphql-ws protocol at /v2/graphql-ws. This AsyncAPI captures that real
  streaming surface; the concrete subscription fields are defined in the
  provider's GraphQL schema, not published as a standalone document.
asyncapi: 3.0.0
info:
  title: FusionFeed Realtime (GraphQL Subscriptions)
  version: v2
  description: >-
    Live push of sports data from FusionFeed over WebSocket. Subscriptions use
    the graphql-ws protocol (legacy subscriptions-transport-ws is also
    supported). Authentication is provided in the connection-init parameters as
    {"authorization": "token MY_API_KEY"} because browsers cannot set WebSocket
    headers.
  externalDocs:
    url: https://docs.tempus-ex.com/fusionfeed/graphql/executing-queries
servers:
  production:
    host: feed.fusion.tempus-ex.com
    pathname: /v2/graphql-ws
    protocol: wss
    protocolVersion: graphql-ws
    description: FusionFeed GraphQL subscriptions WebSocket endpoint.
    security:
    - $ref: '#/components/securitySchemes/connectionInitToken'
channels:
  graphqlSubscriptions:
    address: /v2/graphql-ws
    description: >-
      WebSocket channel carrying GraphQL subscription operations (graphql-ws
      framing). Clients subscribe to live game data such as telemetry packets,
      automated statistics and scoreboard updates as it is produced during a
      game.
    messages:
      subscribe:
        $ref: '#/components/messages/GraphQLSubscribeMessage'
      next:
        $ref: '#/components/messages/GraphQLNextMessage'
operations:
  receiveGameUpdates:
    action: receive
    channel:
      $ref: '#/channels/graphqlSubscriptions'
    summary: Receive live GraphQL subscription payloads pushed by FusionFeed.
    messages:
    - $ref: '#/channels/graphqlSubscriptions/messages/next'
components:
  securitySchemes:
    connectionInitToken:
      type: userPassword
      description: >-
        API key passed via the graphql-ws connection-init parameters as
        {"authorization": "token MY_API_KEY"}.
  messages:
    GraphQLSubscribeMessage:
      name: subscribe
      title: graphql-ws subscribe
      summary: Client registers a GraphQL subscription operation.
      contentType: application/json
      payload:
        type: object
        properties:
          id: { type: string }
          type: { type: string, const: subscribe }
          payload:
            type: object
            properties:
              query: { type: string, description: GraphQL subscription document }
              variables: { type: object }
              operationName: { type: string }
    GraphQLNextMessage:
      name: next
      title: graphql-ws next
      summary: Server pushes the next subscription result.
      contentType: application/json
      payload:
        type: object
        properties:
          id: { type: string }
          type: { type: string, const: next }
          payload:
            type: object
            properties:
              data: { type: object }
              errors: { type: array, items: { type: object } }