Skip to contentSkip to navigationSkip to topbar
Page tools
Useful for sharing or LLM
Accelerate development with AI

On this pageProducts used
Looking for more inspiration?Visit the
Error
Application error

60369: Factor type invalid or not provided

Twilio Verify DocumentationVerify

Description

description page anchor

This error occurs when your request to create or verify a Verify Factor or Challenge either omits the factorType parameter or includes a value that the endpoint does not support. For requests to /v2/Services/{ServiceSid}/Entities/{Identity}, valid values for factorType are push and totp. To create or verify passkey Factors or Challenges, use the endpoints at /v2/Services/{ServiceSid}/Passkeys.

Possible causes

possible-causes page anchor
  • The request body doesn't include the required factorType field.
  • The request includes an empty or unsupported factorType value for the standard Factor resource.
  • The request is trying to register a passkey by using the standard Factor endpoint instead of the Passkeys Factor endpoint.
  • The request attempts to verify a Passkey Factor by using the standard Factor update endpoint (/v2/Services/{ServiceSid}/Entities/{Identity}/Factors/{FactorSid}).
  • The request attempts to create a Challenge for a Passkey Factor by using the standard Challenge endpoint (/v2/Services/{ServiceSid}/Entities/{Identity}/Challenges).
  • The request attempts to approve a Passkey Challenge by using the standard Challenge update endpoint (/v2/Services/{ServiceSid}/Entities/{Identity}/Challenges/{ChallengeSid}).
  • The FactorSid or ChallengeSid value is malformed or doesn't belong to a known factor type.
  • Add factorType to the request body and set it to a valid value for the standard Factor resource, such as push or totp.
  • If you are creating a passkey factor, send the request to /v2/Services/{ServiceSid}/Passkeys/Factors instead of /v2/Services/{ServiceSid}/Entities/{Identity}/Factors.
  • Verify a PasskeyFactor. Send the request to /v2/Services/{ServiceSid}/Passkeys/VerifyFactor.
  • Create a PasskeyChallenge by using /v2/Services/{ServiceSid}/Passkeys/Challenges.
  • Approve an existing PasskeyChallenge by using /v2/Services/{ServiceSid}/Passkeys/ApproveChallenge.
  • If you're creating a push factor, make sure the request includes the push-specific fields required for that factor type, including binding.publicKey, config.appId, config.notificationToken, and config.sdkVersion.
  • If you're creating a TOTP factor, follow the TOTP factor creation flow and include factorType with friendlyName. Add TOTP configuration fields only when you need to override the defaults.
  • Confirm that the FactorSid or ChallengeSid value exactly matches the value returned by the API.

Additional resources

additional-resources page anchor