> 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/transaction30api/api-description/ticket-json-format-description/cash-out-description-and-flow/cash-out-response.md).

# Cash-out Responses

<table><thead><tr><th width="114.609375" align="center">Destination</th><th width="54.75262451171875" align="center"></th><th width="115.19964599609375" align="center">Source</th></tr></thead><tbody><tr><td align="center"><strong>Client</strong></td><td align="center"><strong>←</strong></td><td align="center"><strong>MTS</strong></td></tr></tbody></table>

### **Cash-out response types**

* [Cash-out Inform Reply](#mtscashoutresponse-v3.0-1.contentobject-cashout-inform-reply) (operation "cashout-inform", content type "cashout-inform-reply") is the response to the Cash-out Inform request.
* [Cash-out Build Reply ](#mtscashoutresponse-v3.0-2.contentobject-cashout-build-reply)(operation "cashout-build", content type "cashout-build-reply") is the response to the Cash-out Build request.
* [Cash-out Placement Reply ](#id-3.-cashout-placement-reply-content-object)(operation "cashout-placement", content type "cashout-placement-reply") is the response to the Cash-out Placement request.
* [Auto Cash-out Reply](#id-4.-auto-cashout-reply-auto-cashout-cancel-reply-content-objects) (operation "auto-cashout", content type "auto-cashout-reply") is the response to the Auto Cash-out request.
* [Auto Cash-out Cancel Reply](#id-4.-auto-cashout-reply-auto-cashout-cancel-reply-content-objects) (operation "auto-cashout-cancel", content type "auto-cashout-cancel-reply") is the response to the Auto Cash-out Cancel request.
* [Cash-out Build Subscription Reply](#id-5.-cashout-build-subscription-reply-content-object) (operation "cashout-build-subscription", content type "cashout-build-subscription-reply") is the response to the Cash-out Build Subscription request.

{% hint style="danger" %}
The "ticket-cashout" operation and "cashout-reply" content type will be deprecated, but are currently still used to maintain compatibility. They will be returned if the "ticket-cashout" operation and "cashout" content type were sent as a request.
{% endhint %}

For an overview of requests and responses, please see [Cash-out Requests](/transaction30api/api-description/ticket-json-format-description/cash-out-description-and-flow/cash-out-requests.md).

***

**Envelope and Content table:**

The envelope provides the content's (Cash-out response) context and contains the following fields (besides Content):

* correlationId
* timestampUtc
* operation
* version

<table data-full-width="true"><thead><tr><th width="345.70916748046875">Example</th><th width="156.30816650390625">Field Name</th><th>Field Description</th><th width="100">Mandatory/ Optional</th><th width="100">Data Type</th></tr></thead><tbody><tr><td><pre><code>{
</code></pre></td><td><br></td><td><br></td><td><br></td><td><br></td></tr><tr><td><pre><code>  "content": {
       ........
   },
</code></pre></td><td>content</td><td>See Content object description below</td><td>M</td><td>Object</td></tr><tr><td><pre><code>  "correlationId": "ds7w32ndsJg2",
</code></pre></td><td>correlationId</td><td>Client defined string to facilitate the request-response pairing,<br>Sportradar is obliged to return the same string in every response</td><td>M</td><td>String</td></tr><tr><td><pre><code>  "timestampUtc": 1678273430000,
</code></pre></td><td>timestampUtc</td><td>Timestamp of ticket placement as submitted by the client (Unix time in milliseconds format),<br>minimal: 1,<br>maximum: 9223372036854776000</td><td>M</td><td>Integer</td></tr><tr><td><pre><code>  "operation": "cashout-inform",
</code></pre></td><td>operation</td><td>Declaration of ticket content type, should be "cashout-inform" in case of Cash-out Inform Reply or<br>"cashout-build" or<br>"cashout-placement" or<br>"auto-cashout" or<br>"auto-cashout-cancel" or<br>"cashout-build-subscription"</td><td>M</td><td>String</td></tr><tr><td><pre><code>  "version": "3.0"
}
</code></pre></td><td>version</td><td>Indicates the ticket format version</td><td>M</td><td>String</td></tr></tbody></table>

Please note that in the case of major ticket errors or internal system errors, the content object has a different structure and contains "type": "error-reply". For description, see [Error-reply Response](/transaction30api/api-description/ticket-json-format-description/error-reply-response.md).

### 1. cashout-inform-reply Content object <a href="#mtscashoutresponse-v3.0-1.contentobject-cashout-inform-reply" id="mtscashoutresponse-v3.0-1.contentobject-cashout-inform-reply"></a>

The Content object includes the following fields:

* type
* cashoutId
* signature
* status
* ticketId
* code
* message

**Content object table:**

<table data-full-width="true"><thead><tr><th width="360.96356201171875">Example</th><th width="119.10760498046875">Field Name</th><th>Field Description</th><th width="100">Mansatory /Optional</th><th width="100">Data Type</th></tr></thead><tbody><tr><td><pre><code>"content": {
</code></pre></td><td><br></td><td><br></td><td><br></td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>    "type": "cashout-inform-reply",
</code></pre></td><td>type</td><td><p>Declaration of content type, should be "cashout-inform-reply"</p><p>or "error-reply" in the case of major ticket errors or internal system errors (see also <a href="/pages/GY3OQHnyZI8vYXBbPRN4">Error-reply Response</a>).</p></td><td>M</td><td>String</td></tr><tr><td><pre><code>    "cashoutId": "COUT92328", 
</code></pre></td><td>cashoutId</td><td>ID from the corresponding request, minimal string length = 1,<br>maximum string length = 128</td><td>O</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>    "signature": "m0iiRiJ9f4oNhyqP7fdGcgdCyDjSII4HR9M7xDn6l+8=",
</code></pre></td><td>signature</td><td>String calculated and sent by MTS to be used as a proof that the response has actually been provided by MTS,<br>minimal string length = 1,<br>maximum string length = 128</td><td>M</td><td>String</td></tr><tr><td><pre><code>    "status": "rejected",
</code></pre></td><td>status</td><td><p>Request outcome, enumerator:</p><ul><li>accepted</li><li>rejected</li></ul></td><td>M</td><td><br>String</td></tr><tr><td><pre><code>    "ticketId": "Ticket_3690",
</code></pre></td><td>ticketId</td><td>ID of the initial ticket (defined by client) which is to be affected with this cash-out</td><td>M</td><td>String</td></tr><tr><td><pre><code>    "code": -204,    
</code></pre></td><td>code</td><td>Cash-out response code,<br>see list of codes below</td><td>M</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>    "message": "Cash-out amount is too high"
},
</code></pre></td><td>message</td><td>Readable ticket response validation code, minimal string length = 1,<br>maximum string length = 128</td><td>O</td><td>String</td></tr></tbody></table>

### 2. cashout-build-reply Content object <a href="#mtscashoutresponse-v3.0-2.contentobject-cashout-build-reply" id="mtscashoutresponse-v3.0-2.contentobject-cashout-build-reply"></a>

The Content object includes the following fields:

* type
* cashoutId
* signature
* status
* ticketId
* code
* message
* ltd
* cashout
* endCustomerSuggestions
* channelSuggestions
* betDetails
* exchangeRate
* cashoutChanges

**Content object table:**

<table data-full-width="true"><thead><tr><th width="332.97222900390625">Example</th><th width="143.17877197265625">Field Name</th><th>Field Description</th><th width="100">Mandatory /Optional</th><th width="100">Data Type</th></tr></thead><tbody><tr><td><pre><code>"content": {
</code></pre></td><td><br></td><td><br></td><td><br></td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>    "type": "cashout-build-reply",
</code></pre></td><td>type</td><td><p>Declaration of content type, should be "cashout-build-reply"</p><p>or "error-reply" in the case of major ticket errors or internal system errors (see also <a href="/pages/GY3OQHnyZI8vYXBbPRN4">Error-reply Response</a>).</p></td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>    "cashoutId": "COUT92328", 
</code></pre></td><td>cashoutId</td><td>ID from the corresponding request, minimal string length = 1,<br>maximum string length = 128</td><td>O</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>    "signature": "m0iiRiJ9f4oNhyq
</code></pre><pre data-overflow="wrap"><code>P7fdGcgdCyDjSII4HR9M7xDn6l+8=",
</code></pre></td><td>signature</td><td>String calculated and sent by MTS to be used as a proof that the response has actually been provided by MTS,<br>minimal string length = 1,<br>maximum string length = 128</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>    "status": "rejected",
</code></pre></td><td>status</td><td><p>Request outcome, enumerator:</p><ul><li>accepted</li><li>rejected</li></ul></td><td>O</td><td><br></td></tr><tr><td><pre data-overflow="wrap"><code>    "ticketId": "Ticket_3690",
</code></pre></td><td>ticketId</td><td>ID of the initial ticket (defined by client) which is to be affected with this cash-out</td><td>M</td><td>String</td></tr><tr><td><pre><code>    "code": -204,    
</code></pre></td><td>code</td><td>Cash-out response code,<br>see list of codes below</td><td>M</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>    "message": "Cash-out amount is too high"
</code></pre></td><td>message</td><td>Readable ticket response validation code, minimal string length = 1,<br>maximum string length = 128</td><td>O</td><td>String</td></tr><tr><td><pre><code>    "ltd": {
</code></pre></td><td>ltd</td><td>Live time delay suggestion</td><td>O</td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>       "modelSuggestedLtd": "Delay",
</code></pre></td><td><ul><li>modelSuggestedLtd</li></ul></td><td><p>Action suggested by the AI LTD model, enum:</p><ul><li>Delay (currently the only option implemented)</li><li>Skip</li><li>None</li></ul></td><td><br>O</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "configuredLtd": 3,
</code></pre></td><td><ul><li>configuredLtd</li></ul></td><td>Configured LTD calculated from event coverage or explicit LTD setting, all data is configured in the MTS Console,<br>min: 0, max: 15</td><td>O</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>        "suggestedLtd": 5,
</code></pre></td><td><ul><li>suggestedLtd</li></ul></td><td>Suggested LTD calculated from event data latency AI model,<br>min: 0, max: 15</td><td>O</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>        "accountLbsLtdOffset": 6,
</code></pre></td><td><ul><li>accountLbsLtdOffset</li></ul></td><td>LTD offset derived from account (punter) Late Bet Score,<br>min: 0, max: 15<br></td><td>O</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>        "liveSelectionLtdOffset": -2,
</code></pre></td><td><ul><li>liveSelectionLtdOffset</li></ul></td><td><p>LTD offset derived from the number of live selections, configured in MTS Console (default: -2 seconds in the case of 3 or more live selections),</p><p>must be less than zero or zero</p></td><td>O</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>        "appliedLtd": 5
        },
</code></pre></td><td><ul><li>appliedLtd</li></ul></td><td>MTS recommended LTD, calculated from: max of configured and suggested + account offset + live selection offset,<br>min: 0, max: 15<br></td><td>O</td><td>Integer</td></tr><tr><td><pre><code>    "cashout": {
</code></pre></td><td>cashout</td><td>Cashout suggestions</td><td>O</td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>        "cashoutType": "ticket",
</code></pre></td><td><ul><li>cashoutType</li></ul></td><td><p>Enum:</p><ul><li>ticket</li><li>bet</li></ul></td><td>O</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "cashoutId": "COUT92328",
</code></pre></td><td><ul><li>cashoutId</li></ul></td><td>Unique cash-out ID from the client's system,<br>min length 1, max length 128</td><td>O</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "maxPayout": [ 
            .....      ],
</code></pre></td><td><ul><li>maxPayout</li></ul></td><td><p>Current maximum potential ticket win (cashout cannot be greater that this),</p><p>Array of <a href="#payout-with-source-object">Payout With Source objects</a>,<br>min. number =1, max. number = 5</p></td><td>O</td><td>Array</td></tr><tr><td><pre data-overflow="wrap"><code>        "fairCashout": [ 
            .....        ],
</code></pre></td><td><ul><li>fairCashout</li></ul></td><td>Fair cashout calculation:<br>Fair Cashout Value = Σ [Combination Stake × Combination Odds × Combination Probability].<br>Array of <a href="#payout-with-source-object">Payout With Source objects</a>,<br>min. number =1, max. number = 5</td><td>O</td><td>Array</td></tr><tr><td><pre><code>        "cashout": [ 
            .....    ]
        },    
</code></pre></td><td><ul><li>cashout</li></ul></td><td>Calculation: Fair Cashout is used as the foundation and adjusted using additional margin factors and compensation factors (configurable in the Insight Tech UI).<br>Array of <a href="#payout-with-source-object">Payout With Source objects</a>,<br>min. number =1, max. number = 5</td><td>O</td><td>Array</td></tr><tr><td><pre data-overflow="wrap"><code>    "endCustomerSuggestions": {
</code></pre></td><td>endCustomerSuggestions</td><td></td><td>O</td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>        "endCustomer": {
</code></pre></td><td><ul><li>endCustomer</li></ul></td><td>Data about client's end-customer (bettor)</td><td>M</td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>            "id": "endCustomer_u37s256",
</code></pre></td><td><ul><li><p></p><ul><li>id</li></ul></li></ul></td><td>End customer's unique ID (in client's system). The same as included in the original ticket.</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>            "confidence": "1.15"
            },
</code></pre></td><td><ul><li><p></p><ul><li>confidence</li></ul></li></ul></td><td>End customer's suggested CCF,<br>Java regex: ^\d{1,8}(.\d{1,8})?$</td><td>O</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "appliedConfidence": "0.98",
</code></pre></td><td><ul><li>appliedConfidence</li></ul></td><td>Calculated end-customer (punter) CCF</td><td>O</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "suggestedConfidence": "0.99",
</code></pre></td><td><ul><li>suggestedConfidence</li></ul></td><td>AI model suggested end-customer (punter) CCF</td><td>O</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "suggestedLateBetScore": "0.2",
</code></pre></td><td><ul><li>suggestedLateBetScore</li></ul></td><td>AI model suggested end-customer (punter) LBS</td><td>O</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "suggestedMarkerScore": "0.01",
</code></pre></td><td><ul><li>suggestedMarkerScore</li></ul></td><td>AI model suggested end-customer (punter) Marker Score</td><td>O</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "suggestedBotScore": "0.01"
       },
</code></pre></td><td><ul><li>suggestedBotScore</li></ul></td><td>AI model suggested end-customer (punter) Bot Score</td><td>O</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>   "betDetails":   [ {
</code></pre></td><td>betDetails</td><td></td><td>O</td><td>Array</td></tr><tr><td><pre><code>       "betId": "bjda6GH",
</code></pre></td><td><ul><li>betId</li></ul></td><td>Unique bet id (in the client's system),<br>minimal string length = 1,<br>maximum length = 128</td><td>O</td><td>String</td></tr><tr><td><pre><code>        "selectionDetails": {
           ........
            },
</code></pre></td><td><ul><li>selectionDetails</li></ul></td><td>For object description, see <a href="#build-reply-selection-detail-object">Build Reply Selection Detail object</a></td><td>M</td><td>Object</td></tr><tr><td><pre><code>        "payout": [ {
           .......
            } ],
</code></pre></td><td><ul><li>payout</li></ul></td><td>Sum of previous payouts on the bet,<br>min no. of array items = 1, max no. = 5<br>For object description, see <a href="#payout-with-source-object">Payout With Source object</a></td><td>O</td><td>Array</td></tr><tr><td><pre data-overflow="wrap"><code>        "settledPercentage": "0.2"
      } ],
</code></pre></td><td><ul><li>settledPercentage</li></ul></td><td>Percentage of currently settled stake,<br>Java regex: ^0(.\d{1,8})?$</td><td>O</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>   "exchangeRate": [ 
      ........
      ],
</code></pre></td><td>exchangeRate</td><td>See exchangeRate description on the <a href="/pages/q4AQLqMBWsc0J7Yyqwg9">Ticket Placement Response</a></td><td>O</td><td>Array</td></tr><tr><td><pre><code>   "cashoutChanges": {
</code></pre></td><td>cashoutChanges</td><td>Reflects accepted changes when the actual cashout differs from what was requested.</td><td>O</td><td>Object</td></tr><tr><td><pre><code>        "payout": [
           ........
           ]
      }
},
</code></pre></td><td><ul><li>payout</li></ul></td><td><br>See the payout object description in the Details ("type": "ticket") table,<br>min. number =1, max. number = 5</td><td>O</td><td>Array</td></tr></tbody></table>

### Payout With Source object

The Payout With Source object contains the following fields:

* type
* amount
* currency
* source
* traceId
* stakeOrigin

**Payout With Source object table :**

<table data-full-width="true"><thead><tr><th width="292.15277099609375">Example</th><th width="104.359375">Field Name</th><th>Field Description</th><th width="100">Mandatory /Optional</th><th width="100">Data Type</th></tr></thead><tbody><tr><td>{</td><td><br></td><td></td><td><br></td><td><br></td></tr><tr><td><pre><code>   "type": "cash",
</code></pre></td><td>type</td><td><p>Enum:</p><ul><li>cash</li><li>withheld</li></ul></td><td>M</td><td>String</td></tr><tr><td><pre><code>   "amount": "85.5",
</code></pre></td><td>amount</td><td>String pattern: 1 up to 8 digits, optionally followed by a decimal point and 1 up to 8 digits,<br>Java regex: ^\\d{1,8}(\\.\\d{1,8})?$</td><td>M</td><td>String</td></tr><tr><td><pre><code>   "currency": "EUR",
</code></pre></td><td>currency</td><td>3 or 4 letter currency code, BTC and mBTC are also supported (4 letters only apply to mBTC).<br>For more details please check<br><a href="https://www.iso.org/iso-4217-currency-codes.html">https://www.iso.org/iso-4217-currency-codes.html</a></td><td>M</td><td>String</td></tr><tr><td><pre><code>   "source": "cashout",
</code></pre></td><td>source</td><td><p>Enum:</p><ul><li>cash</li><li>bonus</li><li>odds-boost</li><li>cancel</li><li>cashout</li><li>ext-settlement</li><li>manual-cancel</li><li>manual-cashout</li></ul></td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>   "traceId": "Source_8327",
</code></pre></td><td>traceId</td><td><p>A string to help identify the source of operation/action/state</p><p>Minimal string length = 1,<br>maximum length = 128</p></td><td>O</td><td>String</td></tr><tr><td><pre><code>  "stakeOrigin": "cash"
},  
</code></pre></td><td>stakeOrigin</td><td><p>Enum:</p><ul><li>cash</li><li>bonus</li><li>free</li><li>free-cash</li><li>free-rollover</li></ul></td><td>O</td><td>String</td></tr></tbody></table>

### Build Reply Selection Detail object

The Build Reply Selection Detail object contains the following fields:

* selection
* appliedEventRating
* suggestedEventRating
* configuredLtd
* suggestedLtd
* appliedMarketFactor
* currentProbability
* currentResult

**Build Reply Selection Detail object table :**

<table data-full-width="true"><thead><tr><th width="311.22137451171875">Example</th><th width="200.6397705078125">Field Name</th><th>Field Description</th><th width="100">Mandatory /Optional</th><th width="100">Data Type</th></tr></thead><tbody><tr><td><pre><code>{
</code></pre></td><td><br></td><td></td><td><br></td><td><br></td></tr><tr><td><pre><code>    "selection": {
         "type:   .....,
                 .....
                  },
</code></pre></td><td>selection</td><td>A selection that was included in the Ticket Placement Request is returned here, however included can be only selections of "type":"uf" or "type":"external" or "type":"uf-custom-bet"</td><td>M</td><td>Object</td></tr><tr><td><pre><code>    "appliedEventRating": 3,
</code></pre></td><td>appliedEventRating</td><td>Applied event rating for the selection</td><td>O</td><td>Integer</td></tr><tr><td><pre><code>   "suggestedEventRating": 5,
</code></pre></td><td>suggestedEventRating</td><td>Suggested event rating for the selection</td><td>O</td><td>Integer</td></tr><tr><td><pre><code>   "configuredLtd": 2,
</code></pre></td><td>configuredLtd</td><td>Configured LTD calculated from event coverage or explicit LTD setting,<br>min. = 0, max. = 15</td><td>O</td><td>Integer</td></tr><tr><td><pre><code>   "suggestedLtd": 1,
</code></pre></td><td>suggestedLtd</td><td>Suggested LTD calculated from event data latency mode,<br>min. = 0, max. = 15</td><td>O</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>   "appliedMarketFactor": "0.2",
</code></pre></td><td>appliedMarketFactor</td><td>Applied market factor for the selection,<br>Java regex:<br>^0(\\.\\d{1,8})?|1(\\.0{1,8})?$</td><td>O</td><td>String</td></tr><tr><td><pre><code>    "currentProbability": {
</code></pre></td><td>currentProbability</td><td>Current probabilities for the selection</td><td>O</td><td>Object</td></tr><tr><td><pre><code>        "type": "push"
</code></pre></td><td><ul><li>type</li></ul></td><td><p>Enum:</p><ul><li>win</li><li>push</li></ul></td><td>M</td><td>String</td></tr><tr><td><pre><code>        "win": "0.1",
</code></pre></td><td><ul><li>win</li></ul></td><td>Java regex:<br>^0(\\.\\d{1,8})?|1(\\.0{1,8})?$</td><td>M</td><td>String</td></tr><tr><td><pre><code>        "halfWin": "0.4",
</code></pre></td><td><ul><li>halfWin</li></ul></td><td>Not present if "type": "win",<br>Java regex:<br>^0(\\.\\d{1,8})?|1(\\.0{1,8})?$</td><td>M<br>Only if "type": "push"</td><td>String</td></tr><tr><td><pre><code>        "refund": "0.3",
</code></pre></td><td><ul><li>halfWin</li></ul></td><td>Not present if "type": "win",<br>Java regex:<br>^0(\\.\\d{1,8})?|1(\\.0{1,8})?$</td><td>M<br>Only if "type": "push"</td><td>String</td></tr><tr><td><pre><code>        "halfLose": "0.5"
        },
</code></pre></td><td><ul><li>halfLose</li></ul></td><td>Not present if "type": "win",<br>Java regex:<br>^0(\\.\\d{1,8})?|1(\\.0{1,8})?$</td><td>M<br>Only if "type": "push"</td><td>String</td></tr><tr><td><pre><code>     "currentResult": {
</code></pre></td><td>currentResult</td><td>Current result for the selection</td><td>O</td><td>Object</td></tr><tr><td><pre><code>        "type": "win",
</code></pre></td><td><ul><li>type</li></ul></td><td><p>Enum:<br></p><ul><li>unsettled</li><li>win</li><li>lost</li><li>void</li><li>cashout</li><li>cancel</li></ul></td><td>M</td><td>String</td></tr><tr><td><pre><code>        "voidFactor": "0.5",
</code></pre></td><td><ul><li>voidFactor</li></ul></td><td>Only present if "type": "win" or "type": "lost",<br>Void factor for the selection result,<br>Java regex:<br>^0(\\.\\d{1,8})?|1(\\.0{1,8})?$</td><td>O</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "deadHeatFactor": "0.9"
        }
},
</code></pre></td><td><ul><li>deadHeatFactor</li></ul></td><td>Only present if "type": "win",<br>Dead-heat factor for the selection result,<br>Java regex:<br>^0(\\.\\d{1,8})?|1(\\.0{1,8})?$</td><td>O</td><td>String</td></tr></tbody></table>

### 3. cashout-placement-reply Content object

The Content object includes the following fields:

* type
* cashoutId
* signature
* status
* ticketId
* code
* message
* cashoutChanges

**Content object table:**

<table data-full-width="true"><thead><tr><th width="361.18231201171875">Example</th><th width="106.021728515625">Field Name</th><th>Field Description</th><th width="100">Mandatory /Optional</th><th width="100">Data Type</th></tr></thead><tbody><tr><td><pre><code>"content": {
</code></pre></td><td><br></td><td></td><td><br></td><td><br></td></tr><tr><td><pre data-overflow="wrap"><code>    "type": "cashout-placement-reply",
</code></pre></td><td>type</td><td><p>SDeclaration of content type, should be "cashout-placement-reply"</p><p>or "error-reply" in the case of major ticket errors or internal system errors (see also <a href="/pages/GY3OQHnyZI8vYXBbPRN4">Error-reply Response</a>)</p></td><td>M</td><td>String</td></tr><tr><td><pre><code>    "cashoutId": "COUT92328",
</code></pre></td><td>cashoutId</td><td>ID from the corresponding request, minimal string length = 1,<br>maximum string length = 128</td><td>O</td><td>String</td></tr><tr><td><pre><code>    "signature": "m0iiRiJ9f4oNhyq
P7fdGcgdCyDjSII4HR9M7xDn6l+8=",
</code></pre></td><td>signature</td><td>String calculated and sent by MTS to be used as a proof that the response has actually been provided by MTS,<br>minimal string length = 1,<br>maximum string length = 128</td><td>M</td><td>String</td></tr><tr><td><pre><code>    "status": "rejected",
</code></pre></td><td>status</td><td><p>Request outcome, enum:</p><ul><li>accepted</li><li>rejected</li></ul></td><td>M</td><td>String</td></tr><tr><td><pre><code>    "ticketId": "Ticket_3690",
</code></pre></td><td>ticketId</td><td>ID of the initial ticket (defined by client) which is to be affected with this cash-out</td><td>M</td><td>String</td></tr><tr><td><pre><code>    "code": -204,    
</code></pre></td><td>code</td><td>Cash-out response code,<br>see list of codes below</td><td>M</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>    "message": "Cash-out amount is too high",
</code></pre></td><td>message</td><td>Readable ticket response validation code, minimal string length = 1,<br>maximum string length = 128</td><td>O</td><td>String</td></tr><tr><td><pre><code>    "cashoutChanges": { 
</code></pre></td><td>cashoutChanges</td><td>Reflects accepted changes when the actual cashout differs from what was requested.</td><td>O</td><td>Object</td></tr><tr><td><pre><code>        "payout": [ 
          ........
         ]
    }
},   
</code></pre></td><td><ul><li>payout</li></ul></td><td>See the payout array description in the Details ("type": "ticket") table;<br>min. number =1, max. number = 5</td><td>O</td><td>Array</td></tr></tbody></table>

### 4. auto-cashout-reply, auto-cashout-cancel-reply Content objects

The Content object includes the following fields:

* type
* autoCashoutId (or cancellationId in the case of auto-cashout-cancel-reply)
* signature
* status
* ticketId
* code
* message

**Content object table:**

<table data-full-width="true"><thead><tr><th width="344.3712158203125">Example</th><th width="129.6865234375">Field Name</th><th>Field Description</th><th width="100">Mandatory /Optional</th><th width="100">Data Type</th></tr></thead><tbody><tr><td><pre><code>"content": {
</code></pre></td><td><br></td><td></td><td><br></td><td><br></td></tr><tr><td><pre data-overflow="wrap"><code>    "type": "auto-cashout-reply",
</code></pre></td><td>type</td><td><p>Declaration of content type, should be "auto-cashout-reply" or "auto-cashout-cancel-reply"</p><p>or "error-reply" in the case of major ticket errors or internal system errors (see also <a href="/pages/GY3OQHnyZI8vYXBbPRN4">Error-reply Response</a>)</p></td><td>M</td><td>String</td></tr><tr><td><pre><code>    "autoCashoutId": "COUT92328",
</code></pre></td><td>autoCashoutId (or cancellationId in case of "auto-cashout-cancel-reply))</td><td>ID from the corresponding request, minimal string length = 1,<br>maximum string length = 128</td><td>O</td><td>String</td></tr><tr><td><pre><code>    "signature": "m0iiRiJ9f4oNhyq
P7fdGcgdCyDjSII4HR9M7xDn6l+8=",
</code></pre></td><td>signature</td><td>String calculated and sent by MTS to be used as a proof that the response has actually been provided by MTS,<br>minimal string length = 1,<br>maximum string length = 128</td><td>M</td><td>String</td></tr><tr><td><pre><code>    "status": "rejected",
</code></pre></td><td>status</td><td><p>Request outcome, enum:</p><ul><li>accepted</li><li>rejected</li></ul></td><td>M</td><td>String</td></tr><tr><td><pre><code>    "ticketId": "Ticket_3690",
</code></pre></td><td>ticketId</td><td>ID of the initial ticket (defined by client) which is to be affected with this cash-out</td><td>M</td><td>String</td></tr><tr><td><pre><code>    "code": -204,    
</code></pre></td><td>code</td><td>Cash-out response code,<br>see list of codes below</td><td>M</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>    "message": "Cash-out amount is too high"
},    
</code></pre></td><td>message</td><td>Readable ticket response validation code, minimal string length = 1,<br>maximum string length = 128</td><td>O</td><td>String</td></tr></tbody></table>

### 5. cashout-build-subscription-reply Content object <a href="#id-5.-cashout-build-subscription-reply-content-object" id="id-5.-cashout-build-subscription-reply-content-object"></a>

The Cash-out Build Subscription Reply responds to a Cash-out Build Subscription request. It includes the same fields as the standard Cash-out Build Reply. It also returns the current cash-out value for the subscribed ticket or bet. If that value changes, MTS sends subsequent suggestions over a separate Transaction Stream WebSocket connection. Each update uses the [cashout-build-reply](#mtscashoutresponse-v3.0-2.contentobject-cashout-build-reply) format. The subscription stays active for up to 5 minutes. To establish the Transaction Stream WebSocket connection, see [Connectivity](/transaction30api/api-description/connectivity.md).

The Content object includes the following fields:

* type
* cashoutId
* signature
* status
* ticketId
* code
* message
* ltd
* cashout
* endCustomerSuggestions
* channelSuggestions
* betDetails
* exchangeRate

**Content object table:**

<table data-full-width="true"><thead><tr><th width="332.97222900390625">Example</th><th width="143.17877197265625">Field Name</th><th>Field Description</th><th width="100">Mandatory /Optional</th><th width="100">Data Type</th></tr></thead><tbody><tr><td><pre><code>"content": {
</code></pre></td><td><br></td><td><br></td><td><br></td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>    "type": "cashout-build-subscription-reply",
</code></pre></td><td>type</td><td><p>Declaration of content type, should be "cashout-build-subscription-reply"</p><p>or "error-reply" in the case of major ticket errors or internal system errors (see also <a href="/pages/GY3OQHnyZI8vYXBbPRN4">Error-reply Response</a>).</p></td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>    "cashoutId": "COUT92328", 
</code></pre></td><td>cashoutId</td><td>ID from the corresponding request, minimal string length = 1,<br>maximum string length = 128</td><td>O</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>    "signature": "m0iiRiJ9f4oNhyq
</code></pre><pre data-overflow="wrap"><code>P7fdGcgdCyDjSII4HR9M7xDn6l+8=",
</code></pre></td><td>signature</td><td>String calculated and sent by MTS to be used as a proof that the response has actually been provided by MTS,<br>minimal string length = 1,<br>maximum string length = 128</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>    "status": "accepted",
</code></pre></td><td>status</td><td><p>Request outcome, enumerator:</p><ul><li>accepted</li><li>rejected</li></ul></td><td>O</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>    "ticketId": "Ticket_3690",
</code></pre></td><td>ticketId</td><td>ID of the initial ticket (defined by client) which is to be affected with this cash-out</td><td>M</td><td>String</td></tr><tr><td><pre><code>    "code": 0,    
</code></pre></td><td>code</td><td>Cash-out response code,<br>see list of codes below</td><td>M</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>    "message": "Transaction processed",
</code></pre></td><td>message</td><td>Readable ticket response validation code, minimal string length = 1,<br>maximum string length = 128</td><td>O</td><td>String</td></tr><tr><td><pre><code>    "ltd": {
         ......
        }, 
</code></pre></td><td>ltd</td><td>Live time delay suggestion, see <a href="#mtscashoutresponse-v3.0-2.contentobject-cashout-build-reply">cashout-build-reply</a> for details</td><td>O</td><td>Object</td></tr><tr><td><pre><code>    "cashout": {
         ......
        }, 
</code></pre></td><td>cashout</td><td>Cashout suggestions, see <a href="#mtscashoutresponse-v3.0-2.contentobject-cashout-build-reply">cashout-build-reply</a> for details</td><td>O</td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>    "endCustomerSuggestions": {
          .........
        },
</code></pre></td><td>endCustomerSuggestions</td><td>End customer suggestions, see <a href="#mtscashoutresponse-v3.0-2.contentobject-cashout-build-reply">cashout-build-reply</a> for details</td><td>O</td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>    "channelSuggestions": {
          .........
        },
</code></pre></td><td>channelSuggestions</td><td>Channel suggestions</td><td>O</td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>   "betDetails":   [ {
          .........
        } ],
</code></pre></td><td>betDetails</td><td>Bet details, see <a href="#mtscashoutresponse-v3.0-2.contentobject-cashout-build-reply">cashout-build-reply</a> for details</td><td>O</td><td>Array</td></tr><tr><td><pre data-overflow="wrap"><code>   "exchangeRate":  [ {
        ........
      } ]
},          
</code></pre></td><td>exchangeRate</td><td>See exchangeRate description on the <a href="/pages/q4AQLqMBWsc0J7Yyqwg9">Ticket Placement Response</a></td><td>O</td><td>Array</td></tr></tbody></table>

***

### Cash-out response codes <a href="#mtscashoutresponse-v3.0-cash-outresponsecodes" id="mtscashoutresponse-v3.0-cash-outresponsecodes"></a>

For general validation codes, please refer to [Validation codes](/transaction30api/api-description/validation-codes.md).

<table><thead><tr><th width="119.19970703125">Code</th><th>Description</th></tr></thead><tbody><tr><td><pre><code>0
</code></pre></td><td>Transaction processed</td></tr><tr><td><pre><code>-101
</code></pre></td><td>Client (bookmaker) not found</td></tr><tr><td><pre><code>-102
</code></pre></td><td>Cash-out disabled for particular client (bookmaker) or Limit ID</td></tr><tr><td><pre><code>-103
</code></pre></td><td>Ticket not found</td></tr><tr><td><pre><code>-104
</code></pre></td><td>Ticket rejected</td></tr><tr><td><pre><code>-201
</code></pre></td><td>Ticket version lower than 3.0</td></tr><tr><td><pre><code>-203
</code></pre></td><td>Requested cash-out is lower than the minimum allowed amount</td></tr><tr><td><pre><code>-204
</code></pre></td><td>Requested cash-out exceeds the maximum allowed amount</td></tr><tr><td><pre><code>-208
</code></pre></td><td>Bet ID not found</td></tr><tr><td><pre><code>-209
</code></pre></td><td>Ticket has been already manually settled</td></tr><tr><td><pre><code>-210
</code></pre></td><td>Cash-out factor is outside the allowed range of 0-100%</td></tr><tr><td><pre><code>-211
</code></pre></td><td>Cash-out factor is lower than existing (when the cash-out factor is lower than the previous one)</td></tr><tr><td><pre><code>-212
</code></pre></td><td>Conflicting previous cash-out (bet/ticket level)</td></tr><tr><td><pre><code>-213
</code></pre></td><td>Auto cash-out request contains threshold configuration that is currently not supported.</td></tr><tr><td><pre><code>-214
</code></pre></td><td>Auto cash-out request contains unsupported payout configuration.</td></tr><tr><td><pre><code>-215
</code></pre></td><td>Auto cash-out value exceeds the maximum allowed payout.</td></tr><tr><td><pre><code>-216
</code></pre></td><td>Auto cash-out request already fulfilled: current cash-out value meets or exceeds the requested threshold.</td></tr><tr><td><pre><code>-220
</code></pre></td><td>Requested cash-out amount differs from the current cash-out value.</td></tr><tr><td><pre><code>-221
</code></pre></td><td>Requested cash-out amount exceeds the current cash-out value.</td></tr><tr><td><pre><code>-301
</code></pre></td><td>Operator (Limit ID) not authorised to use the cash-out validation feature (cashout-placement)</td></tr><tr><td><pre><code>-302
</code></pre></td><td>Operator (Limit ID) not authorised to use the cash-out API feature</td></tr><tr><td><pre><code>-305
</code></pre></td><td>Cash-out settings not found for Limit ID</td></tr><tr><td><pre><code>-307
</code></pre></td><td>Cash-out currency was not found in the transaction</td></tr><tr><td><pre><code>-320
</code></pre></td><td>Cash-out calculation failed due to internal or upstream error</td></tr><tr><td><pre><code>-321
</code></pre></td><td>Fair odds are lower than the accepted odds. Cash-out is not permitted when expected profit/loss is negative at ticket placement time.</td></tr><tr><td><pre><code>-330
</code></pre></td><td>Selection contains unsupported product ID</td></tr><tr><td><pre><code>-331
</code></pre></td><td>Selection has unsupported event status</td></tr><tr><td><pre><code>-332
</code></pre></td><td>Probabilities not found for selection</td></tr><tr><td><pre><code>-333
</code></pre></td><td>Ticket external selections are not allowed</td></tr><tr><td><pre><code>-411
</code></pre></td><td>Market suspended (offer status inactive, no PAPI fallback)</td></tr><tr><td><pre><code>-412
</code></pre></td><td>Invalid selection status (PAPI cashout_status)</td></tr><tr><td><pre><code>-413
</code></pre></td><td>Custom Bet probabilities not received</td></tr><tr><td><pre><code>-501
</code></pre></td><td>Tournament is not active in the admin console.</td></tr><tr><td><pre><code>-502
</code></pre></td><td>Event is not active in the admin console.</td></tr><tr><td><pre><code>-503
</code></pre></td><td>Market is not active in the admin console.</td></tr><tr><td><pre><code>-999
</code></pre></td><td>Internal system error</td></tr></tbody></table>


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.sportradar.com/transaction30api/api-description/ticket-json-format-description/cash-out-description-and-flow/cash-out-response.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
