نوتي فاير - Noti Fire API Documentation
Powerful WhatsApp messaging API for developers
Fast Delivery
Send thousands of messages in seconds with high delivery rates
Secure & Reliable
Enterprise-grade security with 99.9% uptime guarantee
Easy Integration
Simple REST API with comprehensive documentation
24/7 Support
Dedicated technical support team ready to help
Important Information
- All requests must be made over HTTPS
- Request and response format: JSON
- Base API URL:
https://www.noti-fire.com/api/ - Rate limit: 60 requests per minute
Authentication
All API requests require a valid device ID. You can obtain your device ID from the dashboard after setting up your WhatsApp device.
Device Connect
Connect and initialize your WhatsApp device before sending messages. This endpoint verifies device ownership and prepares the device for sending messages.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id |
string | Required | Your unique device identifier |
username |
string | Required | Your account username |
Example Request
curl -X POST https://www.noti-fire.com/api/device/connect \
-H "Content-Type: application/json" \
-d '{
"device_id": "your-device-uuid-here",
"username": "your-username-here"
}'
Response When QR Code generated
{
"success": true,
"message": "QR Code generated",
"data": {
"sessionId": "your-device-id-here",
"status": "waiting_for_scan",
"qrCode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}
}
Response When Device is Connected
{
"success": true,
"message": "Session connected",
"data": {
"sessionId": "your-device-id-here",
"status": "connected"
},
"timestamp": "2025-11-11T18:10:03.478Z"
}
Error Response - Invalid Credentials
{
"status": false,
"message": "The device id field is required.",
"errors": {
"device_id": [
"The device id field is required."
],
"username": [
"The username field is required."
]
},
"data": null
}
Error Response - Device Expired
{
"status": false,
"message": "This device has expired on 2025-11-11",
"errors": null,
"data": null
}
Integration Tips:
- Call this endpoint once before starting to send messages
- Store the connection status and check periodically
- If status is "qr", display the QR code for scanning
- After scanning, the device will automatically connect
- Once connected, you can start sending messages immediately
Device Info
Get detailed information about a specific device including connection status, configuration, and subscription details.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id |
string | Required | Your unique device identifier (max: 100 characters) |
username |
string | Required | Your account username |
Example Request
curl -X POST https://www.noti-fire.com/api/device/info \
-H "Content-Type: application/json" \
-d '{
"device_id": "your-device-uuid-here",
"username": "your-username-here"
}'
Success Response
{
"status": true,
"message": null,
"errors": null,
"data": {
"device_id": "your-device-id-here",
"name": "Noti Fire",
"expiry_date": "2025-11-11",
"created_at": "2025-02-10 11:09 AM",
"status": "فعال",
"remaining": 17
}
}
Error Response - Invalid Credentials
{
"status": false,
"message": "The username field is required.",
"errors": {
"username": [
"The username field is required."
],
"device_id": [
"The device id field is required."
]
},
"data": null
}
Device Logout
Disconnect and logout a device from WhatsApp. This will remove the WhatsApp session from the device.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id |
string | Required | Your unique device identifier (max: 100 characters) |
username |
string | Required | Your account username |
Example Request
curl -X POST https://www.noti-fire.com/api/device/logout \
-H "Content-Type: application/json" \
-d '{
"device_id": "your-device-uuid-here",
"username": "your-username-here"
}'
Success Response
{
"success": false,
"message": "Session not found"
}
{
"success": true,
"message": "Logged out successfully"
}
Error Response - Invalid Credentials
{
"status": false,
"message": "The username field is required.",
"errors": {
"username": [
"The username field is required."
],
"device_id": [
"The device id field is required."
]
},
"data": null
}
Usage Tips:
- Use this endpoint when you need to disconnect a device remotely
- After logout, the device will need to be reconnected via QR code
- Useful for security purposes or device management
- Call
/device/connectagain to reconnect the device
Get User Devices
Retrieve a list of all devices associated with your account, including their status, expiry dates, and other details.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
username |
string | Required | Your account username |
Example Request
curl -X POST https://www.noti-fire.com/api/user/devices \
-H "Content-Type: application/json" \
-d '{
"username": "your-username-here"
}'
Success Response
{
"status": true,
"message": null,
"errors": null,
"data": [
{
"uuid": "863e2620-aed5-41e8-8004-f3d3d8af0665",
"name": "Noti Fire",
"expiry_date": "2025-11-11",
"created_at": "2025-02-10 11:09 AM",
"status": "منتهي",
"remaining": 0
},
{
"uuid": "f9b465e2-13f1-43fc-9b69-ff0b7eae7c7e",
"name": "device 2",
"expiry_date": "2025-12-04",
"created_at": "2025-11-15 10:14 AM",
"status": "فعال",
"remaining": 18
}
]
}
Error Response - Invalid Username
{
"status": false,
"message": "The selected username is invalid.",
"errors": {
"username": [
"The selected username is invalid."
]
},
"data": null
}
Usage Tips:
- Use this endpoint to list all available devices in your application
- Check the
statusfield before sending messages - Filter devices by
remainingdays to show expiring devices - Display
remainingdays to alert users about upcoming expirations
Send Text Message
Send a text message to a specific WhatsApp number.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id |
string | Required | Your unique device identifier |
to |
string | Required | Phone number with country code (max: 20 characters) |
message |
string | Required | Text message content (max: 4000 characters) |
Example Request
curl -X POST https://www.noti-fire.com/api/send/message \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-123-456-789",
"to": "+2010xxxxxxxx",
"message": "Hello! This is a test message from نوتي فاير - Noti Fire API"
}'
Send Message With Link Preview
Send a text message that includes a URL, which will generate a link preview in WhatsApp.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id |
string | Required | Your unique device identifier |
to |
string | Required | Phone number with country code (max: 20 characters) |
message |
string | Required | Text message content including the URL (max: 4000 characters) |
linkPreview |
array | Required | Link preview data |
linkPreview.title |
string | Required | Title of the link preview (max: 100 characters) |
linkPreview.body |
string | Required | Body of the link preview (max: 255 characters) |
linkPreview.sourceUrl |
string | Required | Source URL of the link preview (max: 1000 characters) |
linkPreview.thumbnailUrl |
string | Required | Thumbnail image URL (max: 1000 characters) |
linkPreview.renderLargerThumbnail |
boolean | Required | Whether to render a larger thumbnail |
Example Request
curl -X POST https://www.noti-fire.com/api/send/link/preview \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-123-456-789",
"to": "+2010xxxxxxxx",
"message": "Hello! This is a test message from نوتي فاير - Noti Fire API"
"linkPreview": {
"title": "NotiFire - WhatsApp API",
"body": "Powerful WhatsApp messaging API for developers",
"sourceUrl": "https://www.noti-fire.com",
"thumbnailUrl": "https://www.noti-fire.com/uploads/files/shares/logo.jpg",
"renderLargerThumbnail": true
}
}'
Send Bulk Messages
Send the same message to multiple recipients in a single request.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id |
string | Required | Your unique device identifier |
message |
string | Required | Text message content (max: 4000 characters) |
numbers |
array | Required | Array of phone numbers (max: 20 numbers) |
Example Request
curl -X POST https://www.noti-fire.com/api/send/bulk/message \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-123-456-789",
"message": "Hello! This is a bulk message",
"numbers": ["+2010xxxxxxxx", "+201111111111", "+201222222222"]
}'
Send Media (URL)
Send media files (images, videos, audio, PDFs) using a URL.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id |
string | Required | Your unique device identifier |
to |
string | Required | Phone number with country code (max: 20 characters) |
type |
string | Required | Media type: image, video, audio, pdf |
mediaUrl |
string | Required | URL of the media file (max: 1000 characters) |
caption |
string | Optional | Caption for image/video/pdf (max: 4000 characters) |
isVoiceNote |
boolean | Audio only | Send audio as voice note (true/false) |
fileName |
string | PDF only | Custom filename for PDF (max: 100 characters) |
Example Request - Image
curl -X POST https://www.noti-fire.com/api/send/media \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-123-456-789",
"to": "+2010xxxxxxxx",
"type": "image",
"mediaUrl": "https://example.com/image.jpg",
"caption": "Beautiful sunset!"
}'
Example Request - Video
curl -X POST https://www.noti-fire.com/api/send/media \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-123-456-789",
"to": "+2010xxxxxxxx",
"type": "video",
"mediaUrl": "https://example.com/video.mp4",
"caption": "Beautiful sunset!"
}'
Example Request - Audio
curl -X POST https://www.noti-fire.com/api/send/media \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-123-456-789",
"to": "+2010xxxxxxxx",
"type": "audio",
"mediaUrl": "https://example.com/audio.mp3",
"isVoiceNote": true
}'
Example Request - PDF
curl -X POST https://www.noti-fire.com/api/send/media \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-123-456-789",
"to": "+2010xxxxxxxx",
"type": "pdf",
"mediaUrl": "https://example.com/doc.pdf",
"fileName": "invoce-123.pdf",
"caption": "caption",
}'
Send Media (File Upload)
Upload and send media files directly from your server.
- Supported formats: JPEG, PNG, JPG, GIF, MP4, MOV, AVI, MKV, MP3, WAV, PDF
- Maximum file size: 10MB
- Use multipart/form-data for file uploads
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id |
string | Required | Your unique device identifier |
to |
string | Required | Phone number with country code (max: 20 characters) |
type |
string | Required | Media type: image, video, audio, pdf |
mediaUrl |
file | Required | The media file to upload (max: 10MB) |
caption |
string | Optional | Caption for image/video/pdf (max: 4000 characters) |
isVoiceNote |
boolean | Audio only | Send audio as voice note (true/false) |
fileName |
string | PDF only | Custom filename for PDF (max: 100 characters) |
Example Request - Image
curl -X POST https://www.noti-fire.com/api/send/media/file \
-H "Content-Type: multipart/form-data" \
-F "device_id=test-123-456-789" \
-F "to=+2010xxxxxxxx" \
-F "type=image" \
-F "mediaUrl=@/path/to/image.png" \
-F "caption=Uploaded image"
Example Request - Video
curl -X POST https://www.noti-fire.com/api/send/media/file \
-H "Content-Type: multipart/form-data" \
-F "device_id=test-123-456-789" \
-F "to=+2010xxxxxxxx" \
-F "type=video" \
-F "file=@/path/to/video.mp4" \
-F "caption=Uploaded video"
Example Request - Audio
curl -X POST https://www.noti-fire.com/api/send/media/file \
-H "Content-Type: multipart/form-data" \
-F "device_id=test-123-456-789" \
-F "to=+2010xxxxxxxx" \
-F "type=audio" \
-F "file=@/path/to/audio.mp3" \
-F "isVoiceNote=true"
Example Request - PDF
curl -X POST https://www.noti-fire.com/api/send/media/file \
-H "Content-Type: multipart/form-data" \
-F "device_id=test-123-456-789" \
-F "to=+2010xxxxxxxx" \
-F "type=pdf" \
-F "file=@/path/to/document.pdf" \
-F "fileName=invoice-123.pdf" \
-F "caption=Invoice document"
Send Contact
Share contact information as a vCard.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id |
string | Required | Your unique device identifier |
to |
string | Required | Recipient phone number (max: 20 characters) |
contact_name |
string | Required | Contact's name (max: 25 characters) |
contact_phone |
string | Required | Contact's phone number (max: 20 characters) |
Example Request
curl -X POST https://www.noti-fire.com/api/send/contact \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-123-456-789",
"to": "+2010xxxxxxxx",
"contact_name": "John Doe",
"contact_phone": "+201111111111"
}'
Send Location
Share geographical coordinates as a location pin.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id |
string | Required | Your unique device identifier |
to |
string | Required | Recipient phone number (max: 20 characters) |
latitude |
numeric | Required | Latitude coordinate (range: -90 to 90) |
longitude |
numeric | Required | Longitude coordinate (range: -180 to 180) |
Example Request
curl -X POST https://www.noti-fire.com/api/send/location \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-123-456-789",
"to": "+2010xxxxxxxx",
"latitude": "30.4589847",
"longitude": "31.1472218"
}'
Send Group Messages
Send various types of messages to WhatsApp groups.
Base Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id |
string | Required | Your unique device identifier |
group_id |
string | Required | WhatsApp group ID (max: 50 characters) |
type |
string | Required | Message type: text, image, video, audio, document, contact, location |
Type-specific Parameters
Text Message
curl -X POST https://www.noti-fire.com/api/group/send/message \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-123-456-789",
"group_id": "[email protected]",
"type": "text",
"text": "Hello group members!"
}'
Image/Video Message
curl -X POST https://www.noti-fire.com/api/group/send/message \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-123-456-789",
"group_id": "[email protected]",
"type": "image",
"url": "https://example.com/image.jpg",
"caption": "Check out this image!"
}'
Audio Message
curl -X POST https://www.noti-fire.com/api/group/send/message \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-123-456-789",
"group_id": "[email protected]",
"type": "audio",
"url": "https://example.com/audio.mp3",
"ptt": true
}'
Contact Message
curl -X POST https://www.noti-fire.com/api/group/send/message \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-123-456-789",
"group_id": "[email protected]",
"type": "contact",
"name": "John Doe",
"phoneNumber": "+2010xxxxxxxx"
}'
Location Message
curl -X POST https://www.noti-fire.com/api/group/send/message \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-123-456-789",
"group_id": "[email protected]",
"type": "location",
"latitude": "31.1472218",
"longitude": "30.4589847"
}'
Error Codes
Understanding API error responses and how to handle them.
| Status Code | Error Type | Description | Solution |
|---|---|---|---|
400 |
Bad Request | Invalid request parameters | Check your request format and required fields |
401 |
Unauthorized | Invalid or missing device ID | Verify your device ID is correct |
403 |
Forbidden | Device not connected or suspended | Check device status in dashboard |
429 |
Too Many Requests | Rate limit exceeded | Slow down your requests |
500 |
Internal Server Error | Server-side error | Contact support if persistent |
Rate Limits
API usage limits and best practices.
- 60 requests per minute
- Unlimited messages
- Max 20 numbers per bulk request
- Max 4000 characters per message
Need Help?
Our technical support team is here to help you integrate successfully.