For the complete documentation index, see llms.txt. This page is also available as Markdown.

Live Events

Overview

Use these endpoints to consume live golf events for a specific tournament context.

Stroke play events are scoped to a tournament round.

Match play events are scoped to a match.

You can consume live events through WebSocket or fetch event history through REST.

Transport options

  • WebSocket delivers events as they happen.

  • REST returns previously produced events.

REST responses return event objects only. They do not include the outer CloudEvents envelope used by WebSocket.

WebSocket initialization

After the WebSocket connection is established, send a Client.Init message.

If you include last_seen_event_id, the stream resumes after that event.

If you omit last_seen_event_id, the stream starts by replaying all past events, then continues with new events.

If the server does not receive the init message within about 90 seconds, it closes the connection with code 1000.

Init message example

WebSocket event format

Each WebSocket message contains a CloudEvents envelope.

The golf-specific event object is stored in data.

Event object fields

field
type
description

id

String (UUID)

Unique identifier of the live event.

action

String

Operation applied to the event payload. Possible values: ADD, UPDATE, DELETE.

type

String

Golf live event type such as Event.Sport.Golf.BallHoled.

created_at

String (date-time)

Timestamp when this version of the event object was created.

sport_event

Object

SR sport event reference. For stroke play this refers to a round. For match play this refers to a match.

sport_event.id

String

SR identifier of the referenced sport event.

payload

Object

Domain-specific event payload. This field is omitted for DELETE actions.

payload.event_time

String (date-time)

Timestamp when the event occurred on the course.

created_at is version time. payload.event_time is on-course event time.

REST response format

REST endpoints return an array of event objects.

These objects match the data part of the WebSocket message.

Endpoints

Stroke play tournaments

WebSocket

wss://{domain}/golf/stream/v1/tournaments/{tournament_id}/round/{round_id}/events

REST

GET https://{domain}/golf/rest/v1/tournaments/{tournament_id}/round/{round_id}/events

Path parameters

Name

Type

Required

Description

tournament_id

integer

Yes

Tournament identifier.

round_id

integer

Yes

Round identifier.

Match play tournaments

WebSocket

wss://{domain}/golf/stream/v1/tournaments/{tournament_id}/match/{match_id}/events

REST

GET https://{domain}/golf/rest/v1/tournaments/{tournament_id}/match/{match_id}/events

Path parameters

Name

Type

Required

Description

tournament_id

integer

Yes

Tournament identifier.

match_id

integer

Yes

Match identifier.

Last updated

Was this helpful?