Developer Documentation

API integration guide for secure license verification and step update delivery

This documentation is prepared for approved developers who need to integrate the API into a software product. It explains how to verify a license, bind a domain, check for the next version update, and handle all important server responses in a practical way.

https://reloadly.site/api/verify-license https://reloadly.site/api/check-update

Integration overview

The API is designed for software products that need secure activation and controlled update delivery. A customer receives a license key after purchase, activates the software from a domain, and then receives updates one version at a time.

  1. Create the license when the customer purchases a package.
  2. If the domain field is empty, the first successful activation automatically locks the license to that domain.
  3. Future activation attempts from another domain must return a domain invalid response.
  4. If the license is expired, return the renewal URL instead of allowing full access.
  5. For updates, always send the currently installed version and receive only the next required package.

Verify license endpoint

Use this endpoint during activation, installation validation, or when protected software features require license verification.

Request URL
https://reloadly.site/api/verify-license
Method
POST
Request body
{
    "software_slug": "my-test-software",
    "license_key": "ABCD-EFGH-IJKL-MNOP",
    "domain": "example.com"
}
Success response
{
    "status": true,
    "message": "License verified successfully",
    "code": "LICENSE_VERIFIED",
    "license_key": "ABCD-EFGH-IJKL-MNOP",
    "domain": "example.com",
    "is_lifetime": false,
    "expires_at": "2026-12-31 23:59:59"
}
Common failure responses
  • SOFTWARE_NOT_FOUND — software slug is invalid or inactive.
  • INVALID_LICENSE — license key does not belong to the software.
  • DOMAIN_INVALID — domain does not match the locked domain.
  • LICENSE_EXPIRED — license validity is over and renewal is required.
  • LICENSE_SUSPENDED — license was blocked by the administrator.

Check update endpoint

This endpoint returns the next available update package based on the currently installed version. It does not return all pending versions together.

Request URL
https://reloadly.site/api/check-update
Method
POST
Request body
{
    "software_slug": "my-test-software",
    "license_key": "ABCD-EFGH-IJKL-MNOP",
    "domain": "example.com",
    "current_version": "1.0.0"
}
Update available response
{
    "status": true,
    "message": "Update available",
    "code": "UPDATE_AVAILABLE",
    "update_available": true,
    "current_version": "1.0.0",
    "next_version": "1.0.1",
    "version_code": 10001,
    "file_name": "my-test-software-1.0.1.zip",
    "download_url": "https://reloadly.site/assets/updatefile/my-test-software-1.0.1.zip",
    "update_hash": "abc123hash",
    "changelog": [
        "Bug fixed",
        "Login issue solved",
        "Dashboard improved"
    ]
}
No update response
{
    "status": true,
    "message": "You are using the latest version",
    "code": "NO_UPDATE",
    "update_available": false,
    "current_version": "1.0.3",
    "next_version": null,
    "version_code": null,
    "file_name": null,
    "download_url": null,
    "update_hash": null,
    "changelog": []
}

Integration examples

You can call the API from any PHP-based software using either stream context or cURL.

PHP example
<?php

$payload = [
    'software_slug'   => 'my-test-software',
    'license_key'     => 'ABCD-EFGH-IJKL-MNOP',
    'domain'          => 'example.com',
    'current_version' => '1.0.0',
];

$options = [
    'http' => [
        'header'  => "Content-Type: application/json\r\n",
        'method'  => 'POST',
        'content' => json_encode($payload),
        'timeout' => 30,
    ],
];

$context = stream_context_create($options);
$response = file_get_contents('https://reloadly.site/api/check-update', false, $context);

if ($response !== false) {
    $result = json_decode($response, true);
    print_r($result);
}
cURL example
<?php

$payload = [
    'software_slug'   => 'my-test-software',
    'license_key'     => 'ABCD-EFGH-IJKL-MNOP',
    'domain'          => 'example.com',
    'current_version' => '1.0.0',
];

$ch = curl_init('https://reloadly.site/api/check-update');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));

$response = curl_exec($ch);
curl_close($ch);

print_r(json_decode($response, true));
Quick reference
  • Base URL: https://reloadly.site
  • Verify API: /api/verify-license
  • Update API: /api/check-update
  • Request type: JSON POST
Update sequence
  • Installed version 1.0.0 returns 1.0.1
  • Installed version 1.0.1 returns 1.0.2
  • Installed version 1.0.2 returns 1.0.3
  • Only the next update is returned each time
Recommended workflow
  • Verify license during installation.
  • Store the locked domain after success.
  • Check updates from the installed version only.
  • Complete updates one package at a time.
  • Show API messages clearly inside software UI.