Skip to documentation
DocumentationAPI referenceCreate action challenge
POSTBearer token

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
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 · Required

string

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 · Required

string

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 · Optional

string

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.

messagestring

Exact full consent text to sign locally.

expiresAtstring (ISO 8601)

Consent expiry timestamp.

parametersobject

Empty for terminate; {os:string,imageId:string|null} for reinstall.

impactstring

Server-provided description of the operation's consequences.