API-Referenz
Erkunden Sie die öffentliche Beacon-API. Alle Endpunkte geben JSON-Antworten zurück und erfordern keine Authentifizierung.
TypeScript SDK
Bevorzugen Sie einen typsicheren Client gegenüber direkten HTTP-Aufrufen? Installieren Sie das offizielle Beacon SDK und interagieren Sie mit allen Endpunkten über eine einfache, typisierte API.
Installation
pnpm add @deutschlandgpt/beacon-sdkSchnellstart
import { BeaconClient } from "@deutschlandgpt/beacon-sdk";
const beacon = new BeaconClient({
baseUrl: "https://your-beacon-instance.com",
});
const changelogs = await beacon.changelogs.list();Auf npm ansehen: @deutschlandgpt/beacon-sdk
Health Check
/api/healthReturns the current health status of the API. Useful for uptime monitoring and liveness probes.
Antwort
Returns a JSON object with the current status of the API.
{
"status": "ok"
}List Changelogs
/api/v1/changelogsReturns a list of published changelogs. Supports filtering by tag, version, and breaking changes, with pagination via limit and offset.
Query Parameters
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
tag | string | Nein | Filter by tag. One of: api, chat, workflows. |
since | string | Nein | Only return changelogs newer than this semantic version (e.g. "1.2.3"). |
breaking | string | Nein | Filter by breaking changes. "true" or "false". |
limit | integer | Nein | Number of entries to return. Defaults to 25. Min: 1, Max: 100. |
offset | integer | Nein | Number of entries to skip. Defaults to 0. |
Antwort
Returns an array of published changelog objects, each containing version info, content, tags, and timestamps.
[
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "New API Rate Limiting",
"content": "We've introduced rate limiting across all public endpoints...",
"version": "2.14.0",
"status": "published",
"versionType": "minor",
"tags": ["api"],
"isBreakingChange": false,
"publishedAt": "2026-02-13T18:45:00.000Z",
"createdAt": "2026-02-13T12:00:00.000Z",
"updatedAt": "2026-02-13T18:45:00.000Z"
}
]Get Changelog
/api/v1/changelogs/:idReturns a single published changelog by its ID. Returns 404 if the changelog does not exist or is not published.
Path Parameters
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
id | UUID | Ja | The unique identifier of the changelog. |
Antwort
Returns a single changelog object. Returns 404 if the changelog is not found or not published.
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "New API Rate Limiting",
"content": "We've introduced rate limiting across all public endpoints...",
"version": "2.14.0",
"status": "published",
"versionType": "minor",
"tags": ["api"],
"isBreakingChange": false,
"publishedAt": "2026-02-13T18:45:00.000Z",
"createdAt": "2026-02-13T12:00:00.000Z",
"updatedAt": "2026-02-13T18:45:00.000Z"
}Changelogs RSS Feed
/api/v1/changelogs/rssReturns an RSS 2.0 feed of published changelogs. Use this URL in any feed reader to track new releases. Requires the changelog feature to be enabled.
Antwort
Returns RSS 2.0 XML with Content-Type application/rss+xml. Returns 403 if the changelog feature is disabled.
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Changelog</title>
<link>https://example.com/changelogs</link>
<description>Latest product changelog entries</description>
<lastBuildDate>Tue, 18 Feb 2026 12:00:00 GMT</lastBuildDate>
<item>
<title>v2.14.0 - New API Rate Limiting</title>
<link>https://example.com/changelogs</link>
<description><![CDATA[We've introduced rate limiting...]]></description>
<pubDate>Thu, 13 Feb 2026 18:45:00 GMT</pubDate>
<guid isPermaLink="false">a1b2c3d4-e5f6-7890-abcd-ef1234567890</guid>
<category>api</category>
</item>
</channel>
</rss>Incidents RSS Feed
/api/v1/incidents/rssReturns an RSS 2.0 feed of published incidents. Use this URL in any feed reader to track service incidents and outages. Requires the incident feature to be enabled.
Antwort
Returns RSS 2.0 XML with Content-Type application/rss+xml. Returns 403 if the incident feature is disabled.
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Incidents</title>
<link>https://example.com/status</link>
<description>Service incident reports and status updates</description>
<lastBuildDate>Tue, 18 Feb 2026 12:00:00 GMT</lastBuildDate>
<item>
<title>[CRITICAL] Database connectivity issues</title>
<link>https://example.com/status</link>
<description><![CDATA[Database connection pool exhausted...
Status: monitoring]]></description>
<pubDate>Tue, 18 Feb 2026 09:30:00 GMT</pubDate>
<guid isPermaLink="false">f1e2d3c4-b5a6-7890-abcd-ef1234567890</guid>
</item>
</channel>
</rss>Subscribe
/api/v1/subscribersRegisters a new email subscriber. The subscriber will receive updates based on the selected subscription types.
Anfragekörper
email must be a valid email address. subscribeTo is an array with at least one value from: changelogs, status_updates, newsletters.
{
"email": "user@example.com",
"subscribeTo": ["changelogs", "status_updates"]
}Antwort
Returns 201 on success. Returns 400 with validation details if the request body is invalid.
{
"success": true
}Get Monitor Status
/api/v1/monitors/statusReturns the current status of all monitors, including response times and recent check history.
Antwort
Returns an array of monitor objects with their current status, response metrics, and up to 90 recent check results in the history array.
[
{
"id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"name": "API Server",
"description": "Main API health check",
"url": "https://api.example.com/health",
"group": "Core Services",
"currentStatus": "operational",
"responseTime": 42,
"statusCode": 200,
"lastChecked": "2026-02-14T10:22:15.000Z",
"history": [
{
"status": "operational",
"checkedAt": "2026-02-14T10:22:15.000Z",
"responseTime": 42
}
]
}
]