---
descriptions:
  create_magic_auth:
    invitation_token: >
      The token of an [invitation](/reference/authkit/invitation). The
      invitation should be in the pending state.


      When a valid invitation token is specified, the user is able to sign up
      even if it is disabled in the environment. Additionally, if the invitation
      was for a specific organization, attaching the token to a user's
      authenticate call automatically provisions their membership to the
      organization.
reference:
  curl:
    - key: create_magic_auth
      id: create_magic_auth
      url: /reference/authkit/magic-auth/create
      title: /user_management/magic_auth
      type: POST
      sendsEmail: true
      parameters:
        - key: email
          type: string
          description: (magic_auth.email)
        - key: invitation_token
          optional: true
          type: string
          description: (create_magic_auth.invitation_token)
      returns:
        - (magic_auth)
  js:
    - key: createMagicAuth
      id: create_magic_auth
      url: /reference/authkit/magic-auth/create
      title: userManagement.createMagicAuth()
      sendsEmail: true
      parameters:
        - key: options
          type: object
          unwrap: true
          properties:
            - key: email
              type: string
              description: (magic_auth.email)
            - key: invitationToken
              optional: true
              type: string
              description: (create_magic_auth.invitation_token)
      returns:
        - (MagicAuth)
  go:
    - key: CreateMagicAuth
      id: create_magic_auth
      url: /reference/authkit/magic-auth/create
      title: usermanagement.CreateMagicAuth()
      parameters:
        - (ctx)
        - key: opts
          type: usermanagement.CreateMagicAuthOpts
          unwrap: true
          properties:
            - key: Email
              type: string
              description: (magic_auth.email)
            - key: InvitationToken
              optional: true
              type: string
              description: (create_magic_auth.invitation_token)
      returns:
        - (MagicAuth)
        - (err)
  php:
    - key: createMagicAuth=
      id: create_magic_auth
      url: /reference/authkit/magic-auth/create
      title: $userManagement->createMagicAuth()
      sendsEmail: true
      parameters:
        - key: email
          type: string
          description: (magic_auth.email)
        - key: invitationToken
          optional: true
          type: string
          description: (create_magic_auth.invitation_token)
      returns:
        - (MagicAuth)
  python:
    - key: create_magic_auth
      id: create_magic_auth
      url: /reference/authkit/magic-auth/create
      title: user_management.create_magic_auth()
      sendsEmail: true
      parameters:
        - key: email
          type: str
          description: (magic_auth.email)
        - key: invitation_token
          optional: true
          type: str
          description: (create_magic_auth.invitation_token)
      returns:
        - (MagicAuth)
  ruby:
    - key: create_magic_auth
      id: create_magic_auth
      url: /reference/authkit/magic-auth/create
      title: UserManagement.create_magic_auth()
      sendsEmail: true
      parameters:
        - key: email
          type: String
          description: (magic_auth.email)
        - key: invitation_token
          optional: true
          type: String
          description: (create_magic_auth.invitation_token)
      returns:
        - (MagicAuth)
  java:
    - key: createMagicAuth
      id: create_magic_auth
      url: /reference/authkit/magic-auth/create
      title: userManagement.createMagicAuth()
      sendsEmail: true
      parameters:
        - key: email
          type: String
          description: (magic_auth.email)
        - key: invitationToken
          optional: true
          type: String
          description: (create_magic_auth.invitation_token)
      returns:
        - (MagicAuth)
originalPath: >-
  .tmp-workos-clone/packages/docs/content/reference/authkit/magic-auth/create.mdx
---

## Create a Magic Auth code

Creates a one-time authentication code that can be sent to the user’s email address. The code expires in 10 minutes. To verify the code, [authenticate the user with Magic Auth](/reference/authkit/authentication/magic-auth).

<CodeBlock referenceId="create_magic_auth">
  <CodeBlockTab title="Request" file="create-magic-auth-request" />
  <CodeBlockTab title="Response" file="create-magic-auth-response" />
</CodeBlock>
