API Dokumentation
Zugriff auf alle KI-Initiativen als JSON-API
Übersicht
Die KI-Kartierung stellt eine REST-API zur Verfügung, über die Sie programmatisch auf alle veröffentlichten Steckbriefe zugreifen können. Die API ist öffentlich zugänglich und erfordert keine Authentifizierung.
Base URL
https://mapping.cms.hu-berlin.de/api
Rate Limiting
Um eine faire Nutzung zu gewährleisten, ist die API auf 100 Requests pro Minute limitiert.
Endpoints
1. Kategorien auflisten
Liste aller verfügbaren Kategorien.
GET /api/categories
Response
{
"categories": [
{
"id": 1,
"internal_name": "forschung",
"display_name": "Forschungsprojekt",
"steckbrief_count": 87
},
{
"id": 2,
"internal_name": "services",
"display_name": "KI-Service",
"steckbrief_count": 23
}
]
}
2. Steckbriefe auflisten
Liste aller veröffentlichten Steckbriefe mit optionalen Filtern.
GET /api/steckbriefe?category={category}&limit={limit}&offset={offset}
Query Parameter
category(optional) - Filter nach Kategorie (z.B. "forschung")limit(optional, default: 20) - Anzahl der Ergebnisse pro Seite (max. 100)offset(optional, default: 0) - Offset für Pagination
Response
{
"steckbriefe": [
{
"id": "7f3a4b2c-9d1e-8f6g...",
"title": "AI-SKILLS Projekt",
"category": "forschung",
"category_display": "Forschungsprojekt",
"url": "https://mapping.cms.hu-berlin.de/details/7f3a4b2c...",
"published_at": "2024-01-20T10:00:00Z"
}
],
"pagination": {
"total": 127,
"limit": 20,
"offset": 0,
"has_more": true
}
}
3. Einzelnen Steckbrief abrufen
Detaillierte Informationen zu einem spezifischen Steckbrief.
GET /api/steckbriefe/{id}
Response
{
"id": "7f3a4b2c-9d1e-8f6g...",
"title": "AI-SKILLS Projekt",
"category": "forschung",
"category_display": "Forschungsprojekt",
"markdown_content": "# AI-SKILLS\n\n**Institution:**...",
"html_content": "<h1>AI-SKILLS</h1>...",
"source_url": "https://ai-skills.tu-berlin.de",
"published_at": "2024-01-20T10:00:00Z",
"generated_at": "2024-01-19T15:30:00Z"
}
4. Steckbrief nach Source-ID
Steckbrief anhand der ursprünglichen Source-ID abrufen.
GET /api/steckbriefe/by-source/{source_id}
Response
Identisch mit Endpoint 3.
5. Such-Index
Vollständiger Such-Index für Client-side Search.
GET /api/search-index
Response
[
{
"id": "7f3a4b2c-9d1e-8f6g...",
"title": "AI-SKILLS Projekt",
"description": "Entwicklung von KI-Kompetenzen...",
"institution": "Technische Universität Berlin",
"category": "forschung",
"category_display": "Forschungsprojekt",
"url": "/details/7f3a4b2c-9d1e-8f6g....html"
}
]
6. Statistiken
Allgemeine Statistiken über die Plattform.
GET /api/statistics
Response
{
"total_steckbriefe": 127,
"by_category": {
"forschung": 87,
"services": 23,
"lehre": 17
},
"last_updated": "2024-01-20T14:30:00Z"
}
Beispiele
cURL
curl "https://mapping.cms.hu-berlin.de/api/steckbriefe?category=forschung&limit=10"
Python
import requests
response = requests.get(
"https://mapping.cms.hu-berlin.de/api/steckbriefe",
params={"category": "forschung", "limit": 10}
)
data = response.json()
for steckbrief in data["steckbriefe"]:
print(steckbrief["title"])
JavaScript
async function fetchSteckbriefe() {
const response = await fetch(
"https://mapping.cms.hu-berlin.de/api/steckbriefe?category=forschung&limit=10"
);
const data = await response.json();
data.steckbriefe.forEach(s => {
console.log(s.title);
});
}
fetchSteckbriefe();
Fehlerbehandlung
Die API verwendet Standard-HTTP-Statuscodes:
200 OK- Erfolgreiche Anfrage400 Bad Request- Ungültige Parameter404 Not Found- Ressource nicht gefunden429 Too Many Requests- Rate Limit überschritten500 Internal Server Error- Server-Fehler
Fehler-Response Format
{
"error": {
"code": "NOT_FOUND",
"message": "Steckbrief nicht gefunden",
"details": {}
}
}
Support
Bei Fragen oder Problemen mit der API können Sie uns kontaktieren:
E-Mail: api@ki-kartierung.de
Die API-Dokumentation wird regelmäßig aktualisiert. Änderungen werden rechtzeitig angekündigt.