KBApS - Knowledge Base Approval System

Your reliable tool for approving and testing Windows updates.

KBApS — API Documentation

Process Windows KBs, capture titles and known-issue hints, and persist results.

Overview

The KBApS API lets you send one or more Windows KB identifiers for processing. The service follows Microsoft Support redirects, extracts the page title, checks for “Known issues” sections heuristically, and stores the results for your account.

Personal Access Tokens (PATs) are generated in the web UI (login required) and can be revoked at any time.

Authentication

Pass your Personal Access Token (PAT) via the HTTP header:

Authorization: Bearer <token_id>.<secret>

To create a token, sign in to the site and open Generate Token. Manage and revoke tokens at My Tokens. If you don’t have an account yet, log in.

Endpoints

POST /api/kb/api.php Requires: kb:write

URLhttps://www.kbaps.com/api/kb/api.php
AuthBearer token (PAT) with scope kb:write
Body{"kb_list": "KB5056579,KB5050575"} or {"kb_list": ["KB5056579","KB5050575"]}
200All KBs processed successfully
207Partial success; see errors array
401/403Not authenticated / insufficient scope

Response format

Request

{
  "kb_list": "KB5056579,KB5050575"
}

Response (200)

{
  "message": "KBs processed successfully",
  "processed_kbs": [
    {
      "article_id": "KB5056579",
      "display_name": "April 25, 2025—KB5056579 Cumulative Update ...",
      "url_status": "ok",
      "http_code": 200,
      "final_url": "https://support.microsoft.com/...",
      "problema_existente": 1,
      "descricao_problema": "Known issues ..."
    }
  ]
}

Notes: url_status reflects the final HTTP status category (ok, not found, server error). We also return the raw http_code and final_url for diagnostics.

Code samples

PowerShell

$token  = "TOKEN_ID.SECRET"
$apiUrl = "https://www.kbaps.com/api/kb/api.php"

$kbs  = Get-HotFix | ForEach-Object { $_.HotFixID }
$body = @{ kb_list = ($kbs -join ",") } | ConvertTo-Json -Compress

$headers = @{
  "Authorization" = "Bearer $token"
  "Content-Type"  = "application/json"
}

$response = Invoke-RestMethod -Uri $apiUrl -Method POST -Headers $headers -Body $body
$response | ConvertTo-Json -Depth 5

cURL

curl -X POST "https://www.kbaps.com/api/kb/api.php" \
  -H "Authorization: Bearer TOKEN_ID.SECRET" \
  -H "Content-Type: application/json" \
  -d '{"kb_list":"KB5056579,KB5050575"}'

Python (requests)

import requests, json

token = "TOKEN_ID.SECRET"
api   = "https://www.kbaps.com/api/kb/api.php"

payload = {"kb_list": ["KB5056579", "KB5050575"]}
headers = {"Authorization": f"Bearer {token}", "Content-Type": "application/json"}

r = requests.post(api, headers=headers, data=json.dumps(payload), timeout=60)
print(r.status_code)
print(r.json())

PHP (cURL)

<?php
$token = "TOKEN_ID.SECRET";
$api   = "https://www.kbaps.com/api/kb/api.php";

$payload = json_encode(["kb_list" => "KB5056579,KB5050575"], JSON_UNESCAPED_UNICODE);

$ch = curl_init($api);
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST           => true,
  CURLOPT_HTTPHEADER     => [
    "Authorization: Bearer {$token}",
    "Content-Type: application/json",
  ],
  CURLOPT_POSTFIELDS     => $payload,
  CURLOPT_TIMEOUT        => 60,
]);

$resp = curl_exec($ch);
if ($err = curl_error($ch)) { die("cURL error: $err"); }
curl_close($ch);

header("Content-Type: application/json; charset=utf-8");
echo $resp;

Common errors

401 Missing or invalid Bearer token. Send Authorization: Bearer <token>.
403 Insufficient scope. Token must include kb:write for processing.
400 Invalid body (e.g., kb_list missing or wrong format).
207 Partial processing: some KBs failed (see errors array).
500 Internal error. Check server logs.

Best practices


Token UI: Generate TokenMy Tokens

Help improve the system that simplifies Windows updates for businesses! Your donation supports innovation. [Donate Now]