API Dokumentation

REST API für Tools, Skills und Dokumentation

Base URL

https://api.ducki-agent.davidduckwitz.de/api

Authentifizierung

Die API ist öffentlich zugänglich. Es ist keine Authentifizierung erforderlich.

Endpunkte

Health Check

GET /api/health

Prüft den Status der API und Datendateien.

Response Beispiel
{
  "success": true,
  "data": {
    "status": "healthy",
    "api": "DucKI Agent API",
    "version": "1.0.0",
    "timestamp": "2024-07-25T10:00:00+02:00",
    "data_files": {
      "tools": "ready",
      "skills": "ready"
    }
  }
}

Alle Tools abrufen

GET /api/tools

Gibt alle verfügbaren Tools zurück.

Query Parameter:

  • ?category=Core - Nach Kategorie filtern
  • ?search=filesystem - Suchen
Response Beispiel
{
  "success": true,
  "data": {
    "tools": [
      {
        "id": "filesystem",
        "name": "Filesystem",
        "category": "Core",
        "description": "...",
        "version": "1.0.0",
        "status": "stable",
        "core": true,
        "dependencies": [],
        "useCase": [...],
        "docs_url": "..."
      }
    ],
    "count": 17
  }
}

Tool Details

GET /api/tools/:id

Gibt Details für ein spezifisches Tool zurück.

Beispiel:

GET /api/tools/browser

Alle Skills abrufen

GET /api/skills

Gibt alle verfügbaren Skills zurück.

Query Parameter:

  • ?category=Code & Development - Nach Kategorie filtern
  • ?search=review - Suchen

Skill Details

GET /api/skills/:id

Gibt Details für ein spezifisches Skill zurück.

Beispiel:

GET /api/skills/code-review

Dokumentation

GET /api/docs/:id

Gibt detaillierte Dokumentation für ein Tool oder Skill zurück.

Beispiele:

GET /api/docs/browser GET /api/docs/code-review

Kategorien

GET /api/categories

Gibt alle verfügbaren Kategorien für Tools und Skills zurück.

Response Format

Alle Responses sind JSON mit folgender Struktur:

{
  "success": true,
  "data": { /* Actual data */ },
  "timestamp": "2024-07-25T10:00:00+02:00"
}

Fehlerbehandlung

Bei Fehlern wird folgende Response zurückgegeben:

{
  "error": true,
  "code": "NOT_FOUND",
  "message": "Tool not found: unknown-tool",
  "timestamp": "2024-07-25T10:00:00+02:00"
}

HTTP Status Codes:

  • 200 - Success
  • 400 - Bad Request
  • 404 - Not Found
  • 500 - Server Error

Integration Beispiel

// JavaScript Beispiel
async function loadTools() {
  const response = await fetch('https://api.ducki-agent.davidduckwitz.de/api/tools');
  const data = await response.json();

  if (data.success) {
    console.log('Tools:', data.data.tools);
  }
}

// Python Beispiel
import requests

response = requests.get('https://api.ducki-agent.davidduckwitz.de/api/tools')
data = response.json()
print(data['data']['tools'])