نوتي فاير - Noti Fire API Documentation

Powerful WhatsApp messaging API for developers

REST API JSON HTTPS
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.

Note: Keep your device ID secure and never share it publicly. Each device ID is unique to your WhatsApp connection.

Device Connect

Connect and initialize your WhatsApp device before sending messages. This endpoint verifies device ownership and prepares the device for sending messages.

POST https://www.noti-fire.com/api/device/connect
Important: This step must be completed before you can send any messages through the API. The device must be active and properly configured in your dashboard.
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.

POST https://www.noti-fire.com/api/device/info
Use Case: Use this endpoint to check device status, connection state, and configuration before sending messages.
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.

POST https://www.noti-fire.com/api/device/logout
Warning: This action will disconnect the device from WhatsApp. You will need to scan the QR code again to reconnect.
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/connect again 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.

POST https://www.noti-fire.com/api/user/devices
Use Case: This endpoint is useful for displaying all user devices, checking their status, and managing multiple devices from your application.
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 status field before sending messages
  • Filter devices by remaining days to show expiring devices
  • Display remaining days to alert users about upcoming expirations

Send Text Message

Send a text message to a specific WhatsApp number.

POST https://www.noti-fire.com/api/send/message
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 Bulk Messages

Send the same message to multiple recipients in a single request.

POST https://www.noti-fire.com/api/send/bulk/message
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.

POST https://www.noti-fire.com/api/send/media
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.

POST https://www.noti-fire.com/api/send/media/file
File Requirements:
  • 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.

POST https://www.noti-fire.com/api/send/contact
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.

POST https://www.noti-fire.com/api/send/location
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.

POST https://www.noti-fire.com/api/group/send/message
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.

Response time: Usually within 2 hours