Noti-Fire
Noti-Fire
Devices11 Stats2 Anti-Ban7 Auto Replies9 Send9 File Uploads1 OTP2 Bulk Send10 Groups2
Devices 11 endpoints
POST only
11
In Section
9
Sections
POST
HTTP Method
JSON
Response
POST https://www.noti-fire.com/api/myDevices My All Devices
Endpoint
/myDevices
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
usernamestringrequiredget from https://www.noti-fire.com/user/profile
Returns all devices linked to the user with connection status, QR code, and rate-limit settings.
Response Examples
{
    "success": true,
    "message": "Data retrieved successfully",
    "data": [
        {
            "id": 1,
            "device_id": "test",
            "name": "Noti Fire",
            "webhook": null,
            "webhook_status": 1,
            "expiry_date": "2052-06-28",
            "send_status": 1,
            "contacts_count": 10,
            "ads_count": 10,
            "autoreply_count": 50,
            "export_group": 1,
            "created_at": "2025-02-10 11:09 AM",
            "status": "فعال",
            "remaining": 9568,
            "connection_status": "connected",
            "phoneNumber": "201014748739",
            "qrCode": null,
            "lastSeen": 1776505314,
            "autoReplyDelaySeconds": 30,
            "limitsEnabled": false,
            "stats": {
                "date": "2026-04-18",
                "sent": 0,
                "received": 0,
                "failed": 0
            }
        }
    ],
    "timestamp": "2026-04-18 11:41:54"
}
200 OK
{
    "success": false,
    "message": "The username field is required.",
    "data": null,
    "timestamp": "2026-04-18 11:42:16"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/device/connect Connect
Endpoint
/device/connect
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Initializes a WhatsApp device. Returns a QR code if not yet authenticated.
Response Examples
{
    "success": true,
    "message": "Device already connected",
    "data": {
        "device_id": "test",
        "status": "connected",
        "user": {
            "id": "201014748739:[email protected]",
            "name": "N.F",
            "lid": "5197514449095:11@lid"
        }
    },
    "timestamp": "2026-04-18T09:42:59.863Z"
}
200 OK
{
    "success": true,
    "message": "QR Code generated",
    "data": {
        "device_id": "test",
        "status": "waiting_for_scan",
        "qrCode": "data:image/png;base64,iVBORw0KGgo..."
    },
    "timestamp": "2026-04-18T09:43:43.875Z"
}
200 OK
{
    "success": false,
    "message": "The device id field is required.",
    "data": null,
    "timestamp": "2026-04-18 11:43:56"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/device/logout Logout
Endpoint
/device/logout
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Terminates the active WhatsApp session for this device.
Response Examples
{
    "success": true,
    "message": "Logged out",
    "timestamp": "2026-04-18T09:44:20.028Z",
    "data": {
        "device_id": "test"
    }
}
200 OK
{
    "success": false,
    "message": "The device id field is required.",
    "data": null,
    "timestamp": "2026-04-18 11:44:40"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/device/reconnect Reconnect
Endpoint
/device/reconnect
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Forces a reconnection attempt for a disconnected device.
Response Examples
{
    "success": true,
    "message": "Reconnecting",
    "timestamp": "2026-04-18T09:45:14.590Z",
    "data": {
        "device_id": "test"
    }
}
200 OK
{
    "success": false,
    "message": "The device id field is required.",
    "data": null,
    "timestamp": "2026-04-18 11:45:03"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/device/status Status
Endpoint
/device/status
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Returns connection status, QR code, webhook URL, auto-reply delay, and rate-limit toggle.
Response Examples
{
    "success": true,
    "message": "Data retrieved successfully",
    "data": {
        "id": 1,
        "name": "Noti Fire",
        "webhook": null,
        "webhook_status": 1,
        "expiry_date": "2052-06-28",
        "send_status": 1,
        "connection_status": "pending_qr",
        "phoneNumber": null,
        "qrCode": null,
        "lastSeen": 1776505514,
        "autoReplyDelaySeconds": 30,
        "limitsEnabled": false,
        "device_id": "test",
        "remaining": 9568
    },
    "timestamp": "2026-04-18 11:46:26"
}
200 OK
{
    "success": false,
    "message": "The device id field is required.",
    "data": null,
    "timestamp": "2026-04-18 11:46:42"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/device/changeId Change ID
Endpoint
/device/changeId
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Generates a new device UUID. The old ID becomes invalid immediately after.
Response Examples
{
    "success": true,
    "message": "Device renamed seamlessly!",
    "timestamp": "2026-04-18T09:47:32.417Z",
    "data": {
        "oldId": "87ed3d97-50c2-4395-8f1c-c7d111eadde1",
        "newId": "d099d604-0f0f-4a07-814c-ad05b0c8ca91"
    }
}
200 OK
{
    "success": false,
    "message": "The device id field is required.",
    "data": null,
    "timestamp": "2026-04-18 11:47:02"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/device/setWebhook Set Webhook
Endpoint
/device/setWebhook
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
webhook_urlurlrequiredvalid URL · max:255
Registers a webhook URL to receive incoming message events.
Response Examples
{
    "success": true,
    "message": "Webhook updated",
    "timestamp": "2026-04-18T09:50:39.962Z",
    "data": {
        "device_id": "test",
        "webhookUrl": "https://webhook.site/98afaf85-ea81-4062-be3b-131a21a2866f"
    }
}
200 OK
{
    "success": false,
    "message": "The webhook url field is required.",
    "data": null,
    "timestamp": "2026-04-18 11:51:22"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/device/deleteWebhook Delete Webhook
Endpoint
/device/deleteWebhook
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Removes the configured webhook. Incoming events will no longer be forwarded.
Response Examples
{
    "success": true,
    "message": "Webhook removed",
    "timestamp": "2026-04-18T09:52:46.643Z",
    "data": {
        "device_id": "test"
    }
}
200 OK
{
    "success": false,
    "message": "The device id field is required.",
    "data": null,
    "timestamp": "2026-04-18 11:52:31"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/device/checkPhone Check Phone
Endpoint
/device/checkPhone
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredmax:50 · exists:devices,uuid
phonestringrequiredmax:25 · valid country code
Checks if a single phone number has an active WhatsApp account.
Response Examples
{
    "success": true,
    "message": "Phone checked",
    "timestamp": "2026-04-18T09:57:10.103Z",
    "data": {
        "exists": true,
        "jid": "[email protected]"
    }
}
200 OK
{
    "success": true,
    "message": "Phone checked",
    "timestamp": "2026-04-18T09:58:37.187Z",
    "data": {
        "exists": false,
        "jid": null
    }
}
200 OK
{
    "success": false,
    "message": "Device not connected",
    "timestamp": "2026-04-18T09:53:17.007Z",
    "data": null
}
Device offline
POST https://www.noti-fire.com/api/device/checkPhones Check Phones
Endpoint
/device/checkPhones
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredmax:50 · exists:devices,uuid
phonesarrayrequiredmin:1 · max:20 items
phones.*stringrequiredmax:25 · valid country code
Batch-checks up to 20 phone numbers for WhatsApp registration in one call.
Response Examples
{
    "success": true,
    "message": "Phones checked",
    "timestamp": "2026-04-18T10:00:04.907Z",
    "data": [
        {
            "phone": "+201xxxxxxxxx",
            "exists": false,
            "jid": null
        },
        {
            "phone": "+966xxxxxxxxx",
            "exists": true,
            "jid": "[email protected]"
        }
    ]
}
200 OK
{
    "success": false,
    "message": "The phones field is required.",
    "data": null,
    "timestamp": "2026-04-18 12:01:11"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/device/todayStats Today Stats
Endpoint
/device/todayStats
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Returns message counters (sent, failed, received) for the current calendar day.
Response Examples
{
    "success": true,
    "message": "Today stats",
    "timestamp": "2026-04-18T10:01:56.454Z",
    "data": {
        "device_id": "test",
        "date": "2026-04-18",
        "sent": 0,
        "received": 8,
        "failed": 0
    }
}
200 OK
{
    "success": false,
    "message": "The device id field is required.",
    "data": null,
    "timestamp": "2026-04-18 12:02:19"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/device/dailyStats Daily Stats
Endpoint
/device/dailyStats
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
daysintegerrequiredmin:1 · max:7
Returns a per-day breakdown of message statistics for the last N days (1–7).
Response Examples
{
    "success": true,
    "message": "Daily stats",
    "timestamp": "2026-04-18T10:03:04.126Z",
    "data": [
        {
            "device_id": "test",
            "date": "2026-04-18",
            "sent": 0,
            "received": 8,
            "failed": 0
        },
        {
            "device_id": "test",
            "date": "2026-04-19",
            "sent": 35,
            "received": 8,
            "failed": 0
        }
    ]
}
200 OK
{
    "success": false,
    "message": "The days field is required.",
    "data": null,
    "timestamp": "2026-04-18 12:02:42"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/device/AntiBanStats Anti-Ban Stats
Endpoint
/device/AntiBanStats
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Returns current message counts vs. configured rate-limit thresholds to assess ban risk.
Response Examples
{
    "success": true,
    "message": "Anti-ban stats",
    "timestamp": "2026-04-18T10:03:24.652Z",
    "data": {
        "rateLimit": false,
        "paused": false,
        "hourly": 0,
        "daily": 0,
        "maxPerHour": 30,
        "dailyLimit": 10,
        "maxPerDay": 200,
        "maxBulk": 50,
        "bulkDelayMs": 3000,
        "batchDelayMs": 10000
    }
}
200 OK
POST https://www.noti-fire.com/api/device/SetRateLimit Set Rate Limit
Endpoint
/device/SetRateLimit
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
maxPerHourintegerrequiredmin:1 · max:1000 — safe: 30–50
maxPerDayintegerrequiredmin:1 · max:10000 — safe: 200–500
maxBulkintegerrequiredmin:1 · max:1000 — safe: 20–30
bulkDelayMsintegerrequiredmin:1000 · max:60000 — safe: 3000 ms
batchDelayMsintegerrequiredmin:1000 · max:60000 — safe: 15000 ms
enabledbooleanrequiredtrue | false | 1 | 0
maxPerHour/Day cap totals. maxBulk is the batch size before a batchDelayMs pause. bulkDelayMs adds a random delay between each individual message.
Response Examples
{
    "success": true,
    "message": "Limits updated",
    "timestamp": "2026-04-18T10:03:38.174Z",
    "data": {
        "enabled": true,
        "maxPerHour": 60,
        "maxPerDay": 1000,
        "maxBulk": 10,
        "bulkDelayMs": 15000,
        "batchDelayMs": 3000
    }
}
200 OK
POST https://www.noti-fire.com/api/device/RateLimitEnable Rate Limit Enable
Endpoint
/device/RateLimitEnable
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Activates rate limiting without changing the existing configuration.
Response Examples
{
    "success": true,
    "message": "Rate limits enabled for this device",
    "timestamp": "2026-04-18T10:03:51.152Z",
    "data": {
        "enabled": true
    }
}
200 OK
POST https://www.noti-fire.com/api/device/RateLimitDisable Rate Limit Disable
Endpoint
/device/RateLimitDisable
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Disables rate limiting. Use with caution — high message rates risk ban.
Response Examples
{
    "success": true,
    "message": "Rate limits disabled for this device",
    "timestamp": "2026-04-18T10:04:04.629Z",
    "data": {
        "enabled": false
    }
}
200 OK
POST https://www.noti-fire.com/api/device/devicePause Device Pause
Endpoint
/device/devicePause
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Pauses all outgoing messages. Running bulk tasks are suspended.
Response Examples
{
    "success": true,
    "message": "Device paused",
    "timestamp": "2026-04-18T10:04:18.475Z",
    "data": null
}
200 OK
POST https://www.noti-fire.com/api/device/deviceResume Device Resume
Endpoint
/device/deviceResume
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Resumes sending after a pause. Suspended bulk tasks continue from where they stopped.
Response Examples
{
    "success": true,
    "message": "Device resumed",
    "timestamp": "2026-04-18T10:04:26.187Z",
    "data": null
}
200 OK
POST https://www.noti-fire.com/api/device/setAutoReplyDelay Set Reply Delay
Endpoint
/device/setAutoReplyDelay
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
delaySecondsintegerrequiredmin:5 · max:120
Sets a human-like typing delay (5–120 s) before auto-replies are sent.
Response Examples
{
    "success": true,
    "message": "Auto-reply delay updated",
    "timestamp": "2026-04-18T10:05:10.877Z",
    "data": {
        "device_id": "test",
        "autoReplyDelaySeconds": 30
    }
}
200 OK
{
    "success": false,
    "message": "The delay seconds field must be at least 5.",
    "data": null,
    "timestamp": "2026-04-18 12:05:24"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/device/listAutoReplies List Auto Replies
Endpoint
/device/listAutoReplies
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Returns all configured auto-reply rules. Blocked if autoreply feature is locked (count = 0).
Response Examples
{
    "success": true,
    "message": "Data retrieved successfully",
    "data": [
        {
            "id": 18,
            "keyword": "welcome",
            "response": "Hello, how can I help you today?",
            "matchType": "contains",
            "isActive": 1
        }
    ],
    "timestamp": "2026-04-18 12:09:18"
}
200 OK
POST https://www.noti-fire.com/api/device/createAutoReply Create Auto Reply
Endpoint
/device/createAutoReply
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
keywordstringrequiredmax:500
responsestringrequiredmax:1000
matchTypeenumrequiredexact | contains | startsWith | endsWith
isActivebooleanrequiredtrue | false | 1 | 0
Creates a new keyword-triggered rule. Blocked when device limit is reached or feature is locked.
Response Examples
{
    "success": true,
    "message": "Auto-reply created",
    "timestamp": "2026-04-18T10:06:01.119Z",
    "data": {
        "id": 1
    }
}
200 OK
{
    "success": false,
    "message": "This keyword already exists for this device",
    "timestamp": "2026-04-18T10:06:45.200Z",
    "data": null
}
200 OK — Duplicate
{
    "success": false,
    "message": "The keyword field is required.",
    "data": null,
    "timestamp": "2026-04-18 12:06:28"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/device/updateAutoReply Update Auto Reply
Endpoint
/device/updateAutoReply
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
autoReplyIdintegerrequiredNumeric ID from listAutoReplies
keywordstringrequiredmax:500
responsestringrequiredmax:1000
matchTypeenumrequiredexact | contains | startsWith | endsWith
Updates an existing auto-reply rule by its numeric ID.
Response Examples
{
    "success": true,
    "message": "Auto-reply updated",
    "timestamp": "2026-04-18T10:10:01.212Z",
    "data": null
}
200 OK
{
    "success": false,
    "message": "The auto reply id field is required.",
    "data": null,
    "timestamp": "2026-04-18 12:10:33"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/device/deleteAutoReply Delete Auto Reply
Endpoint
/device/deleteAutoReply
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
autoReplyIdintegerrequiredNumeric ID from listAutoReplies
Permanently deletes a single auto-reply rule.
Response Examples
{
    "success": true,
    "message": "Auto-reply deleted",
    "timestamp": "2026-04-18T10:11:26.432Z",
    "data": null
}
200 OK
{
    "success": false,
    "message": "The selected auto reply id is invalid.",
    "data": null,
    "timestamp": "2026-04-18 12:10:54"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/device/deleteAllAutoReplies Delete All Auto Replies
Endpoint
/device/deleteAllAutoReplies
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Deletes every auto-reply rule for this device. Irreversible.
Response Examples
{
    "success": true,
    "message": "All auto-replies deleted",
    "timestamp": "2026-04-18T10:12:30.229Z",
    "data": null
}
200 OK
POST https://www.noti-fire.com/api/device/toggleAutoReply Toggle Auto Reply
Endpoint
/device/toggleAutoReply
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
autoReplyIdintegerrequiredNumeric ID from listAutoReplies
Flips the active / inactive state of a single rule.
Response Examples
{
    "success": true,
    "message": "Auto-reply disabled",
    "timestamp": "2026-04-18T10:11:39.839Z",
    "data": {
        "isActive": false
    }
}
200 OK
{
    "success": false,
    "message": "The auto reply id field is required.",
    "data": null,
    "timestamp": "2026-04-18 12:11:54"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/device/activateAllAutoReplies Activate All
Endpoint
/device/activateAllAutoReplies
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Sets all auto-reply rules on this device to active at once.
Response Examples
{
    "success": true,
    "message": "All auto-replies activated",
    "timestamp": "2026-04-18T10:12:11.492Z",
    "data": null
}
200 OK
POST https://www.noti-fire.com/api/device/deactivateAllAutoReplies Deactivate All
Endpoint
/device/deactivateAllAutoReplies
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Sets all auto-reply rules on this device to inactive at once.
Response Examples
{
    "success": true,
    "message": "All auto-replies deactivated",
    "timestamp": "2026-04-18T10:12:21.358Z",
    "data": null
}
200 OK
The to field accepts multiple recipient types:
Phone  966500000000 Group ID  [email protected] JID  [email protected] LID  12345@lid
POST https://www.noti-fire.com/api/send/message Text Message
Endpoint
/send/message
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
tostringrequiredmax:50 — Phone · Group ID · JID · LID
messagestringrequiredmax:5000 characters
Sends a plain text message. Supports formatting: *bold*, _italic_, ~strikethrough~, ```mono```.
Response Examples
{
    "success": true,
    "message": "Message sent",
    "timestamp": "2026-04-18T10:14:59.763Z",
    "data": {
        "key": {
            "remoteJid": "[email protected]",
            "fromMe": true,
            "id": "3EB0105A30BEA7FD74A116"
        }
    }
}
200 OK
POST https://www.noti-fire.com/api/send/media Send Media
Endpoint
/send/media
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
tostringrequiredmax:50 — Phone · Group ID · JID · LID
mediaUrlurlrequiredvalid URL to the media file
typeenumrequiredimage | video | audio | document
captionstringoptionalmax:5000 — image / video / document only
isVoiceNotebooleanoptionaltrue | false — audio only (voice note bubble)
fileNamestringoptionalmax:255 — document only
Single endpoint for all media types. Extra fields are validated per type server-side.
Response Examples
{
    "success": true,
    "message": "Image sent",
    "timestamp": "2026-04-18T10:15:23.197Z",
    "data": {
        "key": {
            "remoteJid": "[email protected]",
            "fromMe": true,
            "id": "3EB0D892CCC9F0E8DD01C6"
        }
    }
}
200 OK — type: image
{
    "success": true,
    "message": "Video sent",
    "timestamp": "2026-04-18T10:16:03.601Z",
    "data": {
        "key": {
            "remoteJid": "[email protected]",
            "fromMe": true,
            "id": "3EB04A8C8FCCF3AE289ACD"
        }
    }
}
200 OK — type: video
{
    "success": true,
    "message": "Audio sent",
    "timestamp": "2026-04-18T10:16:35.188Z",
    "data": {
        "key": {
            "remoteJid": "[email protected]",
            "fromMe": true,
            "id": "3EB098B7405270072A2AA9"
        }
    }
}
200 OK — type: audio
{
    "success": true,
    "message": "Document sent",
    "timestamp": "2026-04-18T10:16:49.468Z",
    "data": {
        "key": {
            "remoteJid": "[email protected]",
            "fromMe": true,
            "id": "3EB045ADF74C15AAC90B69"
        }
    }
}
200 OK — type: document
POST https://www.noti-fire.com/api/send/contact Send Contact
Endpoint
/send/contact
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
tostringrequiredmax:50 — Phone · Group ID · JID · LID
contact_namestringrequiredmax:100
contact_phonestringrequiredmax:25 · valid country code
Sends a WhatsApp contact card to the recipient.
Response Examples
{
    "success": true,
    "message": "Contact sent",
    "timestamp": "2026-04-18T10:17:03.418Z",
    "data": {
        "key": {
            "remoteJid": "[email protected]",
            "fromMe": true,
            "id": "3EB02F3BBE3A3B7656AA27"
        }
    }
}
200 OK
POST https://www.noti-fire.com/api/send/location Send Location
Endpoint
/send/location
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
tostringrequiredmax:50 — Phone · Group ID · JID · LID
latitudenumericrequiredbetween: -90 and 90
longitudenumericrequiredbetween: -180 and 180
Sends a map pin. Example: latitude 37.7749, longitude -122.4194 (San Francisco).
Response Examples
{
    "success": true,
    "message": "Location sent",
    "timestamp": "2026-04-18T10:17:18.804Z",
    "data": {
        "key": {
            "remoteJid": "[email protected]",
            "fromMe": true,
            "id": "3EB022579239DAE19CD447"
        }
    }
}
200 OK
POST https://www.noti-fire.com/api/send/sticker Send Sticker
Endpoint
/send/sticker
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
tostringrequiredmax:50 — Phone · Group ID · JID · LID
stickerUrlurlrequiredvalid URL — WebP format recommended
Sends a sticker from a URL. Use WebP format for best WhatsApp compatibility.
Response Examples
{
    "success": true,
    "message": "Sticker sent",
    "timestamp": "2026-04-18T10:17:33.931Z",
    "data": {
        "key": {
            "remoteJid": "[email protected]",
            "fromMe": true,
            "id": "3EB0E7B6FC105CC9A3AD31"
        }
    }
}
200 OK
POST https://www.noti-fire.com/api/send/reaction Send Reaction
Endpoint
/send/reaction
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
tostringrequiredmax:50 — Phone · Group ID · JID · LID
message_idstringrequiredmax:100 — ID of the message to react to
emojistringrequiredmax:10
from_mebooleanoptionaltrue | false | 1 | 0
Adds an emoji reaction to an existing message by its ID.
Response Examples
{
    "success": true,
    "message": "Reaction sent",
    "timestamp": "2026-04-18T10:18:35.889Z",
    "data": {
        "key": {
            "remoteJid": "[email protected]",
            "fromMe": true,
            "id": "3EB04D59ECB4ED5A851209"
        }
    }
}
200 OK
POST https://www.noti-fire.com/api/send/editMessage Edit Message
Endpoint
/send/editMessage
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
tostringrequiredmax:50 — Phone · Group ID · JID · LID
message_idstringrequiredmax:100
new_messagestringrequiredmax:5000
Edits a previously sent text message. Only works on messages sent by this device.
Response Examples
{
    "success": true,
    "message": "Message edited",
    "timestamp": "2026-04-18T10:18:49.953Z",
    "data": {
        "key": {
            "remoteJid": "[email protected]",
            "fromMe": true,
            "id": "3EB06B1FDAB071892B64FB"
        }
    }
}
200 OK
POST https://www.noti-fire.com/api/send/deleteMessage Delete Message
Endpoint
/send/deleteMessage
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
tostringrequiredmax:50 — Phone · Group ID · JID · LID
message_idstringrequiredmax:100
from_mebooleanoptionaltrue | false | 1 | 0
Deletes a message for everyone in the chat.
Response Examples
{
    "success": true,
    "message": "Message deleted",
    "timestamp": "2026-04-18T10:19:16.172Z",
    "data": {
        "key": {
            "remoteJid": "[email protected]",
            "fromMe": true,
            "id": "3EB0BD8F5C48A615BBC8A7"
        }
    }
}
200 OK
The to field accepts multiple recipient types:
Phone  966500000000 Group ID  [email protected] JID  [email protected] LID  12345@lid
Content-Type: multipart/form-data
This endpoint requires a file upload. Send as form-data, not JSON.
POST https://www.noti-fire.com/api/send/media/file Send Media File
Endpoint
/send/media/file
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
tostringrequiredmax:50 — Phone · Group ID · JID · LID
typeenumrequiredimage | video | audio | document
filefilerequiredupload — see allowed formats per type below
captionstringoptionalmax:5000 — image / video / document only
isVoiceNotebooleanoptionaltrue | false — audio only (voice note bubble)
fileNamestringoptionalmax:255 — document only
Allowed File Types per type
type valueAllowed formatsMax size
imagejpg, jpeg, png5 MB
videomp4 (H.264 + AAC)16 MB
audioaac, amr, mp3, m4a, ogg (OPUS)16 MB
documenttxt, pdf, doc, docx, xls, xlsx, ppt, pptx100 MB
Uploads a local file and sends it as a WhatsApp message. The file is stored temporarily on the server. Use multipart/form-data.
Response Examples
{
    "success": true,
    "message": "Image sent",
    "timestamp": "2026-04-18T10:22:10.857Z",
    "data": {
        "key": {
            "remoteJid": "[email protected]",
            "fromMe": true,
            "id": "3EB0E808424D14B0F119D5"
        }
    }
}
200 OK — type: image
{
    "success": true,
    "message": "Video sent",
    "timestamp": "2026-04-18T10:24:37.633Z",
    "data": {
        "key": {
            "remoteJid": "[email protected]",
            "fromMe": true,
            "id": "3EB0B8752080BC387A6921"
        }
    }
}
200 OK — type: video
{
    "success": true,
    "message": "Audio sent",
    "timestamp": "2026-04-18T10:25:21.313Z",
    "data": {
        "key": {
            "remoteJid": "[email protected]",
            "fromMe": true,
            "id": "3EB09FC5A87D3F27D81DB4"
        }
    }
}
200 OK — type: audio
{
    "success": true,
    "message": "Document sent",
    "timestamp": "2026-04-18T10:25:48.901Z",
    "data": {
        "key": {
            "remoteJid": "[email protected]",
            "fromMe": true,
            "id": "3EB0D23326E5E1CE9701E6"
        }
    }
}
200 OK — type: document
POST https://www.noti-fire.com/api/sendOtp Send OTP
Endpoint
/sendOtp
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
phonestringrequiredmax:20 · phone with country code — e.g. 966500000000
expire_minutesintegeroptionaldefault: 5 — expiration time in minutes
code_lengthintegeroptionaldefault: 4 — length of the OTP code
messagestringoptionalcustom message — use :code as placeholder for the OTP
Sends a one-time password via WhatsApp. Use :code in your custom message to inject the generated code. Example: "Your OTP Is: :code"
Response Examples
{
    "success": true,
    "message": "OTP code sent successfully",
    "data": null,
    "timestamp": "2026-04-18 13:42:41"
}
200 OK
{
    "success": false,
    "message": "The phone field is required.",
    "data": null,
    "timestamp": "2026-04-18 13:37:44"
}
422 Unprocessable Content
POST https://www.noti-fire.com/api/verifyOtp Verify OTP
Endpoint
/verifyOtp
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
phonestringrequiredmax:20 · must match the phone used in sendOtp
codestringrequiredthe OTP code received on the phone
Verifies the OTP code previously sent to the phone number. Returns success if the code is valid and not expired.
Response Examples
{
    "success": true,
    "message": "OTP verified successfully",
    "data": null,
    "timestamp": "2026-04-18 13:43:43"
}
200 OK
{
    "success": false,
    "message": "Invalid OTP code",
    "data": null,
    "timestamp": "2026-04-18 13:43:03"
}
401 Unauthorized
The numbers array accepts multiple recipient types:
Phone  966500000000 Group ID  [email protected] JID  [email protected] LID  12345@lid
POST https://www.noti-fire.com/api/send/bulk/text Bulk Text
Endpoint
/send/bulk/text
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
numbersarrayrequiredmin:1 · max:200 items
messagestringrequiredmax:5000 characters
delayMsintegerrequiredmin:3000 · max:120000 ms
maxPerBatchintegerrequiredmin:2 · max:20
Sends a text to up to 200 recipients as an async background task. Returns a taskId for tracking.
Response Examples
{
    "success": true,
    "message": "Bulk task started for 5 numbers",
    "timestamp": "2026-04-18T10:26:33.863Z",
    "data": {
        "taskId": "bulk_1776507993863_zz7al9",
        "total": 5
    }
}
200 OK
POST https://www.noti-fire.com/api/send/bulk/image Bulk Image
Endpoint
/send/bulk/image
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
numbersarrayrequiredmin:1 · max:200
urlurlrequiredvalid URL · max:1000
captionstringoptionalmax:5000
delayMsintegerrequiredmin:3000 · max:120000
maxPerBatchintegerrequiredmin:2 · max:20
Response Examples
{
    "success": true,
    "message": "Bulk task started for 2 numbers",
    "timestamp": "2026-04-18T10:28:39.793Z",
    "data": {
        "taskId": "bulk_1776508119793_rji6ew",
        "total": 2
    }
}
200 OK
POST https://www.noti-fire.com/api/send/bulk/video Bulk Video
Endpoint
/send/bulk/video
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
numbersarrayrequiredmin:1 · max:200
urlurlrequiredvalid URL · max:1000
captionstringoptionalmax:5000
delayMsintegerrequiredmin:3000 · max:120000
maxPerBatchintegerrequiredmin:2 · max:20
Response Examples
{
    "success": true,
    "message": "Bulk task started for 2 numbers",
    "timestamp": "2026-04-18T10:29:44.946Z",
    "data": {
        "taskId": "bulk_1776508184946_6ahegb",
        "total": 2
    }
}
200 OK
POST https://www.noti-fire.com/api/send/bulk/audio Bulk Audio
Endpoint
/send/bulk/audio
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
numbersarrayrequiredmin:1 · max:200
urlurlrequiredvalid URL · max:1000
pttbooleanrequiredtrue = voice note bubble · false = audio file
delayMsintegerrequiredmin:3000 · max:120000
maxPerBatchintegerrequiredmin:2 · max:20
Set ptt: true to display as a voice note bubble instead of an audio attachment.
Response Examples
{
    "success": true,
    "message": "Bulk task started for 2 numbers",
    "timestamp": "2026-04-18T10:30:09.110Z",
    "data": {
        "taskId": "bulk_1776508209110_cnf2ny",
        "total": 2
    }
}
200 OK
POST https://www.noti-fire.com/api/send/bulk/document Bulk Document
Endpoint
/send/bulk/document
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
numbersarrayrequiredmin:1 · max:200
urlurlrequiredvalid URL · max:1000
fileNamestringoptionalmax:255
captionstringoptionalmax:5000
delayMsintegerrequiredmin:3000 · max:120000
maxPerBatchintegerrequiredmin:2 · max:20
Response Examples
{
    "success": true,
    "message": "Bulk task started for 2 numbers",
    "timestamp": "2026-04-18T10:30:36.125Z",
    "data": {
        "taskId": "bulk_1776508236124_777tyw",
        "total": 2
    }
}
200 OK
POST https://www.noti-fire.com/api/send/bulk/location Bulk Location
Endpoint
/send/bulk/location
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
numbersarrayrequiredmin:1 · max:200
latitudenumericrequiredbetween: -90 and 90
longitudenumericrequiredbetween: -180 and 180
delayMsintegerrequiredmin:3000 · max:120000
maxPerBatchintegerrequiredmin:2 · max:20
Response Examples
{
    "success": true,
    "message": "Bulk task started for 2 numbers",
    "timestamp": "2026-04-18T10:30:48.113Z",
    "data": {
        "taskId": "bulk_1776508248113_4tisv4",
        "total": 2
    }
}
200 OK
POST https://www.noti-fire.com/api/send/bulk/contact Bulk Contact
Endpoint
/send/bulk/contact
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
numbersarrayrequiredmin:1 · max:200
contact_namestringrequiredmax:255
contact_phonestringrequiredmax:25 · valid country code
delayMsintegerrequiredmin:3000 · max:120000
maxPerBatchintegerrequiredmin:2 · max:20
Response Examples
{
    "success": true,
    "message": "Bulk task started for 2 numbers",
    "timestamp": "2026-04-18T10:30:59.728Z",
    "data": {
        "taskId": "bulk_1776508259728_x4rz19",
        "total": 2
    }
}
200 OK
POST https://www.noti-fire.com/api/bulk/task/status Bulk Task Status
Endpoint
/bulk/task/status
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
taskIdstringrequiredmax:50 — e.g. bulk_1775412239751_rr9e4s
Polls the progress and delivery counts of a running or completed bulk task.
Response Examples
{
    "success": true,
    "message": "Task status: processing",
    "timestamp": "2026-04-18T10:26:58.573Z",
    "data": {
        "device_id": "test",
        "status": "processing",
        "total": 5,
        "sent": 4,
        "failed": 0,
        "results": []
    }
}
200 OK — still running
{
    "success": true,
    "message": "Task status: completed",
    "timestamp": "2026-04-18T10:27:25.201Z",
    "data": {
        "device_id": "test",
        "status": "completed",
        "total": 5,
        "sent": 5,
        "failed": 0,
        "results": [
            { "number": "201xxxxxxxxx", "status": "sent" },
            { "number": "966xxxxxxxxx", "status": "sent" }
        ]
    }
}
200 OK — done
POST https://www.noti-fire.com/api/bulk/task/delete Bulk Task Delete
Endpoint
/bulk/task/delete
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
taskIdstringrequiredmax:50
Cancels and removes a pending or running bulk task.
Response Examples
{
    "success": true,
    "message": "Bulk task cancellation requested. It will stop at the next iteration.",
    "timestamp": "2026-04-18T10:28:46.503Z",
    "data": null
}
200 OK
POST https://www.noti-fire.com/api/groups/list Groups List
Endpoint
/groups/list
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
Returns all WhatsApp groups this device is a member of.
Response Examples
{
    "success": true,
    "message": "Groups retrieved",
    "timestamp": "2026-04-18T10:31:24.503Z",
    "data": {
        "total": 1,
        "groups": [
            {
                "id": "[email protected]",
                "name": "test group",
                "memberCount": 3,
                "adminsCount": 1,
                "creation": 1774539280,
                "pictureUrl": "https://pps.whatsapp.net/........."
            }
        ]
    }
}
200 OK
POST https://www.noti-fire.com/api/group/info Group Info
Endpoint
/group/info
Method
POST
Response
application/json
Parameters
NameTypeStatusValidation & Notes
device_idstringrequiredYour unique device identifier
group_idstringrequiredmax:100 — e.g. [email protected]
Returns group metadata: name, description, participants, admins. Requires export_group feature enabled on device.
Response Examples
{
    "success": true,
    "message": "Group info",
    "timestamp": "2026-04-18T10:32:26.674Z",
    "data": {
        "groupId": "[email protected]",
        "groupName": "test group",
        "pictureUrl": "https://pps.whatsapp.net/......",
        "description": "Hello, this is a test description!",
        "creation": 1774539280,
        "totalMembers": 3,
        "members": [
            {
                "name": null,
                "jid": "16284xxxxxxxxxx@lid",
                "phoneNumber": "16284xxxxxxxxxx",
                "admin": "admin",
                "isMe": false,
                "isLid": true
            },
            {
                "name": null,
                "jid": "16284xxxxxxxxxx@lid",
                "phoneNumber": "16284xxxxxxxxxx",
                "admin": null,
                "isMe": true,
                "isLid": true
            }
        ],
        "admins": [ "16284xxxxxxxxxx" ],
        "announce": false,
        "restrict": true
    }
}
200 OK