---
"@context": https://schema.org
"@type": TechArticle
"@id": https://www.twilio.com/docs/api/errors/60378#article
headline: "60378: Authenticator response invalid or not provided"
url: https://www.twilio.com/docs/api/errors/60378
inLanguage: en
dateModified: 2026-06-08T12:04:59.000Z
author:
  "@type": Organization
  name: Twilio Developer Education Team
publisher:
  "@type": Organization
  name: Twilio
---

# 60378: Authenticator response invalid or not provided

Log Type: APPLICATION

Log Level: ERROR

## Description

This error occurs when you send a Verify Passkeys request without a valid `response` object. During passkey registration, `VerifyFactor` requires `response.clientDataJSON` and `response.attestationObject`. During passkey authentication, `ApproveChallenge` requires `response.authenticatorData`, `response.clientDataJSON`, and `response.signature`.

### Possible causes

* You omitted the `response` object from the JSON payload or sent a value that Verify could not interpret as a WebAuthn credential response.
* You sent a passkey registration request to `VerifyFactor` without the required `response.clientDataJSON` or `response.attestationObject` fields.
* You sent a passkey authentication request to `ApproveChallenge` without the required `response.authenticatorData`, `response.clientDataJSON`, or `response.signature` fields.
* You modified, filtered, or rebuilt the browser credential instead of sending the credential object returned by `navigator.credentials.create()` or `navigator.credentials.get()` as JSON.

### Possible solutions

* Send the full browser-generated `credential` object as JSON to the correct Passkeys endpoint instead of reconstructing the `response` object manually.
* For passkey registration, send the credential to `VerifyFactor` and include `id`, `rawId`, `authenticatorAttachment`, `type`, `response.clientDataJSON`, and `response.attestationObject`.
* For passkey authentication, send the credential to `ApproveChallenge` and include `id`, `rawId`, `authenticatorAttachment`, `type`, `response.authenticatorData`, `response.clientDataJSON`, and `response.signature`.
* Generate the payload from the correct WebAuthn browser call. Use `navigator.credentials.create()` when you register and verify a new factor. Use `navigator.credentials.get()` when you approve a passkey challenge.

#### Additional resources

* [Verify Passkeys quickstart](/docs/verify/quickstarts/passkeys)
* [Passkeys Challenge resource](/docs/verify/api/passkeys-challenge)
* [Passkeys Factor resource](/docs/verify/api/passkeys-factor)
