# Login or Create User by Email OTP **POST /v1/auth/otps/email/login_or_create** Create an OTP (one-time passcode) to the provided email for login verification. If no user account exists for the provided email, a new user will be created and email OTP sent. ## HTTP Request `POST /v1/auth/otps/email/login_or_create` ## Returns A successful response returns an object with `user_id`, `user_created` status indicating if the user has been newly created, and `email_id` properties. ## Servers - Production: https://api.moonkey.fun (Production) ## Authentication methods - Authorization ## Parameters ## Body parameters Content-type: application/json - **email** (string) Email that uniquely identifies the user. - **expires_in** (number) Expiration time of the OTP in minutes. Must be between 1 to 10 minutes, defaults to 1 minute. - **requires_verification** (boolean) Determines if verification for the authentication method (email, phone_number) is required before marking the user as active. - **device_fingerprint** (object) Device fingerprinting metadata for fraud detection during verification step. This is useful to ensure that the user who originated the request matches the user that verifies the token. Verification requirements can be enabled in the `Verify OTP` step by matching fields in the `device_fingerprint` such as IP, User Agent or the combination of them (more fraud detection features **coming soon**!) ## Responses ### 200: #### Body Parameters: application/json (object) - **user_id** (string) - **email_id** (string) - **status** (string) - **user_created** (boolean) [Powered by Bump.sh](https://bump.sh)