# Fight Actions

This web socket endpoint returns the detailed action data per fight. You will need to make a connection for each fight once. This endpoint is in conjunction with the Live Events REST endpoint – when a fight starts it will be included in the response to the /liveevents endpoint, and at that point you should commence connecting to the web socket for that fight’s action feed

## **Endpoint URL**

| wss\://dde-streams.data.imgarena.com/media/mma/fight-actions/feed/{id} |
| ---------------------------------------------------------------------- |

## **Process for connecting to the web socket endpoints**

* Connect to the SSL websocket address
* Send JSON packet containing API token
* Receive response indicating that connection is authorised (or a response indicating why the connection cannot be made)
* Receive heartbeat packets every 10 seconds to verify the connection is live
* Receive data packets

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

## Request Parameters

| **Parameter** | **Type** | **Purpose**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| startPosition | integer  | <p>The position in the stream that you want to start from.<br>Each packet in the stream has a sequence number ('seqNum'), where 1 is the first packet in the stream. By default the stream will start from the beginning.</p><p>This is useful if you get disconnected from a stream and need to reconnect. When reconnecting, if you specify the seqNum of the last packet you received + 1, then you can pick up where you left off without need to reprocess all the events already received.</p> |

## Response Model

Each action packet sent over the websocket has the following format:

| **Field Name**   | **Type** | **Description**                                                                                                                                                                                                 |
| ---------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| fighters         | object   | Name and fighter ID for the red and blue fighters respectively                                                                                                                                                  |
| timestamp        | string   | ISO 8601 timestamp representing when this action occurred                                                                                                                                                       |
| roundTime        | string   | Time left on the clock when this action occurred                                                                                                                                                                |
| result           | string   | Optional. Indicates whether or not the attempted action was successful. Possible values are **`successful`** or **`unsuccessful`**                                                                              |
| eventElementType | string   | The type of event we’re reporting, such as a strike, takedown attempt, or submission attempt. See the **`eventElementType`** table for the possible event types.                                                |
| id               | integer  | A unique ID associated with the action                                                                                                                                                                          |
| seqNum           | integer  | The sequence number of the packet in the feed                                                                                                                                                                   |
| fighters         | string   | Optional. Which fighter performed the action, if relevant. Possible values are **`Red`** and **`Blue`**.                                                                                                        |
| details          | object   | Optional. Provides detailed information about the nature of the action. See the **`details`** table.                                                                                                            |
| sendType         | string   | <p>Identifies if the packet is either a - "new", "deleted" or "correction".<br></p><p>new = new actionId</p><p>correction = existing actionId which has been amended<br>deleted = actionId has been deleted</p> |
| position         | string   | This conveys the position the fighters were in when this action occurred. Possible values include **`backControl, clinch, distance, guard, halfGuard, miscGround, mount, sideControl.`**                        |
| round            | number   | Which round this action occurred in                                                                                                                                                                             |

## Fighter Object

| **Field Name** | **Type** | **Description**                                          |
| -------------- | -------- | -------------------------------------------------------- |
| red            | object   | colour for fighter (new field, unsure about description) |
| blue           | object   | colour for fighter (new field, unsure about description) |

## Red Object

| **Field Name** | **Type** | **Description** |
| -------------- | -------- | --------------- |
| name           | string   | name of fighter |
| fighterId      | integer  | ID of fighter   |

## Blue Object

| **Field Name** | **Type** | **Description** |
| -------------- | -------- | --------------- |
| name           | string   | name of fighter |
| fighterId      | integer  | ID of fighter   |
| ufcFighterId   | integer  | UFC fighter ID  |

## Details format:

| **Field Name** | **Type** | **Description**                                                                                                                                                                                                                      |
| -------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| target         | string   | The body part at which the strike was aimed, such as **`head, body, leg`** etc. In the case of submissions or takedowns, this is usually provided as **`submission`** or **`takedown`** respectively.                                |
| strength       | string   | The strength behind the action; possible values are **`Sig`**, representing a significant blow, and **`Other`**, representing a less significant jab, a feint, or something else.                                                    |
| strikeType     | string   | Whether this action involved the arms or legs; possible values are **`arm`** and **`leg`**. This may mean a punch or a kick, but may also refer to an elbow/knee strike, a strangle, or something else depending on the action type. |

## **eventElementType** values:

| **Value**  | **Meaning**                                                                                                                                                                                                                                                                                                  |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| position   | Simply indicates the position the fighters are in; a round will open with this event. The **`details, results`**&#x61;nd **`fighter`** fields will not be provided.                                                                                                                                          |
| strike     | Indicates that the specified fighter attempted to strike their opponent. The **`details`** and **`results`** fields will indicate where the blow was aimed, whether it landed, how much force was behind it, and whether it was a punch / elbow strike or a kick / knee strike. See the **`details`** table. |
| takedown   | Indicates that the specified fighter attempted to take down their opponent.                                                                                                                                                                                                                                  |
| submission | Indicates that the specified fighter attempted to force a submission from their opponent.                                                                                                                                                                                                                    |
| knockdown  | Indicates that the specified fighter attempted to knock down their opponent.                                                                                                                                                                                                                                 |
| standup    | Indicates that a fighter attempted to stand up.                                                                                                                                                                                                                                                              |
| reversal   | Indicates that a fighter attempted to execute a reversal.                                                                                                                                                                                                                                                    |
| stop       | Indicates that the round ended. The **`details, results`** and **`fighter`** fields will not be provided.                                                                                                                                                                                                    |
| pause      | Indicates that the round was paused. The **`details, results`** and **`fighter`** fields will not be provided.                                                                                                                                                                                               |

## Sample Response:

Here’s a sample of the output we have for fight 9553, Diego Lopes vs. Jean Silva; this packet represents a successful, significant strike to the head, where Diego Lopes is the attacker. It also indicates that the fighters were standing apart from one another when the blow was dealt.

```
{
    "details": {
        "strength": "Sig",
        "target": "leg"
    },
    "eventElementType": "strike",
    "fighter": "Red",
    "fighters": {
        "blue": {
            "fighterId": 4103,
            "name": "Jean Silva",
            "ufcFighterId": "4064",
            "pflFighterId": null
        },
        "red": {
            "fighterId": 3745,
            "name": "Diego Lopes",
            "ufcFighterId": 3754,
            "pflFighterId": null
        }
    },
    "id": 1023320,
    "position": "distance",
    "result": "successful",
    "round": 1,
    "roundTime": "04:51",
    "sendType": "new",
    "seqNum": 2,
    "timestamp": "2025-09-14T00:36:16Z"
}
```
