Skip to main content
GET
/
api
/
cron
/
send-login-email
Send Login Email
curl --request GET \
  --url https://onlyautomator.com/api/cron/send-login-email \
  --header 'Authorization: Bearer <token>'
{
  "success": true,
  "count": 1,
  "testMode": true,
  "message": "Login email successfully sent to test address"
}
This endpoint triggers the sending of login notification emails to users who have recently logged into their accounts. It can be used to send a single test email or to process all eligible users.

Authentication

This endpoint requires API key authentication.

Query Parameters

testEmail
string
Optional. If provided, sends a test login notification email to this address instead of to actual users.

Response

success
boolean
Indicates whether the operation was successful
count
number
Number of emails sent
testMode
boolean
Indicates if the endpoint was run in test mode
message
string
Status message about the operation

200 OK (Test Mode)

{
  "success": true,
  "count": 1,
  "testMode": true,
  "message": "Login email successfully sent to test address azzhh@indigobook.com"
}

200 OK (Production Mode)

{
  "success": true,
  "count": 8,
  "testMode": false,
  "message": "Login emails successfully sent to 8 users"
}

400 Bad Request

{
  "success": false,
  "message": "Invalid email format",
  "error": "The provided test email address is not valid"
}

401 Unauthorized

{
  "success": false,
  "message": "Unauthorized. Invalid or missing API key."
}

Example Usage

// Send a test login notification email
const testLoginEmail = async () => {
  const apiKey = "YOUR_API_KEY";
  const response = await fetch('http://localhost:3000/api/cron/send-login-email?testEmail=azzhh@indigobook.com', {
    method: 'GET',
    headers: {
      'Authorization': `Bearer ${apiKey}`
    }
  });
  
  const data = await response.json();
  console.log(data);
};

// Trigger the actual job for sending login notification emails to all eligible users
const sendLoginEmails = async () => {
  const apiKey = "YOUR_API_KEY";
  const response = await fetch('http://localhost:3000/api/cron/send-login-email', {
    method: 'GET',
    headers: {
      'Authorization': `Bearer ${apiKey}`
    }
  });
  
  const data = await response.json();
  console.log(data);
};

Email Template

The login notification email is designed to inform users about recent login activity on their accounts. It includes:
  • Personalized greeting with the user’s first name
  • Details of the recent login (time, location, device)
  • Instructions on what to do if they don’t recognize the login activity
  • Security recommendations
  • Link to account security settings
  • Support contact information

Implementation Notes

  • This endpoint is designed to be called by a scheduled task (cron job)
  • When called without a testEmail parameter, it will find all users who logged in since the last run
  • The endpoint is rate limited to prevent accidental mass emails
  • In production, authentication via API key is required
  • Email sending is logged for audit purposes

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

testEmail
string

Test email address to which the email will be sent

Response

Operation successful

  • Option 1
  • Option 2
success
boolean
Example:

true

count
integer
Example:

1

testMode
boolean
Example:

true

message
string
Example:

"Login email successfully sent to test address"