Skip to main content
POST
/
auth
/
verifiedChallenges
Verify authentication
curl --request POST \
  --url https://api.guile.app/auth/verifiedChallenges \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "method": "otp",
  "challengeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "code": "<string>"
}
'
{
  "authToken": "<string>",
  "refreshToken": "<string>"
}

Body

application/json

Unified verification request for both OTP and passkey authentication.

Use the method field to specify which authentication method is being verified:

  • For OTP: Include challengeId and code
  • For passkey: Include assertion
method
enum<string>
required

The authentication method being verified.

Available options:
otp
challengeId
string<uuid>
required

The challenge ID to verify.

code
string
required

The one-time passcode used to verify the authentication challenge.

Required string length: 6

Response

Ok. The operation succeeded.

The JSON representation of issued authentication tokens as the result of a successful authentication challenge or the exchange of a refresh token.

authToken
string<jwt>
required

A bearer token representing an authenticated user.

refreshToken
string<jwt>
required

An offline refresh token. Refresh tokens are exchanged for a new authentication token without going through a challenge workflow.