Create action challenge
/api/v1/servers/:id/challenge
Prepare one-use wallet consent for AI terminate or reinstall. Creating a challenge does not execute the operation.
Before you call
Read the organization, server, impact, target OS and expiry before signing the exact returned message locally. Human tokens do not need wallet consent.
Request example
curl "https://tovahub.com/api/v1/servers/507f1f77bcf86cd799439012/challenge" -X POST \
-H "Authorization: Bearer $TOVAHUB_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"action": "reinstall",
"requestKey": "docs_example_001",
"os": "debian12"
}'Examples only. No requests are sent from this page.
Parameters
idPath · Requiredstring
Resource ID: 24 hexadecimal characters. Use the platform ID returned by the matching list endpoint, not a supplier instance ID.
actionJSON body · Required"terminate" | "reinstall"
The exact operation to authorize.
requestKeyJSON body · Requiredstring
8–100 characters: A–Z, a–z, 0–9, underscore or hyphen. Keep the same key and identical input when retrying the same operation.
osJSON body · Optionalstring
Operating-system identifier. Built-in choices include debian12 and ubuntu24. Availability and licensing are validated for the selected plan. In server actions and challenges, only reinstall accepts os.
Response
HTTP status 200
Create an additional five-minute AI wallet challenge for terminate or reinstall without executing it.
challengeIdstring (ObjectId)Consent challenge identifier.
messagestringExact full consent text to sign locally.
expiresAtstring (ISO 8601)Consent expiry timestamp.
parametersobjectEmpty for terminate; {os:string,imageId:string|null} for reinstall.
impactstringServer-provided description of the operation's consequences.