# Delta Feed Messages

## Common Fields

Every Delta Feed message has the following fields:

* `type` - int - type of delta message. Possible values are:
  * `1` - Event Status Changed
  * `2` - Event Changed
  * `3` - Deprecated
  * `4` - Scoreboard Changed
  * `5` - Bets Cancellation
  * `6` - Event Snapshot
  * `7` - Markets Changed
* `eventId` - int64 - Id of changed sport event
* `sportId` - int64 - Id of a sport to which the affected event belongs
* `locationId` - int64 - Id of a location to which the affected event belongs
* `leagueId` - int64 - Id of a league to which the affected event belongs
* `version` - int64 - version of the message, used for feed recovery
* `creationTime` - date-time - timestamp when the message was created
* `correlationId` - string - GUID which can be used to trace back to the message source

## Specific Messages

## The TradeArt.TradeArtApi.Contracts.DeltaMessage.Delta.EventStatusChangedDeltaViewModelV2 object

```json
{"openapi":"3.0.4","info":{"title":"[T1159-STAGE] Odds88 API","version":"v1"},"components":{"schemas":{"TradeArt.TradeArtApi.Contracts.DeltaMessage.Delta.EventStatusChangedDeltaViewModelV2":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.DeltaType"}],"description":"Type of delta\n\n* `0` - None\n* `1` - EventStatusChanged\n* `2` - EventChanged\n* `3` - MarketChanged\n* `4` - ScoreboardChanged\n* `5` - BetCancel\n* `6` - EventSnapshot\n* `7` - MarketsChanged"},"eventId":{"type":"integer","description":"Id of changed event","format":"int64"},"version":{"type":"integer","description":"Version of feed state","format":"int64"},"correlationId":{"type":"string","description":"Correlation id of the message to trace back.","nullable":true},"creationTime":{"type":"string","description":"Captures the timestamp the dto was created.","format":"date-time"},"sportId":{"type":"integer","description":"Id of the Sport","format":"int64"},"locationId":{"type":"integer","description":"Id of the Location","format":"int64"},"leagueId":{"type":"integer","description":"Id of the League","format":"int64"},"updateSequence":{"type":"integer","description":"Event delta sequence.\nIncremented with each sent delta.","format":"int64"},"lastUpdatedTime":{"type":"integer","description":"Event update time.\nIncremented with each valuable update.","format":"int64"},"status":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.EventStatus"}],"description":"Event status\n\n* `0` - Unknown\n* `1` - Planned\n* `2` - SoonInPlay\n* `3` - Live\n* `4` - Completed\n* `5` - Cancelled\n* `6` - CoverageLost\n* `7` - Closed\n* `8` - Suspended\n* `9` - Postponed\n* `10` - Abandoned"},"tradingStatus":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.TradingStatus"}],"description":"Updated status of event trading\n\n* `0` - Open\n* `1` - Suspended\n* `2` - Closed\n* `3` - Inactive"}},"additionalProperties":false,"description":"Event status or trading status changed"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.DeltaType":{"enum":[0,1,2,3,4,5,6,7],"type":"integer","description":"Known types of deltas\n\n* `0` - None\n* `1` - EventStatusChanged\n* `2` - EventChanged\n* `3` - MarketChanged\n* `4` - ScoreboardChanged\n* `5` - BetCancel\n* `6` - EventSnapshot\n* `7` - MarketsChanged","format":"int32"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.EventStatus":{"enum":[0,1,2,3,4,5,6,7,8,9,10],"type":"integer","description":"Status of event\n\n* `0` - Unknown\n* `1` - Planned\n* `2` - SoonInPlay\n* `3` - Live\n* `4` - Completed\n* `5` - Cancelled\n* `6` - CoverageLost\n* `7` - Closed\n* `8` - Suspended\n* `9` - Postponed\n* `10` - Abandoned","format":"int32"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.TradingStatus":{"enum":[0,1,2,3],"type":"integer","description":"Status of trading\n\n* `0` - Open\n* `1` - Suspended\n* `2` - Closed\n* `3` - Inactive","format":"int32"}}}}
```

## The TradeArt.TradeArtApi.Contracts.DeltaMessage.Delta.EventChangedDeltaViewModelV2 object

```json
{"openapi":"3.0.4","info":{"title":"[T1159-STAGE] Odds88 API","version":"v1"},"components":{"schemas":{"TradeArt.TradeArtApi.Contracts.DeltaMessage.Delta.EventChangedDeltaViewModelV2":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.DeltaType"}],"description":"Type of delta\n\n* `0` - None\n* `1` - EventStatusChanged\n* `2` - EventChanged\n* `3` - MarketChanged\n* `4` - ScoreboardChanged\n* `5` - BetCancel\n* `6` - EventSnapshot\n* `7` - MarketsChanged"},"eventId":{"type":"integer","description":"Id of changed event","format":"int64"},"version":{"type":"integer","description":"Version of feed state","format":"int64"},"correlationId":{"type":"string","description":"Correlation id of the message to trace back.","nullable":true},"creationTime":{"type":"string","description":"Captures the timestamp the dto was created.","format":"date-time"},"sportId":{"type":"integer","description":"Id of the Sport","format":"int64"},"locationId":{"type":"integer","description":"Id of the Location","format":"int64"},"leagueId":{"type":"integer","description":"Id of the League","format":"int64"},"updateSequence":{"type":"integer","description":"Event delta sequence.\nIncremented with each sent delta.","format":"int64"},"lastUpdatedTime":{"type":"integer","description":"Event update time.\nIncremented with each valuable update.","format":"int64"},"eventInfo":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.EventInfoViewModelV2"}],"description":"Updated event info","nullable":true}},"additionalProperties":false,"description":"Event info has been changed or new event added"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.DeltaType":{"enum":[0,1,2,3,4,5,6,7],"type":"integer","description":"Known types of deltas\n\n* `0` - None\n* `1` - EventStatusChanged\n* `2` - EventChanged\n* `3` - MarketChanged\n* `4` - ScoreboardChanged\n* `5` - BetCancel\n* `6` - EventSnapshot\n* `7` - MarketsChanged","format":"int32"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.EventInfoViewModelV2":{"type":"object","properties":{"id":{"type":"integer","description":"TradeArt event id.","format":"int64"},"name":{"type":"string","description":"Event name.","nullable":true},"status":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.EventStatus"}],"description":"Event status representing current status of the match.\n\n* `0` - Unknown\n* `1` - Planned\n* `2` - SoonInPlay\n* `3` - Live\n* `4` - Completed\n* `5` - Cancelled\n* `6` - CoverageLost\n* `7` - Closed\n* `8` - Suspended\n* `9` - Postponed\n* `10` - Abandoned"},"tradingStatus":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.TradingStatus"}],"description":"Status of trading for the event showing how it should be processed.\n\n* `0` - Open\n* `1` - Suspended\n* `2` - Closed\n* `3` - Inactive"},"statusDescription":{"type":"string","description":"Free text event status description (optional).","nullable":true},"country":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.ReferenceViewModelV2"}],"description":"Id and Name of event's country.","nullable":true},"sport":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.ReferenceViewModelV2"}],"description":"Id and Name of event's sport.","nullable":true},"competition":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.ReferenceViewModelV2"}],"description":"Id and Name of event's competition.","nullable":true},"season":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.ReferenceViewModelV2"}],"description":"Id and Name of event's season. Can be null for not-outright events.","nullable":true},"competitors":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.ReferenceViewModelV2"},"description":"Ids and Names of event's competitors.","nullable":true},"startTime":{"type":"string","description":"Start time of the event. Can be null.","format":"date-time","nullable":true},"isOutright":{"type":"boolean","description":"Flag which indicates that event is outright."},"customDisplayData":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom display parameters of the event","nullable":true},"isBetBuilderSupported":{"type":"boolean","description":"Indicates whether this selection can be used in Bet Builder"},"mappingInfo":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.MappingViewModel"},"description":"Represents information about external feeds","nullable":true}},"additionalProperties":false,"description":"Information about event (sport, country, statuses etc.)"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.EventStatus":{"enum":[0,1,2,3,4,5,6,7,8,9,10],"type":"integer","description":"Status of event\n\n* `0` - Unknown\n* `1` - Planned\n* `2` - SoonInPlay\n* `3` - Live\n* `4` - Completed\n* `5` - Cancelled\n* `6` - CoverageLost\n* `7` - Closed\n* `8` - Suspended\n* `9` - Postponed\n* `10` - Abandoned","format":"int32"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.TradingStatus":{"enum":[0,1,2,3],"type":"integer","description":"Status of trading\n\n* `0` - Open\n* `1` - Suspended\n* `2` - Closed\n* `3` - Inactive","format":"int32"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.ReferenceViewModelV2":{"type":"object","properties":{"id":{"type":"integer","description":"Id of the referenced entity","format":"int64"},"name":{"type":"string","description":"Name of the referenced entity","nullable":true}},"additionalProperties":false,"description":"Contains reference data for entity"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.MappingViewModel":{"type":"object","properties":{"feedId":{"type":"integer","description":"External Feed Id","format":"int32"},"id":{"type":"string","description":"External Event Id","nullable":true}},"additionalProperties":false,"description":"External mappings info"}}}}
```

## The TradeArt.TradeArtApi.Contracts.DeltaMessage.Delta.ScoreboardChangedDeltaViewModelV2 object

```json
{"openapi":"3.0.4","info":{"title":"[T1159-STAGE] Odds88 API","version":"v1"},"components":{"schemas":{"TradeArt.TradeArtApi.Contracts.DeltaMessage.Delta.ScoreboardChangedDeltaViewModelV2":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.DeltaType"}],"description":"Type of delta\n\n* `0` - None\n* `1` - EventStatusChanged\n* `2` - EventChanged\n* `3` - MarketChanged\n* `4` - ScoreboardChanged\n* `5` - BetCancel\n* `6` - EventSnapshot\n* `7` - MarketsChanged"},"eventId":{"type":"integer","description":"Id of changed event","format":"int64"},"version":{"type":"integer","description":"Version of feed state","format":"int64"},"correlationId":{"type":"string","description":"Correlation id of the message to trace back.","nullable":true},"creationTime":{"type":"string","description":"Captures the timestamp the dto was created.","format":"date-time"},"sportId":{"type":"integer","description":"Id of the Sport","format":"int64"},"locationId":{"type":"integer","description":"Id of the Location","format":"int64"},"leagueId":{"type":"integer","description":"Id of the League","format":"int64"},"updateSequence":{"type":"integer","description":"Event delta sequence.\nIncremented with each sent delta.","format":"int64"},"lastUpdatedTime":{"type":"integer","description":"Event update time.\nIncremented with each valuable update.","format":"int64"},"scoreboard":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.ScoreboardViewModel"}],"description":"Scoreboard of event","nullable":true}},"additionalProperties":false,"description":"Event score or time changed"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.DeltaType":{"enum":[0,1,2,3,4,5,6,7],"type":"integer","description":"Known types of deltas\n\n* `0` - None\n* `1` - EventStatusChanged\n* `2` - EventChanged\n* `3` - MarketChanged\n* `4` - ScoreboardChanged\n* `5` - BetCancel\n* `6` - EventSnapshot\n* `7` - MarketsChanged","format":"int32"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.ScoreboardViewModel":{"type":"object","properties":{"time":{"type":"integer","description":"Current time of event (in seconds)","format":"int32"},"results":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.ResultViewModel"},"description":"Current event results per competitor (in seconds)","nullable":true},"periods":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.PeriodViewModel"},"description":"Current event periods with results and incidents","nullable":true},"incidents":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.IncidentCountViewModel"},"description":"Current event incident summary","nullable":true},"currentPeriodId":{"type":"integer","description":"Internal id of current period","format":"int32"},"lastUpdateTime":{"type":"string","description":"Last update time of the scoreboard","format":"date-time"},"homeGameScore":{"type":"string","description":"Current home team game score","nullable":true},"awayGameScore":{"type":"string","description":"Current away team game score","nullable":true},"extraData":{"type":"object","additionalProperties":{"type":"string"},"description":"Extra parameters of the score","nullable":true}},"additionalProperties":false,"description":"Represents event's scoreboard"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.ResultViewModel":{"type":"object","properties":{"competitorPosition":{"type":"integer","description":"Competitor position (e.g. 1 - Home, 2 - Away)","format":"int32"},"value":{"type":"string","description":"Result value","nullable":true}},"additionalProperties":false,"description":"Represents scoreboard result"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.PeriodViewModel":{"type":"object","properties":{"id":{"type":"integer","description":"Period Id","format":"int32"},"isFinished":{"type":"boolean","description":"Is period finished?"},"incidents":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.IncidentViewModel"},"description":"Incidents occurred in the period","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.ResultViewModel"},"description":"Results of the period","nullable":true},"order":{"type":"integer","description":"The position of this period in a sorted sequence.","format":"int32"}},"additionalProperties":false,"description":"Represents period of the event"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.IncidentViewModel":{"type":"object","properties":{"type":{"type":"integer","description":"Incident type","format":"int32"},"time":{"type":"integer","description":"Event time","format":"int32"},"competitorPosition":{"type":"integer","description":"Index of the competitor in the EventInfo.Competitors array","format":"int32"}},"additionalProperties":false,"description":"Represents incident information"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.IncidentCountViewModel":{"type":"object","properties":{"type":{"type":"integer","description":"Incident type","format":"int32"},"competitorPosition":{"type":"integer","description":"Competitor position (e.g. 1 - Home, 2 - Away)","format":"int32"},"count":{"type":"integer","description":"Incident count","format":"int32"}},"additionalProperties":false,"description":"Incident count by type and competitor"}}}}
```

## The TradeArt.TradeArtApi.Contracts.DeltaMessage.Delta.BetCancelDeltaViewModelV2 object

```json
{"openapi":"3.0.4","info":{"title":"[T1159-STAGE] Odds88 API","version":"v1"},"components":{"schemas":{"TradeArt.TradeArtApi.Contracts.DeltaMessage.Delta.BetCancelDeltaViewModelV2":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.DeltaType"}],"description":"Type of delta\n\n* `0` - None\n* `1` - EventStatusChanged\n* `2` - EventChanged\n* `3` - MarketChanged\n* `4` - ScoreboardChanged\n* `5` - BetCancel\n* `6` - EventSnapshot\n* `7` - MarketsChanged"},"eventId":{"type":"integer","description":"Id of changed event","format":"int64"},"version":{"type":"integer","description":"Version of feed state","format":"int64"},"correlationId":{"type":"string","description":"Correlation id of the message to trace back.","nullable":true},"creationTime":{"type":"string","description":"Captures the timestamp the dto was created.","format":"date-time"},"sportId":{"type":"integer","description":"Id of the Sport","format":"int64"},"locationId":{"type":"integer","description":"Id of the Location","format":"int64"},"leagueId":{"type":"integer","description":"Id of the League","format":"int64"},"updateSequence":{"type":"integer","description":"Event delta sequence.\nIncremented with each sent delta.","format":"int64"},"lastUpdatedTime":{"type":"integer","description":"Event update time.\nIncremented with each valuable update.","format":"int64"},"marketId":{"type":"integer","description":"Market bets on which should be voided","format":"int64"},"from":{"type":"string","description":"Time from which bets should be voided. Equals DateTime.MinValue if no lower bound provided","format":"date-time"},"to":{"type":"string","description":"Time to which bets should be voided. Equals DateTime.MaxValue if no upper bound provided","format":"date-time"},"isRolledBack":{"type":"boolean","description":"Flag indicating whether current Delta rollback previous cancellation for this Market and lying within same From-To range"}},"additionalProperties":false,"description":"Bets placed within period of time must be voided"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.DeltaType":{"enum":[0,1,2,3,4,5,6,7],"type":"integer","description":"Known types of deltas\n\n* `0` - None\n* `1` - EventStatusChanged\n* `2` - EventChanged\n* `3` - MarketChanged\n* `4` - ScoreboardChanged\n* `5` - BetCancel\n* `6` - EventSnapshot\n* `7` - MarketsChanged","format":"int32"}}}}
```

## The TradeArt.TradeArtApi.Contracts.DeltaMessage.Delta.EventSnapshotDeltaViewModelV2 object

```json
{"openapi":"3.0.4","info":{"title":"[T1159-STAGE] Odds88 API","version":"v1"},"components":{"schemas":{"TradeArt.TradeArtApi.Contracts.DeltaMessage.Delta.EventSnapshotDeltaViewModelV2":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.DeltaType"}],"description":"Type of delta\n\n* `0` - None\n* `1` - EventStatusChanged\n* `2` - EventChanged\n* `3` - MarketChanged\n* `4` - ScoreboardChanged\n* `5` - BetCancel\n* `6` - EventSnapshot\n* `7` - MarketsChanged"},"eventId":{"type":"integer","description":"Id of changed event","format":"int64"},"version":{"type":"integer","description":"Version of feed state","format":"int64"},"correlationId":{"type":"string","description":"Correlation id of the message to trace back.","nullable":true},"creationTime":{"type":"string","description":"Captures the timestamp the dto was created.","format":"date-time"},"sportId":{"type":"integer","description":"Id of the Sport","format":"int64"},"locationId":{"type":"integer","description":"Id of the Location","format":"int64"},"leagueId":{"type":"integer","description":"Id of the League","format":"int64"},"updateSequence":{"type":"integer","description":"Event delta sequence.\nIncremented with each sent delta.","format":"int64"},"lastUpdatedTime":{"type":"integer","description":"Event update time.\nIncremented with each valuable update.","format":"int64"},"eventInfo":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.EventInfoViewModelV2"}],"description":"Fixture info containing basic event information.","nullable":true},"markets":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.MarketViewModelV2"},"description":"Markets of the event.","nullable":true},"scoreboard":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.ScoreboardViewModel"}],"description":"Scoreboard of the event. Can be null.","nullable":true},"betCancellations":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.BetCancellationViewModel"},"description":"List of bet cancellations on this event and certain market received from BetRadar. Can be null.","nullable":true}},"additionalProperties":false,"description":"Full snapshot of event data"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.DeltaType":{"enum":[0,1,2,3,4,5,6,7],"type":"integer","description":"Known types of deltas\n\n* `0` - None\n* `1` - EventStatusChanged\n* `2` - EventChanged\n* `3` - MarketChanged\n* `4` - ScoreboardChanged\n* `5` - BetCancel\n* `6` - EventSnapshot\n* `7` - MarketsChanged","format":"int32"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.EventInfoViewModelV2":{"type":"object","properties":{"id":{"type":"integer","description":"TradeArt event id.","format":"int64"},"name":{"type":"string","description":"Event name.","nullable":true},"status":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.EventStatus"}],"description":"Event status representing current status of the match.\n\n* `0` - Unknown\n* `1` - Planned\n* `2` - SoonInPlay\n* `3` - Live\n* `4` - Completed\n* `5` - Cancelled\n* `6` - CoverageLost\n* `7` - Closed\n* `8` - Suspended\n* `9` - Postponed\n* `10` - Abandoned"},"tradingStatus":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.TradingStatus"}],"description":"Status of trading for the event showing how it should be processed.\n\n* `0` - Open\n* `1` - Suspended\n* `2` - Closed\n* `3` - Inactive"},"statusDescription":{"type":"string","description":"Free text event status description (optional).","nullable":true},"country":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.ReferenceViewModelV2"}],"description":"Id and Name of event's country.","nullable":true},"sport":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.ReferenceViewModelV2"}],"description":"Id and Name of event's sport.","nullable":true},"competition":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.ReferenceViewModelV2"}],"description":"Id and Name of event's competition.","nullable":true},"season":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.ReferenceViewModelV2"}],"description":"Id and Name of event's season. Can be null for not-outright events.","nullable":true},"competitors":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.ReferenceViewModelV2"},"description":"Ids and Names of event's competitors.","nullable":true},"startTime":{"type":"string","description":"Start time of the event. Can be null.","format":"date-time","nullable":true},"isOutright":{"type":"boolean","description":"Flag which indicates that event is outright."},"customDisplayData":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom display parameters of the event","nullable":true},"isBetBuilderSupported":{"type":"boolean","description":"Indicates whether this selection can be used in Bet Builder"},"mappingInfo":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.MappingViewModel"},"description":"Represents information about external feeds","nullable":true}},"additionalProperties":false,"description":"Information about event (sport, country, statuses etc.)"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.EventStatus":{"enum":[0,1,2,3,4,5,6,7,8,9,10],"type":"integer","description":"Status of event\n\n* `0` - Unknown\n* `1` - Planned\n* `2` - SoonInPlay\n* `3` - Live\n* `4` - Completed\n* `5` - Cancelled\n* `6` - CoverageLost\n* `7` - Closed\n* `8` - Suspended\n* `9` - Postponed\n* `10` - Abandoned","format":"int32"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.TradingStatus":{"enum":[0,1,2,3],"type":"integer","description":"Status of trading\n\n* `0` - Open\n* `1` - Suspended\n* `2` - Closed\n* `3` - Inactive","format":"int32"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.ReferenceViewModelV2":{"type":"object","properties":{"id":{"type":"integer","description":"Id of the referenced entity","format":"int64"},"name":{"type":"string","description":"Name of the referenced entity","nullable":true}},"additionalProperties":false,"description":"Contains reference data for entity"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.MappingViewModel":{"type":"object","properties":{"feedId":{"type":"integer","description":"External Feed Id","format":"int32"},"id":{"type":"string","description":"External Event Id","nullable":true}},"additionalProperties":false,"description":"External mappings info"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.MarketViewModelV2":{"type":"object","properties":{"id":{"type":"integer","description":"Market Id","format":"int64"},"name":{"type":"string","description":"Market name","nullable":true},"tradingStatus":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.TradingStatus"}],"description":"Market trading status\n\n* `0` - Open\n* `1` - Suspended\n* `2` - Closed\n* `3` - Inactive"},"selections":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.SelectionViewModelV2"},"description":"Market selections","nullable":true},"type":{"type":"integer","description":"Market type Id","format":"int64"},"isBestLine":{"type":"boolean","description":"Is the main market?"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Parameters of market. i.e. hcp = 2.5, total=1.5","nullable":true},"extraParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional market information (like score = 1:0)","nullable":true},"isBetBuilderSupported":{"type":"boolean","description":"Indicates whether this selection can be used in Bet Builder"}},"additionalProperties":false,"description":"Represents market data"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.SelectionViewModelV2":{"type":"object","properties":{"id":{"type":"integer","description":"Selection Id","format":"int64"},"name":{"type":"string","description":"Selection name","nullable":true},"probability":{"type":"number","description":"Selection probability","format":"float","nullable":true},"price":{"type":"number","description":"Selection odds","format":"float","nullable":true},"originalPrice":{"type":"number","description":"Selection odds","format":"float","nullable":true},"status":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.TradingStatus"}],"description":"Trading selection status\n\n* `0` - Open\n* `1` - Suspended\n* `2` - Closed\n* `3` - Inactive"},"settlement":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.SettlementResult"}],"description":"Settlement result of the selection\n\n* `0` - None\n* `1` - Refund\n* `2` - Lose\n* `3` - Win\n* `4` - HalfLose\n* `5` - HalfWin"},"deadHeatFactor":{"type":"number","description":"Dead heat factor is a floating point number used when there is a tie in outrights","format":"double","nullable":true},"extraParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional selection information","nullable":true},"isBetBuilderSupported":{"type":"boolean","description":"Indicates whether this selection can be used in Bet Builder"},"competitorId":{"type":"integer","description":"Id of the competitor","format":"int64"}},"additionalProperties":false,"description":"Represents market selection information"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.SettlementResult":{"enum":[0,1,2,3,4,5],"type":"integer","description":"Status of a selection settlement\n\n* `0` - None\n* `1` - Refund\n* `2` - Lose\n* `3` - Win\n* `4` - HalfLose\n* `5` - HalfWin","format":"int32"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.ScoreboardViewModel":{"type":"object","properties":{"time":{"type":"integer","description":"Current time of event (in seconds)","format":"int32"},"results":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.ResultViewModel"},"description":"Current event results per competitor (in seconds)","nullable":true},"periods":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.PeriodViewModel"},"description":"Current event periods with results and incidents","nullable":true},"incidents":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.IncidentCountViewModel"},"description":"Current event incident summary","nullable":true},"currentPeriodId":{"type":"integer","description":"Internal id of current period","format":"int32"},"lastUpdateTime":{"type":"string","description":"Last update time of the scoreboard","format":"date-time"},"homeGameScore":{"type":"string","description":"Current home team game score","nullable":true},"awayGameScore":{"type":"string","description":"Current away team game score","nullable":true},"extraData":{"type":"object","additionalProperties":{"type":"string"},"description":"Extra parameters of the score","nullable":true}},"additionalProperties":false,"description":"Represents event's scoreboard"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.ResultViewModel":{"type":"object","properties":{"competitorPosition":{"type":"integer","description":"Competitor position (e.g. 1 - Home, 2 - Away)","format":"int32"},"value":{"type":"string","description":"Result value","nullable":true}},"additionalProperties":false,"description":"Represents scoreboard result"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.PeriodViewModel":{"type":"object","properties":{"id":{"type":"integer","description":"Period Id","format":"int32"},"isFinished":{"type":"boolean","description":"Is period finished?"},"incidents":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.IncidentViewModel"},"description":"Incidents occurred in the period","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.ResultViewModel"},"description":"Results of the period","nullable":true},"order":{"type":"integer","description":"The position of this period in a sorted sequence.","format":"int32"}},"additionalProperties":false,"description":"Represents period of the event"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.IncidentViewModel":{"type":"object","properties":{"type":{"type":"integer","description":"Incident type","format":"int32"},"time":{"type":"integer","description":"Event time","format":"int32"},"competitorPosition":{"type":"integer","description":"Index of the competitor in the EventInfo.Competitors array","format":"int32"}},"additionalProperties":false,"description":"Represents incident information"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Scoreboard.IncidentCountViewModel":{"type":"object","properties":{"type":{"type":"integer","description":"Incident type","format":"int32"},"competitorPosition":{"type":"integer","description":"Competitor position (e.g. 1 - Home, 2 - Away)","format":"int32"},"count":{"type":"integer","description":"Incident count","format":"int32"}},"additionalProperties":false,"description":"Incident count by type and competitor"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.BetCancellationViewModel":{"type":"object","properties":{"marketId":{"type":"integer","description":"Affected MarketId","format":"int64"},"from":{"type":"string","description":"Cancel bets placed starting From this date. Equals DateTime.MinValue if no lower bound provided","format":"date-time"},"to":{"type":"string","description":"Cancel bets placed starting To this date. Equals DateTime.MaxValue if no upper bound provided","format":"date-time"},"isRolledBack":{"type":"boolean","description":"Flag pointing whether this cancellation should be rolled back"}},"additionalProperties":false,"description":"Information about bet cancellations on certain market between From and To dates"}}}}
```

## The TradeArt.TradeArtApi.Contracts.DeltaMessage.Delta.MarketsChangedDeltaViewModelV2 object

```json
{"openapi":"3.0.4","info":{"title":"[T1159-STAGE] Odds88 API","version":"v1"},"components":{"schemas":{"TradeArt.TradeArtApi.Contracts.DeltaMessage.Delta.MarketsChangedDeltaViewModelV2":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.DeltaType"}],"description":"Type of delta\n\n* `0` - None\n* `1` - EventStatusChanged\n* `2` - EventChanged\n* `3` - MarketChanged\n* `4` - ScoreboardChanged\n* `5` - BetCancel\n* `6` - EventSnapshot\n* `7` - MarketsChanged"},"eventId":{"type":"integer","description":"Id of changed event","format":"int64"},"version":{"type":"integer","description":"Version of feed state","format":"int64"},"correlationId":{"type":"string","description":"Correlation id of the message to trace back.","nullable":true},"creationTime":{"type":"string","description":"Captures the timestamp the dto was created.","format":"date-time"},"sportId":{"type":"integer","description":"Id of the Sport","format":"int64"},"locationId":{"type":"integer","description":"Id of the Location","format":"int64"},"leagueId":{"type":"integer","description":"Id of the League","format":"int64"},"updateSequence":{"type":"integer","description":"Event delta sequence.\nIncremented with each sent delta.","format":"int64"},"lastUpdatedTime":{"type":"integer","description":"Event update time.\nIncremented with each valuable update.","format":"int64"},"markets":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.MarketViewModelV2"},"description":"Updated markets","nullable":true}},"additionalProperties":false,"description":"New markets added or odds changed"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.DeltaType":{"enum":[0,1,2,3,4,5,6,7],"type":"integer","description":"Known types of deltas\n\n* `0` - None\n* `1` - EventStatusChanged\n* `2` - EventChanged\n* `3` - MarketChanged\n* `4` - ScoreboardChanged\n* `5` - BetCancel\n* `6` - EventSnapshot\n* `7` - MarketsChanged","format":"int32"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.MarketViewModelV2":{"type":"object","properties":{"id":{"type":"integer","description":"Market Id","format":"int64"},"name":{"type":"string","description":"Market name","nullable":true},"tradingStatus":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.TradingStatus"}],"description":"Market trading status\n\n* `0` - Open\n* `1` - Suspended\n* `2` - Closed\n* `3` - Inactive"},"selections":{"type":"array","items":{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.SelectionViewModelV2"},"description":"Market selections","nullable":true},"type":{"type":"integer","description":"Market type Id","format":"int64"},"isBestLine":{"type":"boolean","description":"Is the main market?"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Parameters of market. i.e. hcp = 2.5, total=1.5","nullable":true},"extraParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional market information (like score = 1:0)","nullable":true},"isBetBuilderSupported":{"type":"boolean","description":"Indicates whether this selection can be used in Bet Builder"}},"additionalProperties":false,"description":"Represents market data"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.TradingStatus":{"enum":[0,1,2,3],"type":"integer","description":"Status of trading\n\n* `0` - Open\n* `1` - Suspended\n* `2` - Closed\n* `3` - Inactive","format":"int32"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.SelectionViewModelV2":{"type":"object","properties":{"id":{"type":"integer","description":"Selection Id","format":"int64"},"name":{"type":"string","description":"Selection name","nullable":true},"probability":{"type":"number","description":"Selection probability","format":"float","nullable":true},"price":{"type":"number","description":"Selection odds","format":"float","nullable":true},"originalPrice":{"type":"number","description":"Selection odds","format":"float","nullable":true},"status":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.TradingStatus"}],"description":"Trading selection status\n\n* `0` - Open\n* `1` - Suspended\n* `2` - Closed\n* `3` - Inactive"},"settlement":{"allOf":[{"$ref":"#/components/schemas/TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.SettlementResult"}],"description":"Settlement result of the selection\n\n* `0` - None\n* `1` - Refund\n* `2` - Lose\n* `3` - Win\n* `4` - HalfLose\n* `5` - HalfWin"},"deadHeatFactor":{"type":"number","description":"Dead heat factor is a floating point number used when there is a tie in outrights","format":"double","nullable":true},"extraParameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional selection information","nullable":true},"isBetBuilderSupported":{"type":"boolean","description":"Indicates whether this selection can be used in Bet Builder"},"competitorId":{"type":"integer","description":"Id of the competitor","format":"int64"}},"additionalProperties":false,"description":"Represents market selection information"},"TradeArt.TradeArtApi.Contracts.DeltaMessage.Enums.SettlementResult":{"enum":[0,1,2,3,4,5],"type":"integer","description":"Status of a selection settlement\n\n* `0` - None\n* `1` - Refund\n* `2` - Lose\n* `3` - Win\n* `4` - HalfLose\n* `5` - HalfWin","format":"int32"}}}}
```


---

# 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.odds88.io/odds88-client-api/odds88-feeds/delta-feed/delta-feed-messages.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.
