For developers
One HTTPS call to license your software
A key with a scope, a POST request, a JSON answer. The docs are open to read before you make an account, because deciding whether an API fits your product is a decision that needs the API, not a sales page about it.
The three things people build first
Validate a licence
Check a key on startup. Locked to a machine or not, this is the call almost every integration makes the most.
Issue a licence
Ship an app with no key baked in, and claim one bound to the machine on first run instead.
Verify a webhook
Get told when a licence is issued, checked, or refused, and check the signature so you know it came from Bloom.
A real call
Validating a licence key. The response is { valid, reason }, nothing more to parse.
javascript
const res = await fetch('https://bloomcloud.pro/api/v1/licenses/validate', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + process.env.BLOOM_API_KEY,
},
body: JSON.stringify({
key: config.licenseKey,
hwid: machineId(), // omit to check without locking to a machine
version: app.version,
}),
});
const result = await res.json();
if (!result.valid) {
throw new Error('License refused: ' + result.reason);
}