Code Example

$curl = curl_init();

$endpoint = '{{domain}}/wp-json/wclm/v3/get-license-status';
$parameters = array(
        // License Key
        'license_key' => 'FFFF-FFFF-FFFF-FFFF'
    );

curl_setopt_array($curl, array(
     CURLOPT_URL => $endpoint,
     CURLOPT_RETURNTRANSFER => true,
     CURLOPT_MAXREDIRS => 10,
     CURLOPT_TIMEOUT => 0,
     CURLOPT_FOLLOWLOCATION => true,
     CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
     CURLOPT_CUSTOMREQUEST => 'POST',
     CURLOPT_POSTFIELDS => $parameters,
     CURLOPT_USERAGENT => $_SERVER['HTTP_USER_AGENT'],
     CURLOPT_SSL_VERIFYPEER => false,
     CURLOPT_HTTPHEADER => array(
         // Authenticated user token
         'Authorization: Bearer {{User Token}}'
     )
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

This endpoint returns the license status as-is in the database(expiration status is not calculated based on the expiration date). Custom license statuses set using the API can be accessed using this endpoint.

It is recommended to set custom data as meta keys instead; the plugin can overwrite the license status at any time if you have the auto-expire option enabled.

API Responses

{
    "response": {
        "result": "error",
        "code": "100",
        "message": "Invalid license key",
        "api_timestamp": 'current timestamp'
    },
    "signature": "Signature or OpenSSL error"
}
{
    "response": {
        "license_status": "inactive",
        "api_timestamp": 'current timestamp'
    },
    "signature": "Signature or OpenSSL error"
}
{
    "response": {
        "result": "error",
        "code": "900",
        "message": "The authenticated user doesn't own this license key",
        "api_timestamp": 'current timestamp'
    },
    "signature": "Signature or OpenSSL error"
}

WordPress’s built-in REST API responses.

{
    "code": "rest_forbidden",
    "message": "Sorry, you are not allowed to do that.",
    "data": {
        "status": 403
    }
}