> 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-requests.md).

# Cash-out Requests

<table><thead><tr><th width="115.0677490234375" align="center">Source</th><th width="55.919189453125" align="center"></th><th width="114.782958984375" align="center">Destination</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 request types**

* [Cash-out Inform ](#mtscashoutrequests-v3.0-contentobject)(operation: "cashout-inform") - This request is sent to MTS to inform it that a specific cash-out event has occurred. The client does not expect a validation of this cash-out event. However, MTS does perform a basic check on the received values, such as whether the current potential win has been exceeded.
* [Cash-out Build](#id-2.-cashout-build-content-object) (operation: "cashout-build") - This request is optional and may be sent by the client once or multiple times to obtain information about a potential cash-out event (for example, when the client is preparing a cash-out offer to its bettor).
* [Cash-out Placement ](#id-3.-cashout-placement-content-object)(operation: "cashout-placement") is sent to MTS when the client expects MTS to fully validate a cash-out event, including a validation result (accepted/rejected).
* [Auto Cash-out](#id-4.-auto-cashout-content-object-and-notification-on-threshold-reached) (operation: "auto-cashout") is sent to MTS along with the expected cash-out amount (threshold) for a particular transaction. When the threshold is reached, the client is notified via a separate Transaction Stream WebSocket connection. The client can then perform the actual cash-out and send either a Cash-out Inform or a Cash-out Placement to MTS.
* [Auto Cash-out Cancellation](#id-5.-auto-cashout-cancel-content-object) (operation: "auto-cashout-cancel") cancels a previously activated Auto Cash-out check when the threshold is reached, along with the subsequent notification.
* [Cash-out Build Subscription](#id-6.-cashout-build-subscription-content-object) (operation: "cashout-build-subscription") is sent to MTS to subscribe to cash-out build updates for a specific ticket or bet. Unlike the standard Cash-out Build request, the payout array can be empty, allowing the client to receive cash-out suggestions without specifying an initial payout value.

{% hint style="warning" %}
The "ticket-cashout" operation and "cashout" content type will be deprecated. Do not use them in new projects, use "cashout-inform" instead. Currently, the old types are still accepted to maintain compatibility.
{% endhint %}

<figure><img src="/files/UjVIQWGXtMcjqIMyTvZz" alt=""><figcaption></figcaption></figure>

### **Description of cash-out request handling**

MTS supports cash-out requests regarding cash-outs of live and pre-match bets and for singles, multiples and system bets. A Cash-out request will be accepted by MTS if the following conditions are met:

* MTS must manage events from a risk management perspective
* Ticket cash-out value is equal to or less than the maximum ticket value (Ticket Total Stake \* Ticket Total Odds)
  * Ticket Total Stake – Stake amount in the original ticket
  * Ticket Total Odds – Product of all selection odds in the original ticket

A ticket can be cashed out in its entire or partial value. In the case of partial cash-out, a portion of the ticket’s current value is paid out to the end customer (bettor), while the remaining part still depends on the event's outcome. In this case, apart from the cash-out amount, the Cash-out request must also include the ratio of the ticket the end customer has cashed out (field "percentage"). MTS will validate if the provided cash-out value is equal to or lower than the same ratio of the maximum possible payout of the ticket.

Clients can send as many partial cash-out requests as they wish, provided that the cash-out amount and ratio of each cash-out request include the values of all previous cash-out requests. MTS does not aggregate cash-out amount and ratio values of individual requests and treats the last request as if there were no previous requests.

Using different types of the Cash-out details object makes it possible to cash out – fully or partially – a single bet or a subset of bets within a multi-bet ticket, with custom cash-out ratios for each bet.

***

**Envelope and Content table:**

The Envelope provides the content's (cash-out request) context and contains the following fields (besides Content):

* operatorId
* correlationId
* timestampUtc
* operation
* version

<table data-full-width="true"><thead><tr><th width="360.1171875">Example</th><th width="146.2960205078125">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 data-overflow="wrap"><code>  "operatorId": 9985,
</code></pre></td><td>operatorId</td><td>ID to uniquely identify the client from which the ticket originated,<br>ID is provided to the client by Sportradar,<br>The client is obliged to include it in every ticket</td><td>M</td><td>Integer</td></tr><tr><td><pre><code>  "content": {
    .......
    .......
      },
</code></pre></td><td>content</td><td>See <a href="#mtscashoutrequests-v3.0-contentobject">Content object</a> description below</td><td>M</td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><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 data-overflow="wrap"><code>  "timestampUtc": 1678273428000,
</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 data-overflow="wrap"><code>  "operation": "cashout-inform",
</code></pre></td><td>operation</td><td>Declaration of ticket content type, can be "cashout-inform" 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 data-overflow="wrap"><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>

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

The Content object includes the following fields:

* type
* cashout
* validation
* suggestionSignature

**Content object table:**

<table data-full-width="true"><thead><tr><th width="360.26824951171875">Example</th><th width="161.7421875">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-inform",
</code></pre></td><td>type</td><td>Declaration of content type</td><td>M</td><td>String</td></tr><tr><td><pre><code>    "cashout": {
      ........
      ........
       },
</code></pre></td><td>cashout</td><td>See description of <a href="#mtscashoutrequests-v3.0-cashoutcashoutobject">Cashout object</a></td><td>M</td><td>Object</td></tr><tr><td><pre><code>    "validation": {
</code></pre></td><td>validation</td><td>Cash-out validation information as provided by the client</td><td>M</td><td>Object</td></tr><tr><td><pre><code>        "code": 1100,
</code></pre></td><td><ul><li>code</li></ul></td><td>Cash-out validation code as provided by the client,<br>minimum = -1000000,<br>maximum = 100000</td><td>M</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>        "message": "Validated, OK",
</code></pre></td><td><ul><li>message</li></ul></td><td>Readable cash-out validation message as provided by the client,<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>        "rejected": false
        },
</code></pre></td><td><ul><li>rejected</li></ul></td><td>Clients' indication that the cash-out has been rejected on their end.<br>(A missing field means it has not been rejected.)</td><td>O</td><td>Boolean</td></tr><tr><td><pre><code>   "suggestionSignature": "jFwrt72gB"
     },
</code></pre></td><td>suggestionSignature</td><td>Signature of the transaction (e.g., an auto-cashout trans.) that suggested this cash-out transaction,<br>minimal string length = 1,<br>maximum string length = 512,<br>Java Regex: ^[A-Za-z0-9+/=]{1,512}$</td><td>O</td><td>String</td></tr></tbody></table>

### 2. cashout-build Content object

The Content object includes the following fields:

* type
* cashout

**Content object table:**

<table data-full-width="true"><thead><tr><th width="360.470458984375">Example</th><th width="162.017333984375">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",
</code></pre></td><td>type</td><td>Declaration of content type</td><td>M</td><td>String</td></tr><tr><td><pre><code>    "cashout": {
         .......
         }
 },
</code></pre></td><td>cashout</td><td>See description of <a href="#mtscashoutrequests-v3.0-cashoutcashoutobject">Cashout object</a></td><td>M</td><td>Object</td></tr></tbody></table>

### 3. cashout-placement Content object

The Content object includes the following fields:

* type
* cashout

**Content object table:**

<table data-full-width="true"><thead><tr><th width="361.3819580078125">Example</th><th width="161">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></td><td></td><td></td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>    "type": "cashout-placement",
</code></pre></td><td>type</td><td>Declaration of content type</td><td>M</td><td>String</td></tr><tr><td><pre><code>    "cashout": {
         .......
         }
},
</code></pre></td><td>cashout</td><td>See description of <a href="#mtscashoutrequests-v3.0-cashoutcashoutobject">Cashout object</a></td><td>M</td><td>Object</td></tr></tbody></table>

### 4. auto-cashout Content object and notification on threshold reached

A client sends an Auto Cash-out request to MTS for a specific transaction, including the expected cash-out amount. MTS periodically checks for the threshold to be reached, and once reached, notifies the client with a cashout-inform Content object. The client can then perform the actual cash-out and send to MTS either a Cash-out Inform or a Cash-out Placement.\
The notification is sent over a separate Transaction Stream WebSocket connection. Visit the [Connectivity](/transaction30api/api-description/connectivity.md) page to read how to establish this connection.

#### 4.1 auto-cashout Content object

The Content object includes the following fields:

* type
* autoCashoutId
* details

**Content object table**

<table data-full-width="true"><thead><tr><th width="361.3819580078125">Example</th><th width="161">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></td><td></td><td></td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>    "type": "auto-cashout",
</code></pre></td><td>type</td><td>Declaration of content type</td><td>M</td><td>String</td></tr><tr><td><pre><code>    "autoCashoutId": "AC22328",
</code></pre></td><td>autoCashoutId</td><td><p>Unique ID of this particular auto cash-out request in the client's system,</p><p>minimal string length = 1, maximum length = 128,</p></td><td>O</td><td>String</td></tr><tr><td><pre><code>    "details": {
</code></pre></td><td>details</td><td>Auto cash-out details</td><td>M</td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>       "type": "ticket",
</code></pre></td><td><ul><li>type</li></ul></td><td><p>Enumerator:</p><ul><li>ticket</li><li>bet</li></ul></td><td>M</td><td>String</td></tr><tr><td><pre><code>       "ticketId": "Ticket_3833",
</code></pre></td><td><ul><li>ticketId</li></ul></td><td>ID of the original ticket that is to be affected by this auto cash-out request</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>       "ticketSignature": "sWhjaS82LEl+SmjWB3x
DB0AIB6fUZVFOvmh1sK3ByOhJ=",
</code></pre></td><td><ul><li>ticketSignature</li></ul></td><td>Signature from MTS's response to initial ticket placement</td><td>M</td><td>String</td></tr><tr><td><pre><code>       "betId": "Ticket_3833",
</code></pre></td><td><ul><li>betId</li></ul></td><td>Field not present if "type": "ticket",<br>ID of the initial bet (defined by client) that is to be affected by this cash-out request</td><td>M<br>if "type": "bet"</td><td>String</td></tr><tr><td><pre><code>       "threshold": [ {
</code></pre></td><td><ul><li>threshold</li></ul></td><td>Max array length = 2,<br>Min array length = 1</td><td>M</td><td>Array</td></tr><tr><td><pre><code>         "type": "take-win",
</code></pre></td><td><ul><li><p></p><ul><li>type</li></ul></li></ul></td><td><p>Enumerator:</p><ul><li>take-win</li><li>stop-loss</li></ul></td><td>M</td><td>String</td></tr><tr><td><pre><code>         "percentage": "0.6",
</code></pre></td><td><ul><li><p></p><ul><li>percentage</li></ul></li></ul></td><td>Proportion of the bet that is to be cashed-out,<br>format: up to 8 decimal places after a zero and decimal point, has to be passed as a decimal (i.e. 0.6 and not 60),<br>Java regex:<br>^0(\\.\\d{1,8})?$</td><td>M</td><td>String</td></tr><tr><td><pre><code>         "payout": [
          ..........
          ] } ]
       }
 },                  
</code></pre></td><td><ul><li><p></p><ul><li>payout</li></ul></li></ul></td><td>See the payout array description in the <a href="#mtscashoutrequests-v3.0-detailsdetailsobject">Details ("type": "ticket")</a> table below.</td><td>M</td><td>Array</td></tr></tbody></table>

#### 4.2 Notification on threshold reached (cashout-inform Content object)

The notification takes the form of a Cashout Inform request. It contains the standard transaction envelope and the [cashout-inform Content object](#mtscashoutrequests-v3.0-contentobject).

### 5. auto-cashout-cancel Content object

Content object includes the following fields:

* type
* cancellationId
* details

**Content object table**

<table data-full-width="true"><thead><tr><th width="361.3819580078125">Example</th><th width="161">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></td><td></td><td></td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>    "type": "auto-cashout-cancel",
</code></pre></td><td>type</td><td>Declaration of content type</td><td>M</td><td>String</td></tr><tr><td><pre><code>    "cancellationId": "CANC_41473",
</code></pre></td><td>cancellationId</td><td><p>Unique ID of this particular auto cash-out cancellation request in the client's system,</p><p>minimal string length = 1, maximum length = 128,</p></td><td>O</td><td>String</td></tr><tr><td><pre><code>    "details": {
</code></pre></td><td>details</td><td>Auto cash-out details</td><td>M</td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>       "type": "ticket",
</code></pre></td><td><ul><li>type</li></ul></td><td><p>Enumerator:</p><ul><li>ticket</li><li>bet</li></ul></td><td>M</td><td>String</td></tr><tr><td><pre><code>       "ticketId": "Ticket_3833",
</code></pre></td><td><ul><li>ticketId</li></ul></td><td>ID of the original ticket that is to be affected by this auto cash-out cancellation request</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>       "ticketSignature": "sWhjaS82LEl+SmjWB3x
DB0AIB6fUZVFOvmh1sK3ByOhJ=",
</code></pre></td><td><ul><li>ticketSignature</li></ul></td><td>Signature from MTS's response to initial ticket placement</td><td>M</td><td>String</td></tr><tr><td><pre><code>       "betId": "Ticket_3833"
       }
 },
</code></pre></td><td><ul><li>betId</li></ul></td><td>Field not present if "type": "ticket",<br>ID of the initial bet (defined by client) that is to be affected by this cash-out cancellation request</td><td>M<br>if "type": "bet"</td><td>String</td></tr></tbody></table>

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

The Cash-out Build Subscription request is used to subscribe to cash-out value updates for a specific ticket or bet. Unlike the standard Cash-out Build request, the payout array in the details object can be empty (minItems: 0), allowing the client to receive cash-out suggestions without specifying an initial payout value. The subscription stays active for up to 5 minutes. For details of returned cash-out values, see [cashout-build-subscription-reply.](https://docs.sportradar.com/transaction30api/api-description/ticket-json-format-description/cash-out-description-and-flow/pages/W0WyZruMCXB8zuW6gEZG#id-5.-cashout-build-subscription-reply-content-object)

The Content object includes the following fields:

* type
* cashoutId
* details

**Content object table:**

<table data-full-width="true"><thead><tr><th width="361.3819580078125">Example</th><th width="161">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></td><td></td><td></td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>    "type": "cashout-build-subscription",
</code></pre></td><td>type</td><td>Declaration of content type</td><td>M</td><td>String</td></tr><tr><td><pre><code>    "cashoutId": "COUT92328",
</code></pre></td><td>cashoutId</td><td><p>Unique ID of this particular cash-out subscription request in the client's system,</p><p>minimal string length = 1, maximum length = 128</p></td><td>M</td><td>String</td></tr><tr><td><pre><code>    "details": {
         .......
         }
 },
</code></pre></td><td>details</td><td><p>Cash-out subscription details - the same structure as standard cash-out details, but the payout array can be empty (minItems: 0).</p><p>See <a href="#mtscashoutrequests-v3.0-detailsdetailsobject">Details object</a> for field descriptions.</p><p>Enum for type:</p><ul><li>ticket</li><li>ticket-partial</li><li>bet</li><li>bet-partial</li></ul></td><td>M</td><td>Object</td></tr></tbody></table>

### Cashout object <a href="#mtscashoutrequests-v3.0-cashoutcashoutobject" id="mtscashoutrequests-v3.0-cashoutcashoutobject"></a>

The Cashout object contains the following fields:

* type
* cashoutId
* details
* context (cashout-context)

**Cashout object table:**

<table data-full-width="true"><thead><tr><th width="359.923583984375">Example</th><th width="116.49652099609375">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>"cashout": {
</code></pre></td><td><br></td><td><br></td><td><br></td><td>Object</td></tr><tr><td><pre><code>   "type": "cashout",
</code></pre></td><td>type</td><td>Declaration of type</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>   "cashoutId": "COUT92328", 
</code></pre></td><td>cashoutId</td><td>Unique ID of this particular cash-out request in client's system, referenced in eventual ack message, minimal string length = 1,<br>maximum string length = 128</td><td>O</td><td>String</td></tr><tr><td><pre><code>   "details": {
</code></pre></td><td>details</td><td><p>Cash-out details - such as what is to be cashed out, amount, etc.,</p><p>see <a href="#mtscashoutrequests-v3.0-detailsdetailsobject">description</a></p></td><td>M</td><td>Object</td></tr><tr><td><pre><code>      "type": .......
      .........
      .........
    },     
</code></pre></td><td><ul><li>type</li></ul></td><td><p>See description of the 4 specific <a href="#mtscashoutrequests-v3.0-detailsdetailsobject">"details" types below</a></p><p>Enum:</p><ul><li>ticket</li><li>ticket-partial</li><li>bet</li><li>bet-partial</li></ul></td><td>M</td><td>String</td></tr><tr><td><pre><code>   "context": {
</code></pre></td><td>context</td><td>Cash-out context - additional information for the cash-out process</td><td>O</td><td>Object</td></tr><tr><td><pre><code>      "autoAcceptChange": "any"
   }
},   
</code></pre></td><td><ul><li>autoAcceptChange</li></ul></td><td><p>Enumerator:</p><ul><li>not-set - Use current validation without changing accepted cashout.</li><li>any - Accept any cashout value change that will be calculated, including lower.</li><li>higher - Accept calculated cashout value change if it is equal to or higher (with rounding tolerance).</li><li>none - Accept only if calculated cashout value matches requested value (with rounding tolerance).</li></ul></td><td>O</td><td>String</td></tr></tbody></table>

### Details object <a href="#mtscashoutrequests-v3.0-detailsdetailsobject" id="mtscashoutrequests-v3.0-detailsdetailsobject"></a>

**1. Details ("type": "ticket") table**

This type is used to cash out an entire ticket.

Fields:

* type
* ticketId
* ticketSignature
* code
* payout

<table data-full-width="true"><thead><tr><th width="349.38800048828125">Example</th><th width="163.0008544921875">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>"details": {
</code></pre></td><td><br></td><td><br></td><td><br></td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>        "type": "ticket",
</code></pre></td><td>type</td><td>Defines the type of Cash-out details</td><td>M</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 original ticket that is to be affected by this cash-out request</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "ticketSignature": "HHDut7XIEl+SmjWB3x
DB0AIB6fUZVFOvmGKm6Rcvxm0=",
</code></pre></td><td>ticketSignature</td><td>Signature from MTS's response to initial ticket placement</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "code": 101,     
</code></pre></td><td>code</td><td>Cash-out reason code,<br>see <a href="/pages/Suh0ot4kgxeeUSMslr1F#mtscashoutdescriptionandflow-v3.0-cash-outreasoncodes">list of codes</a></td><td>M</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>        "payout": [ {      
</code></pre></td><td>payout</td><td>Session payout array,<br>minimal number of payouts per session =1,<br>maximum number = 5</td><td>M</td><td>Array</td></tr><tr><td><pre data-overflow="wrap"><code>            "type": "cash",
</code></pre></td><td><ul><li>type</li></ul></td><td><p>Enumerator:</p><ul><li>cash</li><li>withheld</li></ul></td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>            "currency": "EUR",
</code></pre></td><td><ul><li>currency</li></ul></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 data-overflow="wrap"><code>            "amount": "100",
</code></pre></td><td><ul><li>amount</li></ul></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 data-overflow="wrap"><code>            "traceId": "Source_2099",
</code></pre></td><td><ul><li>traceId</li></ul></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><ul><li>stakeOrigin</li></ul></td><td><p>Enumerator:</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><tr><td><pre><code> }  ]  }, 
</code></pre></td><td></td><td></td><td></td><td></td></tr></tbody></table>

**2. Details ("type": "ticket-partial") table**

This type is used to cash out only a portion of the ticket.

Fields:

* type
* ticketId
* ticketSignature
* code
* percentage
* payout

<table data-full-width="true"><thead><tr><th width="360.70745849609375">Example</th><th width="149.96612548828125">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>"details": {
</code></pre></td><td><br></td><td><br></td><td><br></td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>        "type": "ticket-partial",
</code></pre></td><td>type</td><td>Defines the type of cash-out details</td><td>M</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 original ticket that is to be affected by this cash-out request</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "ticketSignature": "HHDut7XIEl+SmjWB3x
DB0AIB6fUZVFOvmGKm6Rcvxm0=",
</code></pre></td><td>ticketSignature</td><td>Signature from MTS's response to initial ticket placement</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "code": 101,     
</code></pre></td><td>code</td><td>Cash-out reason code,<br>see <a href="/pages/Suh0ot4kgxeeUSMslr1F#mtscashoutdescriptionandflow-v3.0-cash-outreasoncodes">list of codes</a></td><td>M</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>        "percentage": "0.6",
</code></pre></td><td>percentage</td><td>Proportion of the bet that is to be cashed-out,<br>format: up to 8 decimal places after a zero and decimal point, has to be passed as a decimal (i.e. 0.6 and not 60),<br>Java regex:<br>^0(\\.\\d{1,8})?$</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "payout": [
        ..........
        ..........
 ] },              
</code></pre></td><td>payout</td><td>See the payout array description in the <a href="#mtscashoutrequests-v3.0-detailsdetailsobject">Details ("type": "ticket")</a> table above</td><td>M</td><td>Array</td></tr></tbody></table>

**3. Details ("type": "bet") table**

This type is used to cash out an entire bet.

Fields:

* type
* ticketId
* ticketSignature
* betId
* code
* payout

<table data-full-width="true"><thead><tr><th width="360.9296875">Example</th><th width="158.72393798828125">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>"details": {
</code></pre></td><td><br></td><td><br></td><td><br></td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>        "type": "bet",
</code></pre></td><td>type</td><td>Defines the type of cash-out details</td><td>M</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 original ticket that is to be affected by this cash-out request</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "ticketSignature": "HHDut7XIEl+SmjWB3x
DB0AIB6fUZVFOvmGKm6Rcvxm0=",
</code></pre></td><td>ticketSignature</td><td>Signature from MTS's response to initial ticket placement</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "betId": "bjda6GH",
</code></pre></td><td>betId</td><td>ID of the initial bet (defined by client) that is to be affected by this cash-out request</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "code": 101,     
</code></pre></td><td>code</td><td>Cash-out reason code,<br>see <a href="/pages/Suh0ot4kgxeeUSMslr1F#mtscashoutdescriptionandflow-v3.0-cash-outreasoncodes">list of codes</a></td><td>M</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>        "payout": [
        ..........
        ..........
] },               
</code></pre></td><td>payout</td><td>See the payout array description in the <a href="#mtscashoutrequests-v3.0-detailsdetailsobject">Details ("type": "ticket")</a> table above</td><td>M</td><td>Array</td></tr></tbody></table>

\
**4. Details ("type": "bet-partial") table**

This type is used to cash out a portion of a bet.

Fields:

* type
* ticketId
* ticketSignature
* betId
* code
* percentage
* payout

<table data-full-width="true"><thead><tr><th width="361.1640625">Example</th><th width="148.9696044921875">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>"details": {
</code></pre></td><td><br></td><td><br></td><td><br></td><td>Object</td></tr><tr><td><pre data-overflow="wrap"><code>        "type": "bet-partial",
</code></pre></td><td>type</td><td>Defines the type of cash-out details</td><td>M</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 original ticket that is to be affected by this cash-out request</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "ticketSignature": "HHDut7XIEl+SmjWB3x
DB0AIB6fUZVFOvmGKm6Rcvxm0=",
</code></pre></td><td>ticketSignature</td><td>Signature from MTS's response to initial ticket placement</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "betId": "bjda6GH",
</code></pre></td><td>betId</td><td>ID of the initial bet (defined by client) which is to be affected with this cash-out</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "code": 101,    
</code></pre></td><td>code</td><td>Cash-out reason code,<br>see <a href="/pages/Suh0ot4kgxeeUSMslr1F#mtscashoutdescriptionandflow-v3.0-cash-outreasoncodes">list of codes</a></td><td>M</td><td>Integer</td></tr><tr><td><pre data-overflow="wrap"><code>        "percentage": "0.8",
</code></pre></td><td>percentage</td><td>Proportion of the bet that is to be cashed-out,<br>format: up to 8 decimal places after a zero and decimal point, has to be passed as a decimal (i.e. 0.8 and not 80),<br>Java regex: ^0(\\.\\d{1,8})?$</td><td>M</td><td>String</td></tr><tr><td><pre data-overflow="wrap"><code>        "payout": [
        ...........
        ...........
] },              
</code></pre></td><td>payout</td><td>See the payout array description in the <a href="#mtscashoutrequests-v3.0-detailsdetailsobject">Details ("type": "ticket")</a> table above</td><td>M</td><td>Array</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-requests.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.
