# Update a cashout status

## Update Cashout Status

> This API allows you to change the status of a cashout.\
> The primary use case is to update a cashout from PENDING to ON\_HOLD, or from ON\_HOLD to PENDING.\
> A cashout in ON\_HOLD will not be processed until it's set back to PENDING. This is useful for KYC checks.\
> Only cashouts in PENDING status can be updated to ON\_HOLD. Once a cashout is DELIVERED, it cannot be cancelled via this status update.\
> Cashouts in ON\_HOLD reserve funds from your balance.<br>

```json
{"openapi":"3.0.3","info":{"title":"onekeypayments Cashout API","version":"v3"},"tags":[{"name":"Cashout","description":"Operations related to cashouts"}],"servers":[{"url":"https://api-stg.onekeypayments.com","description":"Staging Server"}],"paths":{"/v3/cashout/status":{"put":{"tags":["Cashout"],"summary":"Update Cashout Status","description":"This API allows you to change the status of a cashout.\nThe primary use case is to update a cashout from PENDING to ON_HOLD, or from ON_HOLD to PENDING.\nA cashout in ON_HOLD will not be processed until it's set back to PENDING. This is useful for KYC checks.\nOnly cashouts in PENDING status can be updated to ON_HOLD. Once a cashout is DELIVERED, it cannot be cancelled via this status update.\nCashouts in ON_HOLD reserve funds from your balance.\n","operationId":"updateCashoutStatus","parameters":[{"name":"Content-Type","in":"header","required":true,"description":"Media type of the request. Must be application/json.","schema":{"type":"string","default":"application/json","enum":["application/json"]}},{"name":"Payload-Signature","in":"header","required":true,"description":"Control Signature. Calculated by hashing the entire JSON payload of the request using HMAC256 and your secret API key.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"JSON payload containing the details for updating the cashout status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashoutStatusUpdateRequest"}}}},"responses":{"200":{"description":"The status of the cashout was successfully updated. The response body reflects the cashout's new or current status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashoutStatusSuccessResponse"}}}},"400":{"description":"Bad Request. This can occur due to various reasons such as an invalid status transition (e.g., trying to change status from DELIVERED).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized. Invalid API credentials (login/pass) or Payload-Signature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed. The specified `cashout_id` was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error. An unexpected error occurred on the server side.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}},"components":{"schemas":{"CashoutStatusUpdateRequest":{"type":"object","required":["login","pass","cashout_id","status"],"properties":{"login":{"type":"string","maxLength":32,"description":"Your onekeypayments CASHOUTS API login key. Found in Merchant Panel: Settings → API Access."},"pass":{"type":"string","maxLength":32,"description":"Your onekeypayments CASHOUTS API passphrase. Found in Merchant Panel: Settings → API Access."},"cashout_id":{"type":"number","format":"int64","description":"The unique identifier of the cashout on onekeypayments's end, obtained from the Create Cashout Endpoint."},"status":{"type":"string","description":"The status to be assigned to the cashout.","enum":["ON_HOLD","PENDING"]}}},"CashoutStatusSuccessResponse":{"type":"object","properties":{"cashout_status":{"type":"integer","description":"Numeric code representing the cashout's current status."},"cashout_status_description":{"type":"string","description":"Textual description of the cashout's current status."},"rejection_code":{"type":"integer","nullable":true,"description":"If the cashout status is 'Rejected', this code indicates the reason for rejection."},"rejection_reason":{"type":"string","nullable":true,"description":"If the cashout status is 'Rejected', this provides a textual explanation for the rejection."}}},"ErrorResponse":{"type":"object","required":["code","message"],"properties":{"code":{"type":"integer","description":"Application-specific error code indicating the type of error."},"message":{"type":"string","description":"A human-readable message providing more details about the error."}}}}}}
```
