> For the complete documentation index, see [llms.txt](https://docs.sportradar.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sportradar.com/tennis/stream-endpoints-websockets/events-id-stream-tennis.md).

# Events Streams

This stream contains the events happening within the tennis match and generally corresponds to data being entered by the umpire on the court.

Please note that if the match for the requested stream has not yet started then a 204 response code will be returned and the Websocket will not be accessible. As soon as the event starts the Websocket will become available.

The first event is always a dummy placeholder event (i.e. not produced by the upstream provider) with a match status of NotStarted:

Not Started - JSON Example

```
{
  "timestamp": "1970-01-01T00:00:00.000Z",
  "eventElementType": "MatchStatusUpdate",
  "matchTime": "00:00:00",
  "seqNum": 0,
  "matchStatus": {
    "umpireCountry": "Unknown",
    "umpire": "Unknown",
    "teamAPlayer1": "Unknown",
    "tossChooser": "Unknown",
    "matchState": {
      "state": "NotStarted"
    },
    "teamBPlayer1": "Unknown",
    "numSets": -1,
    "scoringType": "UnknownScoringType",
    "firstServer": "UnknownTeam",
    "tossWinner": "UnknownTeam",
    "courtNum": -1,
    "teamAPlayersDetails": {
      "player1Id": "Unknown",
      "player1Country": "Unknown"
    },
    "teamBPlayersDetails": {
      "player1Id": "Unknown",
      "player1Country": "Unknown"
    },
    "umpireCode": "Unknown",
    "tieBreakType": "Unknown"
  }
}
```

This response takes the following parameters:

ParameterTypePurpose

startPosition

int

The position in the stream that you want to start from. Each packet in the stream has an integer id, where 1 is the first packet in the stream. By default, the stream will start from the beginning.\
This is useful if you get disconnected from a stream and need to reconnect. When reconnecting, if you specify the id of the last packet you received + 1, then you can pick up where you left off without the need to reprocess all the events already received.

### Endpoint URL

**New URL: `wss://dde-streams.data.srarena.io/tennis/events/{event-id}/stream`**\
**Legacy URL:** **`wss://dde-streams.data.imgarena.com/tennis/events/{event-id}/stream`** (decommissioning on 30th Sept 2026)

N.B. – Please use event ID “**2022-2789-MS027**” to return the sample data. The authentication token provided will be required to make a connection to this WebSocket endpoint.

### Process for connecting to the web socket endpoints

* Connect to SSL WebSocket address
* Send JSON packet containing the API token
* Format to send API token:

  `{"authToken": "authentication token"}`
* Receive response indicating that connection is authorised (or a response indicating why the connection cannot be made)
* Receive data packets

Once you have the API token, any further data that you send over the connection will be ignored.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sportradar.com/tennis/stream-endpoints-websockets/events-id-stream-tennis.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
