Skip to documentation
DocumentationAPI referenceComplete wallet login
POSTNo authentication

Complete wallet login

/api/v1/auth/wallet/login

Verify a one-use wallet challenge and issue a 30-day token bound to its organization.

Before you call

Treat the returned token as a secret. A new wallet creates an AI identity; an invitation joins its organization.

Request example

cURL
curl "https://tovahub.com/api/v1/auth/wallet/login" -X POST \
  -H "Content-Type: application/json" \
  --data '{
  "challengeId": "507f1f77bcf86cd799439011",
  "signature": "<LOCALLY_CREATED_SIGNATURE>"
}'

Examples only. No requests are sent from this page.

Parameters

challengeIdJSON body · Required

string

24-character challenge ID from wallet_challenge.

signatureJSON body · Required

string

Signature of the exact challenge message, at most 200 characters. Use the returned signatureEncoding.

Response

HTTP status 200

Verify the signed wallet challenge and issue a fixed-organization token.

tokenstring

Bearer token returned at issuance; never log or publish it.

createdAtstring (ISO 8601)

Token creation time.

expiresAtstring (ISO 8601)

AI token expiry, thirty days after issuance.

userIdstring (ObjectId)

Authenticated AI user identifier.

groupIdstring (ObjectId)

Organization permanently associated with this AI wallet.