# Correction

## Overview

There are two ways of fixing mistakes around wrong scores, whether the latest point scored (Undo) should be fixed, or a previously assigned score (Correction) should be amended. These two messages are different, but structurally similar packets.

1. Undo
2. Correction (Score Edit)

## 1. Undo

The last [scored point](https://app.gitbook.com/@img-arena/s/table-tennis/~/drafts/-MfCuNZN8vla5OkSK5HV/live-data-scenarios/the-basics#point-scored) can be undone due to a point decrement or a penalty point decrement action. Semantically, an `Undo` packet means the official chose to revert the most recently emitted packet(s). Under the `scores` field a snapshot should be found of what is understood to be the latest scores of the match after taking into account the effect of the undo. Also included is a field named `undoneEventSeqNums` which details which packets were removed. In case of an Undo packet, it's always seqNum - 1.

```
{
    "eventElementType": "Undo",
    "id": 0,
    "seqNum": 27,
    "matchScore": {
        "pointsA": 0,
        "pointsB": 0
    },
    "scores": [
        {
            "pointsA": 0,
            "pointsB": 11
        },
        {
            "pointsA": 5,
            "pointsB": 4
        },
        {
            "pointsA": 0,
            "pointsB": 0
        },
        {
            "pointsA": 0,
            "pointsB": 0
        },
        {
            "pointsA": 0,
            "pointsB": 0
        }
    ],
    "game": 2,
    "timestamp": "1970-01-01T00:00:00.000Z",
     "undoneEventSeqNums": [
    26
    ]
}

```

## 1. Correction (Score Edit)

A `Correction` packet means the official modified packets that occurred at some point in the past. Like `Undo` packets, under the `scores` field a snapshot of what is understood to be the current state of the match after taking into account the effect of the correction(s).

```
{
    "eventElementType": "Correction",
    "id": 0,
    "seqNum": 27,
    "scores": [
        {
            "pointsA": 0,
            "pointsB": 11
        },
        {
            "pointsA": 5,
            "pointsB": 4
        },
        {
            "pointsA": 0,
            "pointsB": 0
        },
        {
            "pointsA": 0,
            "pointsB": 0
        },
        {
            "pointsA": 0,
            "pointsB": 0
        }
    ],
    "matchScore": {
        "pointsA": 0,
        "pointsB": 0
    },
    "game": 2,
    "timestamp": "1970-01-01T00:00:00.000Z",
}

```


---

# Agent Instructions: 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/table-tennis/live-data-scenarios/during-a-match/undo-events.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.
