---
descriptions:
  email_verification:
    self: >-
      The corresponding [email
      verification](/reference/authkit/email-verification) object.
    object: Distinguishes the email verification object.
    id: The unique ID of the email verification code.
    user_id: The unique ID of the user.
    email: The email address of the user.
    expires_at: The timestamp when the email verification code expires.
    code: The code used to verify the email.
    created_at: The timestamp when the email verification code was created.
    updated_at: The timestamp when the email verification code was last updated.
reference:
  curl:
    - url: /reference/authkit/email-verification
      key: email_verification
      id: email_verification
      title: email_verification
      properties:
        - key: id
          type: string
          description: (email_verification.id)
        - key: user_id
          type: string
          description: (email_verification.user_id)
        - key: email
          type: string
          description: (email_verification.email)
        - key: expires_at
          type: string
          description: (email_verification.expires_at)
        - key: code
          type: string
          description: (email_verification.code)
        - key: created_at
          type: string
          description: (email_verification.created_at)
        - key: updated_at
          type: string
          description: (email_verification.updated_at)
  js:
    - url: /reference/authkit/email-verification
      key: EmailVerification
      id: email_verification
      title: interface EmailVerification
      properties:
        - key: object
          type: '"email_verification"'
          description: (email_verification.object)
        - key: id
          type: string
          description: (email_verification.id)
        - key: userId
          type: string
          description: (email_verification.user_id)
        - key: email
          type: string
          description: (email_verification.email)
        - key: expiresAt
          type: string
          description: (email_verification.expires_at)
        - key: code
          type: string
          description: (email_verification.code)
        - key: createdAt
          type: string
          description: (email_verification.created_at)
        - key: updatedAt
          type: string
          description: (email_verification.updated_at)
  go:
    - url: /reference/authkit/email-verification
      key: EmailVerification
      id: email_verification
      title: usermanagement.EmailVerification
      properties:
        - key: ID
          type: string
          description: (email_verification.id)
        - key: UserId
          type: string
          description: (email_verification.user_id)
        - key: Email
          type: string
          description: (email_verification.email)
        - key: ExpiresAt
          type: string
          description: (email_verification.expires_at)
        - key: Code
          type: string
          description: (email_verification.code)
        - key: CreatedAt
          type: string
          description: (email_verification.created_at)
        - key: UpdatedAt
          type: string
          description: (email_verification.updated_at)
  php:
    - url: /reference/authkit/email-verification
      key: EmailVerification
      id: email_verification
      title: WorkOS\Resource\EmailVerification
      properties:
        - key: object
          type: '"email_verification"'
          description: (email_verification.object)
        - key: id
          type: string
          description: (email_verification.id)
        - key: userId
          type: string
          description: (email_verification.user_id)
        - key: email
          type: string
          description: (email_verification.email)
        - key: expiresAt
          type: string
          description: (email_verification.expires_at)
        - key: code
          type: string
          description: (email_verification.code)
        - key: createdAt
          type: string
          description: (email_verification.created_at)
        - key: updatedAt
          type: string
          description: (email_verification.updated_at)
  python:
    - url: /reference/authkit/email-verification
      key: EmailVerification
      id: email_verification
      title: EmailVerification
      properties:
        - key: id
          type: str
          description: (email_verification.id)
        - key: user_id
          type: str
          description: (email_verification.user_id)
        - key: email
          type: str
          description: (email_verification.email)
        - key: expires_at
          type: str
          description: (email_verification.expires_at)
        - key: code
          type: str
          description: (email_verification.code)
        - key: created_at
          type: str
          description: (email_verification.created_at)
        - key: updated_at
          type: str
          description: (email_verification.updated_at)
  ruby:
    - url: /reference/authkit/email-verification
      key: EmailVerification
      id: email_verification
      title: class EmailVerification
      properties:
        - key: id
          type: String
          description: (email_verification.id)
        - key: user_id
          type: String
          description: (email_verification.user_id)
        - key: email
          type: String
          description: (email_verification.email)
        - key: expires_at
          type: String
          description: (email_verification.expires_at)
        - key: code
          type: String
          description: (email_verification.code)
        - key: created_at
          type: String
          description: (email_verification.created_at)
        - key: updated_at
          type: String
          description: (email_verification.updated_at)
  java:
    - url: /reference/authkit/email-verification
      key: EmailVerification
      id: email_verification
      title: class EmailVerification
      properties:
        - key: id
          type: String
          description: (email_verification.id)
        - key: userId
          type: String
          description: (email_verification.user_id)
        - key: email
          type: String
          description: (email_verification.email)
        - key: expiresAt
          type: String
          description: (email_verification.expires_at)
        - key: code
          type: String
          description: (email_verification.code)
        - key: createdAt
          type: String
          description: (email_verification.created_at)
        - key: updatedAt
          type: String
          description: (email_verification.updated_at)
originalPath: >-
  .tmp-workos-clone/packages/docs/content/reference/authkit/email-verification/index.mdx
---

# Email verification

Email verification is a security feature that requires users to verify their email address before they can sign in to your application. It is enabled by default.

Users signing in with Magic Auth, Google OAuth, Apple OAuth, or SSO are automatically verified. For other authentication methods, an email verification flow is required to confirm that the user’s email address belongs to them.

<CodeBlock
  title="Example email verification"
  referenceId="email_verification"
  file="email-verification"
/>
