# cValidatorAction

## POST /exchange

> Action related to validator management.

```json
{"openapi":"3.1.1","info":{"title":"Hyperliquid API - exchange/cValidatorAction","version":"1.0.0"},"tags":[{"name":"cValidatorAction"}],"servers":[{"url":"https://api.hyperliquid.xyz","description":"Mainnet"},{"url":"https://api.hyperliquid-testnet.xyz","description":"Testnet"}],"paths":{"/exchange":{"post":{"tags":["cValidatorAction"],"description":"Action related to validator management.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"anyOf":[{"type":"object","properties":{"type":{"description":"Type of action.","enum":["CValidatorAction"]},"changeProfile":{"type":"object","properties":{"node_ip":{"anyOf":[{"type":"object","properties":{"Ip":{"type":"string","description":"IP address."}},"required":["Ip"],"nullable":true}],"description":"Validator node IP address."},"name":{"anyOf":[{"type":"string","nullable":true}],"description":"Validator name."},"description":{"anyOf":[{"type":"string","nullable":true}],"description":"Validator description."},"unjailed":{"type":"boolean","description":"Validator jail status."},"disable_delegations":{"anyOf":[{"type":"boolean","nullable":true}],"description":"Enable or disable delegations."},"commission_bps":{"anyOf":[{"type":"integer","minimum":0,"nullable":true}],"description":"Commission rate in basis points (1 = 0.0001%)."},"signer":{"anyOf":[{"type":"string","pattern":"^0[xX][0-9a-fA-F]+$","minLength":42,"maxLength":42,"nullable":true}],"description":"Signer address."}},"required":["node_ip","name","description","unjailed","disable_delegations","commission_bps","signer"],"description":"Profile changes to apply."}},"required":["type","changeProfile"]},{"type":"object","properties":{"type":{"description":"Type of action.","enum":["CValidatorAction"]},"register":{"type":"object","properties":{"profile":{"type":"object","properties":{"node_ip":{"type":"object","properties":{"Ip":{"type":"string","description":"IP address."}},"required":["Ip"],"description":"Validator node IP address."},"name":{"type":"string","description":"Validator name."},"description":{"type":"string","description":"Validator description."},"delegations_disabled":{"type":"boolean","description":"Whether delegations are disabled."},"commission_bps":{"type":"integer","minimum":0,"description":"Commission rate in basis points (1 = 0.0001%)."},"signer":{"type":"string","pattern":"^0[xX][0-9a-fA-F]+$","minLength":42,"maxLength":42,"description":"Signer address."}},"required":["node_ip","name","description","delegations_disabled","commission_bps","signer"],"description":"Validator profile information."},"unjailed":{"type":"boolean","description":"Initial jail status."},"initial_wei":{"type":"integer","minimum":0,"description":"Initial stake amount in wei."}},"required":["profile","unjailed","initial_wei"],"description":"Registration parameters."}},"required":["type","register"]},{"type":"object","properties":{"type":{"description":"Type of action.","enum":["CValidatorAction"]},"unregister":{"description":"Unregister the validator.","nullable":true}},"required":["type","unregister"]}],"description":"Action to perform."},"nonce":{"type":"integer","minimum":0,"description":"Nonce (timestamp in ms) used to prevent replay attacks."},"signature":{"type":"object","properties":{"r":{"type":"string","pattern":"^0[xX][0-9a-fA-F]+$","minLength":66,"maxLength":66,"description":"First 32-byte component."},"s":{"type":"string","pattern":"^0[xX][0-9a-fA-F]+$","minLength":66,"maxLength":66,"description":"Second 32-byte component."},"v":{"enum":[27,28],"description":"Recovery identifier."}},"required":["r","s","v"],"description":"ECDSA signature components."},"expiresAfter":{"type":"integer","minimum":0,"description":"Expiration time of the action."}},"required":["action","nonce","signature"],"description":"Action related to validator management."}}},"required":true},"responses":{"200":{"description":"Successful response without specific data or error response.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"status":{"description":"Successful status.","enum":["ok"]},"response":{"type":"object","properties":{"type":{"description":"Type of response.","enum":["default"]}},"required":["type"],"description":"Response details."}},"required":["status","response"],"description":"Successful response without specific data."},{"type":"object","properties":{"status":{"description":"Error status.","enum":["err"]},"response":{"type":"string","description":"Error message."}},"required":["status","response"],"description":"Error response for failed operations."}],"description":"Successful response without specific data or error response."}}}},"422":{"description":"Failed to deserialize the JSON body into the target type","content":{"text/plain":{"schema":{"type":"string"}}}}}}}}}
```
