← Documentation
ENEnglish

Blackoutly Console — organisation API

Let your own systems (Intune, scripts) see and remove Blackoutly activations of your organisation's computers.

API version 1.0.0 · base URL https://api.blackoutly.com · OpenAPI 3.1.0

Download the OpenAPI description (JSON) — for Swagger UI, Redoc, Postman

For Blackoutly Enterprise organisations. Typical use: when a computer is retired in Microsoft Intune, your script removes its Blackoutly activation, so the seat is free for another computer.

Tokens

The organisation's administrator creates a token at https://console.blackoutly.com/my → API for your systems:

Send it in the header Authorization: Bearer bo_… over HTTPS. No cookies are used or set.

Computers

A computer is named by its computer ID — 64 hexadecimal characters, the same the program shows in Settings → License and BlackoutlyCli.exe computer-id prints (short_id is its first 12 characters, as A1B2-C3D4-E5F6) — or, when removing, by its BIOS serial number (as Intune lists it). Computer names are never collected.

Log and limits

Every call — answered or refused — is kept for 90 days (time, token name, address, path, result, number of computers) and shown to the organisation's administrator at /my. At most 30 calls a minute from one address (then 429), at most 200 computers in one call.

Errors

An error answer is {"error": "<code>"}:

Status Code Meaning
400 request Not JSON, no computers, or more than 200
401 token No token, or not a token of ours
401 revoked The token was revoked
401 expired The token's time is over — make a new one
403 edition The organisation has no running Blackoutly Enterprise license now (or is suspended)
403 address The call came from an address not allowed for this token
403 scope The token may only read
429 busy Too many calls from this address — wait a minute

Endpoints

GET /api/v1/org/devices

The activated computers. Every computer of the organisation whose activation is counted now (removed ones are not listed). Needs a token that may read.

Status Answer
200 The activated computers — DevicesResponse
401 token — no token or not ours; revoked; expired — make a new token — Error
403 edition — no running Blackoutly Enterprise license; address — this address is not allowed for the token; scope — the token may only read — Error
429 More than 30 calls a minute from this address — Error

Example answer:

{
  "devices": [
    {
      "computer_id": "a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90",
      "short_id": "A1B2-C3D4-E5F6",
      "edition": "enterprise",
      "program": "0.0.10",
      "last_seen": "2026-10-20T08:14:03+00:00"
    }
  ]
}

Example call (PowerShell):

$h = @{ Authorization = "Bearer $env:BLACKOUTLY_TOKEN" }
Invoke-RestMethod https://api.blackoutly.com/api/v1/org/devices -Headers $h

POST /api/v1/org/remove

Remove activations. Removes the activations of these computers (by serial number or computer ID): their seats are free for other computers at once. Each computer learns it at its next weekly check-in and runs as Blackoutly Free from its next start; it does not activate itself again — someone presses Activate in Settings → License (if a seat is free). Needs a token that may remove activations.

Request body (JSON): RemoveRequest

{
  "computers": [
    "5CG1234XYZ",
    "a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90"
  ]
}
Status Answer
200 One result for each computer given, in the same order — RemoveResponse
400 Not JSON, no computers, an empty list or more than 200 — Error
401 token — no token or not ours; revoked; expired — make a new token — Error
403 edition — no running Blackoutly Enterprise license; address — this address is not allowed for the token; scope — the token may only read — Error
429 More than 30 calls a minute from this address — Error

Example answer:

{
  "results": [
    {
      "computer": "5CG1234XYZ",
      "result": "removed"
    },
    {
      "computer": "a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90",
      "result": "not_activated"
    }
  ]
}

Example call (PowerShell):

$h = @{ Authorization = "Bearer $env:BLACKOUTLY_TOKEN" }
Invoke-RestMethod https://api.blackoutly.com/api/v1/org/remove -Method Post -Headers $h -ContentType application/json `
    -Body (@{ computers = @("5CG1234XYZ") } | ConvertTo-Json)

Data

Device

Field Type Required Description
computer_id string · pattern ^[0-9a-f]{64}$ yes The full computer ID (as the program shows it in Settings → License)
short_id string · pattern ^[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}$ yes Its first 12 characters, for people
edition string: pro, enterprise yes
program string yes The Blackoutly version the computer reported last (empty: not reported)
last_seen string or null · format date-time yes Its activation or last weekly check-in (UTC)

DevicesResponse

Field Type Required Description
devices array of Device yes

RemoveRequest

Field Type Required Description
computers array of string · max length 200 yes BIOS serial numbers (as Intune lists them) or full computer IDs

RemoveResult

Field Type Required Description
computer string yes As given (at most 80 characters)
result string: removed, not_activated, invalid yes removed — its activation was removed; not_activated — no counted activation of this organisation; invalid — neither a serial number nor a computer ID

RemoveResponse

Field Type Required Description
results array of RemoveResult yes

Error

Field Type Required Description
error string: request, token, revoked, expired, edition, address, scope, busy yes