---
descriptions:
  user_management_authentication_factor:
    self: >-
      The [authentication factor](/reference/authkit/mfa/authentication-factor)
      object.
    object: Distinguishes the authentication factor object.
    id: The unique ID of the factor.
    created_at: The timestamp when the factor was created.
    updated_at: The timestamp when the factor was last updated.
    type: The type of the factor to enroll. The only available option is TOTP.
    totp: Additional TOTP factor information.
    totp_user: >-
      The user’s account name displayed in their authenticator app. Defaults to
      the user’s email.
    totp_issuer: >-
      Your application or company name displayed in the user’s authenticator
      app. Defaults to your WorkOS team name.
    totp_qr_code: Base64 encoded image containing scannable QR code.
    totp_secret: >-
      TOTP secret that can be manually entered into some authenticator apps in
      place of scanning a QR code.
    totp_uri: The `otpauth` URI that is encoded by the provided `qr_code`.
    user_id: 'The ID of the [user](/reference/authkit/user).'
reference:
  curl:
    - url: /reference/authkit/mfa/authentication-factor
      key: authentication_factor
      id: authentication_factor
      title: authentication_factor
      properties:
        - key: object
          type: '"authentication_factor"'
          description: (user_management_authentication_factor.object)
        - key: id
          type: string
          description: (user_management_authentication_factor.id)
        - key: created_at
          type: string
          description: (user_management_authentication_factor.created_at)
        - key: updated_at
          type: string
          description: (user_management_authentication_factor.updated_at)
        - key: type
          type: '"totp"'
          description: (user_management_authentication_factor.type)
        - key: totp
          type: object
          expanded: true
          properties:
            - key: issuer
              type: string
              description: (user_management_authentication_factor.totp_issuer)
            - key: user
              type: string
              description: (user_management_authentication_factor.totp_user)
            - key: qr_code
              type: string
              description: (user_management_authentication_factor.totp_qr_code)
            - key: secret
              type: string
              description: (user_management_authentication_factor.totp_secret)
            - key: uri
              type: string
              description: (user_management_authentication_factor.totp_uri)
        - key: user_id
          type: string
          description: (user_management_authentication_factor.user_id)
  go:
    - url: /reference/authkit/mfa/authentication-factor
      key: Factor
      id: authentication_factor
      title: mfa.Factor
      properties:
        - key: ID
          type: string
          description: (user_management_authentication_factor.id)
        - key: CreatedAt
          type: string
          description: (user_management_authentication_factor.created_at)
        - key: UpdatedAt
          type: string
          description: (user_management_authentication_factor.updated_at)
        - key: Type
          type: '"totp"'
          description: (user_management_authentication_factor.type)
        - key: TOTP
          type: mfa.TOTPDetails
          expanded: true
          properties:
            - key: QRCode
              type: string
              description: (user_management_authentication_factor.totp_qr_code)
            - key: Secret
              type: string
              description: (user_management_authentication_factor.totp_secret)
            - key: URI
              type: string
              description: (user_management_authentication_factor.totp_uri)
  ruby:
    - url: /reference/authkit/mfa/authentication-factor
      key: Factor
      id: authentication_factor
      title: class Factor
      properties:
        - key: object
          type: '"authentication_factor"'
          description: (user_management_authentication_factor.object)
        - key: id
          type: String
          description: (user_management_authentication_factor.id)
        - key: created_at
          type: String
          description: (user_management_authentication_factor.created_at)
        - key: updated_at
          type: String
          description: (user_management_authentication_factor.updated_at)
        - key: type
          type: '"totp"'
          description: (user_management_authentication_factor.type)
        - key: totp
          type: Hash
          expanded: true
          properties:
            - key: issuer
              type: String
              description: (user_management_authentication_factor.totp_issuer)
            - key: user
              type: String
              description: (user_management_authentication_factor.totp_user)
            - key: qr_code
              type: String
              description: (user_management_authentication_factor.totp_qr_code)
            - key: secret
              type: String
              description: (user_management_authentication_factor.totp_secret)
            - key: uri
              type: String
              description: (user_management_authentication_factor.totp_uri)
        - key: user_id
          type: string
          description: (user_management_authentication_factor.user_id)
  python:
    - url: /reference/authkit/mfa/authentication-factor
      key: user_management_authentication_factor
      id: user_management_authentication_factor
      title: AuthenticationFactorTotp
      properties:
        - key: object
          type: '"authentication_factor"'
          description: (user_management_authentication_factor.object)
        - key: id
          type: str
          description: (user_management_authentication_factor.id)
        - key: created_at
          type: str
          description: (user_management_authentication_factor.created_at)
        - key: updated_at
          type: str
          description: (user_management_authentication_factor.updated_at)
        - key: type
          type: '"totp"'
          description: (user_management_authentication_factor.type)
        - key: totp
          type: ExtendedTotpFactor
          expanded: true
          properties:
            - key: issuer
              type: str
              description: (user_management_authentication_factor.totp_issuer)
            - key: user
              type: str
              description: (user_management_authentication_factor.totp_user)
            - key: qr_code
              type: str
              description: (user_management_authentication_factor.totp_qr_code)
            - key: secret
              type: str
              description: (user_management_authentication_factor.totp_secret)
            - key: uri
              type: str
              description: (user_management_authentication_factor.totp_uri)
        - key: user_id
          type: string
          description: (user_management_authentication_factor.user_id)
  js:
    - url: /reference/authkit/mfa/authentication-factor
      key: Factor
      id: authentication_factor
      title: interface Factor
      properties:
        - key: object
          type: '"authentication_factor"'
          description: (user_management_authentication_factor.object)
        - key: id
          type: string
          description: (user_management_authentication_factor.id)
        - key: createdAt
          type: string
          description: (user_management_authentication_factor.created_at)
        - key: updatedAt
          type: string
          description: (user_management_authentication_factor.updated_at)
        - key: type
          type: '"totp"'
          description: (user_management_authentication_factor.type)
        - key: totp
          type: object
          expanded: true
          properties:
            - key: issuer
              type: string
              description: (user_management_authentication_factor.totp_issuer)
            - key: user
              type: string
              description: (user_management_authentication_factor.totp_user)
            - key: qrCode
              type: string
              description: (user_management_authentication_factor.totp_qr_code)
            - key: secret
              type: string
              description: (user_management_authentication_factor.totp_secret)
            - key: uri
              type: string
              description: (user_management_authentication_factor.totp_uri)
        - key: userId
          type: string
          description: (user_management_authentication_factor.user_id)
  php:
    - url: /reference/authkit/mfa/authentication-factor
      key: AuthenticationFactor
      id: authentication_factor
      title: WorkOS\Resource\AuthenticationFactor
      properties:
        - key: object
          type: '"authentication_factor"'
          description: (user_management_authentication_factor.object)
        - key: id
          type: string
          description: (user_management_authentication_factor.id)
        - key: created_at
          type: string
          description: (user_management_authentication_factor.created_at)
        - key: updated_at
          type: string
          description: (user_management_authentication_factor.updated_at)
        - key: type
          type: '"totp"'
          description: (user_management_authentication_factor.type)
        - key: totp
          type: array
          expanded: true
          properties:
            - key: issuer
              type: string
              description: (user_management_authentication_factor.totp_issuer)
            - key: user
              type: string
              description: (user_management_authentication_factor.totp_user)
            - key: qr_code
              type: string
              description: (user_management_authentication_factor.totp_qr_code)
            - key: secret
              type: string
              description: (user_management_authentication_factor.totp_secret)
            - key: uri
              type: string
              description: (user_management_authentication_factor.totp_uri)
        - key: user_id
          type: string
          description: (user_management_authentication_factor.user_id)
  java:
    - url: /reference/authkit/mfa/authentication-factor
      key: AuthenticationFactor
      id: authentication_factor
      title: class AuthenticationFactor
      properties:
        - key: id
          type: String
          description: (user_management_authentication_factor.id)
        - key: createdAt
          type: String
          description: (user_management_authentication_factor.created_at)
        - key: updatedAt
          type: String
          description: (user_management_authentication_factor.updated_at)
        - key: type
          type: '"totp"'
          description: (user_management_authentication_factor.type)
        - key: totp
          type: AuthenticationTotp
          expanded: true
          properties:
            - key: issuer
              type: String
              description: (user_management_authentication_factor.totp_issuer)
            - key: user
              type: String
              description: (user_management_authentication_factor.totp_user)
            - key: qrCode
              type: String
              description: (user_management_authentication_factor.totp_qr_code)
            - key: secret
              type: String
              description: (user_management_authentication_factor.totp_secret)
            - key: uri
              type: String
              description: (user_management_authentication_factor.totp_uri)
        - key: userId
          type: string
          description: (user_management_authentication_factor.user_id)
originalPath: >-
  .tmp-workos-clone/packages/docs/content/reference/authkit/mfa/authentication-factor.mdx
---

## Authentication factor

Represents an authentication factor.

<CodeBlock
  title="Authentication factor"
  file="authentication-factor"
  referenceId="authentication_factor"
/>
