PlayerData · AsyncAPI Specification

PlayerData Real-Time Events (GraphQL Subscriptions)

Version 1.0.0

Server-emitted real-time events exposed by the PlayerData GraphQL API via RootSubscription. Derived from the published GraphQL schema; each channel maps to a GraphQL subscription field delivered over the same OAuth2-secured GraphQL endpoint. This is a faithful representation of a real event surface, not a separately published AsyncAPI document.

View Spec View on GitHub CompanySportsSports PerformanceGPS TrackingWearablesAthlete MonitoringGraphQLAnalyticsAsyncAPIEvents

Channels

athletePeriodMetricsUpdatedEvent
Emitted when an athlete's period metrics are updated.
athleteSegmentMetricsUpdatedEvent
Emitted when an athlete's segment metrics are updated.
athleteSessionMetricsUpdatedEvent
Emitted when an athlete's session metrics are updated.
periodMetricsUpdatedEvent
Emitted when period metrics are updated.
segmentMetricsUpdatedEvent
Emitted when segment metrics are updated.
sessionMetricsUpdatedEvent
Emitted when session metrics are updated.
sessionQuickActionsEvent
Emitted for session quick-action updates.
matchEventCreatedEvent
Emitted when a match event is created.
pitchDetectedEvent
Emitted when a pitch is detected.
datasetUpdatedEvent
Emitted when a dataset is updated.
flexibleReportUpdatedEvent
Emitted when a flexible report is updated.
bulkActionEvent
Emitted for progress on a bulk action.
bulkAthleteImportEvent
Emitted for progress on a bulk athlete import.
bulkStaffImportEvent
Emitted for progress on a bulk staff import.
trainingPlanImportEvent
Emitted for progress on a training plan import.
pendingMemberCreatedEvent
Emitted when a pending member is created.
setupChecklistUpdatedEvent
Emitted when the setup checklist is updated.

Servers

graphql-ws
graphql
PlayerData GraphQL subscriptions endpoint (OAuth2 bearer).

AsyncAPI Specification

playerdata-events-asyncapi.yml Raw ↑
generated: '2026-07-20'
method: derived
source: graphql/playerdata-schema.graphql#RootSubscription
spec_type: AsyncAPI
asyncapi: 3.0.0
info:
  title: PlayerData Real-Time Events (GraphQL Subscriptions)
  version: 1.0.0
  description: >-
    Server-emitted real-time events exposed by the PlayerData GraphQL API via
    RootSubscription. Derived from the published GraphQL schema; each channel maps
    to a GraphQL subscription field delivered over the same OAuth2-secured GraphQL
    endpoint. This is a faithful representation of a real event surface, not a
    separately published AsyncAPI document.
servers:
  graphql:
    host: app.playerdata.co.uk
    pathname: /api/graphql
    protocol: graphql-ws
    description: PlayerData GraphQL subscriptions endpoint (OAuth2 bearer).
channels:
  athletePeriodMetricsUpdatedEvent:
    address: athletePeriodMetricsUpdatedEvent
    description: Emitted when an athlete's period metrics are updated.
  athleteSegmentMetricsUpdatedEvent:
    address: athleteSegmentMetricsUpdatedEvent
    description: Emitted when an athlete's segment metrics are updated.
  athleteSessionMetricsUpdatedEvent:
    address: athleteSessionMetricsUpdatedEvent
    description: Emitted when an athlete's session metrics are updated.
  periodMetricsUpdatedEvent:
    address: periodMetricsUpdatedEvent
    description: Emitted when period metrics are updated.
  segmentMetricsUpdatedEvent:
    address: segmentMetricsUpdatedEvent
    description: Emitted when segment metrics are updated.
  sessionMetricsUpdatedEvent:
    address: sessionMetricsUpdatedEvent
    description: Emitted when session metrics are updated.
  sessionQuickActionsEvent:
    address: sessionQuickActionsEvent
    description: Emitted for session quick-action updates.
  matchEventCreatedEvent:
    address: matchEventCreatedEvent
    description: Emitted when a match event is created.
  pitchDetectedEvent:
    address: pitchDetectedEvent
    description: Emitted when a pitch is detected.
  datasetUpdatedEvent:
    address: datasetUpdatedEvent
    description: Emitted when a dataset is updated.
  flexibleReportUpdatedEvent:
    address: flexibleReportUpdatedEvent
    description: Emitted when a flexible report is updated.
  bulkActionEvent:
    address: bulkActionEvent
    description: Emitted for progress on a bulk action.
  bulkAthleteImportEvent:
    address: bulkAthleteImportEvent
    description: Emitted for progress on a bulk athlete import.
  bulkStaffImportEvent:
    address: bulkStaffImportEvent
    description: Emitted for progress on a bulk staff import.
  trainingPlanImportEvent:
    address: trainingPlanImportEvent
    description: Emitted for progress on a training plan import.
  pendingMemberCreatedEvent:
    address: pendingMemberCreatedEvent
    description: Emitted when a pending member is created.
  setupChecklistUpdatedEvent:
    address: setupChecklistUpdatedEvent
    description: Emitted when the setup checklist is updated.
operations:
  onAthleteSessionMetricsUpdated:
    action: receive
    channel:
      $ref: '#/channels/athleteSessionMetricsUpdatedEvent'
  onSessionMetricsUpdated:
    action: receive
    channel:
      $ref: '#/channels/sessionMetricsUpdatedEvent'
  onMatchEventCreated:
    action: receive
    channel:
      $ref: '#/channels/matchEventCreatedEvent'

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/playerdata-events-asyncapi"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.