Skip to main content
API Usage Documentation

Access and utilize Proxidize APIs with token-based authentication for managing modems, proxies, and critical dashboard settings.

A
Written by Abed
Updated over a week ago
  • 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.​

Proxidize API Usage Instructions

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:

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

  1. Retrieve Modem Information

    GET /api/getinfo

    Response: JSON Object with all modem information.

  2. Rebooting a Specific Modem

    GET /api/reboot_modem?index=MODEM_INDEX

    This will reboot modem with index=1

    Response: Status message

Rotate API:

  1. Rotate All Modems

    GET /api/rotate

    Response: Status message

  2. Rotate a Specific Modem

    The authorization token should be included in the header.

    GET /api/change_ip?index=MODEM_INDEX

    This will rotate modem with index=1

    Response: Status message

  3. Rotate 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

    Example: http://localhost/api/change_ip?index=1&rtoken=johndoe123

    This rotates modem with index=1 authenticated by the custom set rotation token.

    Response: Status message

  4. 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

  5. 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

    Examples:

    This sets the modem with index 5 to rotate every 2 days.

    This sets all modems to rotate every 8 hours.

    Response: Status message

SMS API

  1. View SMS for a Specific Modem

    GET /api/sms/get?index=MODEM_INDEX 

    Example: http://localhost/api/sms/get?index=1
    This returns all the received SMS messages for modem with index=1

    Response: JSON Object containing SMS messages with their details (date, sender's phone, message and content)

  2. Send SMS From a Modem to Any Phone Number

    GET /api/sms/send?index=MODEM_INDEX&phone=PHONE&message=MESSAGE

    This sends the message "Hello World" to the phone number +123456789 from modem with index=1

    Response: Status message
    ​​

  3. Delete A Single SMS Message

    GET api/delete_sms?sms_id=SMS_ID&modem_index=Modem_index

    This deletes SMS with sms_id=22 from modem with index=5

    Response: Delete SMS requested for message id XXX on modem index XXX

    Error: There was an error deleting SMS message(s).

  4. Delete Multiple SMS Messages:

    Note: Separate SMS IDs with a comma. 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

    This deletes SMS messages with sms_id=22, 25, 25, and 99 on modem with index=5

    Response: Successfully deleted all SMS messages.

    Error: There was an error deleting SMS message(s).

  5. Get SMS by Modem's Phone Number (Proxidize Business Only)

    Parameters: Modem's phone number

    GET api/sms/fetch_sms_phone_number

    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:

    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": [] }

    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

  1. Retrieve All Shared Proxies Information

    GET /api/shared_proxy/​

    Example: http://localhost/api/shared_proxy

    Response: JSON Object containing a shared proxy

  2. 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. Leave empty for a random port

      • bandwidth: bandwidth (speed) limit in Mb/s

      • 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)
        Note: traffic_limit_amount and traffic_limit_duration need to both be filled to use limit features.

      • expire_date: expire date for the proxy in the format (%Y-%m-%d)

  3. Delete All Shared Proxies and Clear Config Files

    GET /api/shared_proxy/delete​

    Example: http://localhost/api/shared_proxy/delete

    Response: Status message

  4. 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: There was an error handling your request.

    Reasons:

    • Your request is not in the correct syntax.

    • The modem is unreachable or offline.

Did this answer your question?