All of the API routes require headers with the token key.
The token key should be included in the Authorization HTTP header.
The key should be prefixed by the literal "Token" string, whitespace separating the two strings.
Dashboard API:
Enable Critical Mode (Proxidize Business Only)
Critical Mode removes the dashboard's admin name, Live chat button, and key device identifiers to ensure all security measures are met.
GET api/crit_mode
Parameters:
a. toggle: Accepts the keywords enable or disable only.
b. key: The last 5 characters from the Proxidize license key.
Examples:
Enable Critical Mode: http://example.com/api/crit_mode?toggle=enable&key=Ffx!r
Disable Critical Mode:http://example.com/api/crit_mode?toggle=disable&key=Ffx!r
Response: Successfully enabled/disabled critical mode
Errors:
1. Invalid toggle value or incorrect key:
"ERROR: Invalid request"
2. API Error:
"There was an error handling your request"
Modems' Operations API
Retrieve Modems' Information
GET /api/getinfo
Example:http://localhost/api/getinfo
Response: JSON Object with all modem information.
Rebooting a Specific Modem
GET /api/reboot_modem?index=MODEM_INDEX
*Reboots modem with index=1*
Response: Status message
Rotate API:
Rotate All Modems
GET /api/rotate
Example: http://localhost/api/rotateResponse: Status message
Rotate a Specific Modem
The authorization token should be included in the header.
GET /api/change_ip?index=MODEM_INDEX
*Rotates modem with index = 1*
Example: http://localhost/api/change_ip?index=1
Response: Status messageRotate Specific Modem With Rotation Token
This option should be enabled from the Proxidize web interface by setting a custom token.
GET /api/change_ip?index=MODEM_INDEX&rtoken= ROTATION_API_TOKEN
*Rotates modem with index = 1 authenticated by the custom set rotation token*
Example: http://localhost/api/change_ip?index=1&rtoken=johndoe123Response: Status message
Rotate a Shared Proxy
GET /api/sproxy/rotate
Parameters:
proxy_port: is the shared proxy's port.
proxy_pass: is the password of the proxy.
Example: http://localhost/api/sproxy/rotate?proxy_port=21035&proxy_pass=very_secure_password142
Response: Status message
Set Custom Rotation Interval
GET /api/custom_rot?index=DONGLE_INDEX&day=VALUE&hour=VALUE&min=VALUE
Index (required): can be set to a specific modem index or the keyword "all" to set the same rotation value for all plugged modems.
Interval Parameters: Only use one of them at a time
- Day: rotation value in days minimum is 0 maximum is 29
- Hour: rotation value in hours minimum is 0 maximum is 22
- Min: rotation value in minutes minimum is 0 maximum is 58
Example: Set the rotation value for dongle with index 5 to rotate every 2 daysExample 2: Set the rotation value for all dongles to rotate every 8 hours:
http://localhost/api/custom_rot?index=all&hour=8
Response: Status message
SMS API
View SMS for a Specific ModemGET /api/sms/get?index=MODEM_INDEX
*Returns all the received SMS messages for modem with index 1*
Example: http://localhost/api/sms/get?index=1
Response: JSON Object containing SMS messages with their details (date, sender's phone, message and content)
Send SMS From a Modem to Any Phone Number
GET /api/sms/send?index=MODEM_INDEX&phone=PHONE&message=MESSAGE
Response: Status message
Delete a single SMS message
GET api/delete_sms?sms_id=SMS_ID&modem_index=Modem_index
Response: Delete SMS requested for message id XXX on modem index XXX
ERROR: There was an error deleting SMS message(s).
Delete Multiple SMS Messages: (Separate SMS IDs with a comma)
Note: You can get the SMS IDs from the "Message ID" column on your SMS page
GET api/delete_sms?sms_id=SMS_ID1,SMS_ID2,SMS_ID3&modem_index=Modem_index
Response: Successfully deleted all SMS messages.
ERROR: There was an error deleting sms message(s).
Get SMS by modem's phone number: (Proxidize Business only)
Parameters: Modem's phone number
GET api/sms/fetch_sms_phone_number
Example: https://example.com/api/sms/fetch_sms_phone_number?phone_number=19628522851
Responses: JSON response with SMS from the provided number.
{ "phone_number": "1234", "modem_index": XX, "message": "SMS messages fetched successfully.", "sms_messages": [ { "date": "04-02-2023 04:21:54", "phone": [ "XXXXXXXXX" ], "content": "Example API message", "sms_id": 51251, "sms_contact_id": 1, "timestamp": 1675484514.0 } ] }
Errors:
1. Phone number is incorrect/not found
{ "phone_number": "1234", "modem_index": XX, "message": "No modem was found with the specificed phone number: XXXXX", "sms_messages": [] }
2. API Error - Incorrect syntax or authorization:
{ "phone_number": "1234", "modem_index": XX, "message": "There was an error fetching SMS messages.", "sms_messages": { "phone": "", "content": "", "date": "", "sms_id": "" } }
Shared Proxies API
Retrieve All Shared Proxies Information
GET /api/shared_proxy/
Example: http://localhost/api/shared_proxy
Response: JSON Object containing a shared proxy
Add shared proxy:
GET /api/shared_proxy/add?
Parameters:
index: The modem index
proxy_type: "HTTP" or "SOCKS."
auth_type: "UserAuth" or "IPAuth".
If UserAuth was selected then you will have to fill in the following parameters:
user: authentication username.
password: authentication password.
If IPAuth was selected:
IP: allowed IP/s. Multiple IP addresses can be inserted and separated with a comma (,).
Optional parameters:
Comment: comments for the proxy.
Port: Port to use or leave empty for a random port.
bandwidth: bandwidth(speed) limit in mpbs.
whitelist: Allow proxy to visit these websites only (separate multiple values by a comma (,))
blacklist: Deny proxy from visiting these websites (separate multiple values by a comma (,))
traffic_limit_amount: Limit the proxy usage value in MB.
traffic_limit_duration: Duration of the limit Values should be one of (day, week,month)
traffic_limit_amount and traffic_limit_duration should be filled both if you want to use limit features.expire_date: expire date for the proxy in the format (%Y-%m-%d)
Example:
Creating shared proxy with UserAuth authentication, HTTP proxy type using a modem with index=3:
Creating shared proxy with IP authentication, socks proxy type using a modem with index = 1
Creating shared proxy with multiple IP authentication, HTTP proxy type using a modem with index=1, and a comment:
Response: JSON Object containing a shared proxy
Delete All Shared Proxies and Clear Config Files
GET /api/shared_proxy/delete
Example: http://localhost/api/shared_proxy/delete
Response: Status message
Delete Specific Shared Proxy From Database
GET /api/shared_proxy/delete?port=PORT
Example: http://localhost/api/shared_proxy/delete?port=35501
Response: Status message
Error Messages:
There was an error handling your request.
Reasons:
Your request is not in the correct syntax.
The modem is unreachable or offline.