Implement Sprint 1: Notebook Management CRUD
- Add NotebookService with full CRUD operations
- Add POST /api/v1/notebooks (create notebook)
- Add GET /api/v1/notebooks (list with pagination)
- Add GET /api/v1/notebooks/{id} (get by ID)
- Add PATCH /api/v1/notebooks/{id} (partial update)
- Add DELETE /api/v1/notebooks/{id} (delete)
- Add Pydantic models for requests/responses
- Add custom exceptions (ValidationError, NotFoundError, NotebookLMError)
- Add comprehensive unit tests (31 tests, 97% coverage)
- Add API integration tests (26 tests)
- Fix router prefix duplication
- Fix JSON serialization in error responses
BREAKING CHANGE: None
1.9 KiB
1.9 KiB
Documentation
Benvenuto nella documentazione di NotebookLM Agent API.
Indice
- API Reference - Documentazione completa delle API (TODO)
- Examples - Esempi di utilizzo (TODO)
Panoramica
NotebookLM Agent API fornisce:
- REST API per gestire notebook, fonti, chat e generazione contenuti
- Webhook System per notifiche event-driven
- AI Skill per integrazione con agenti AI
Endpoint Principali
Notebook Management
POST /api/v1/notebooks- Creare notebookGET /api/v1/notebooks- Listare notebookGET /api/v1/notebooks/{id}- Ottenere notebookDELETE /api/v1/notebooks/{id}- Eliminare notebook
Source Management
POST /api/v1/notebooks/{id}/sources- Aggiungere fonteGET /api/v1/notebooks/{id}/sources- Listare fontiPOST /api/v1/notebooks/{id}/sources/research- Ricerca web
Content Generation
POST /api/v1/notebooks/{id}/generate/audio- Generare podcastPOST /api/v1/notebooks/{id}/generate/video- Generare videoPOST /api/v1/notebooks/{id}/generate/quiz- Generare quizPOST /api/v1/notebooks/{id}/generate/flashcards- Generare flashcard
Webhooks
POST /api/v1/webhooks- Registrare webhookGET /api/v1/webhooks- Listare webhookPOST /api/v1/webhooks/{id}/test- Testare webhook
Autenticazione
Tutte le richieste API richiedono header X-API-Key:
curl http://localhost:8000/api/v1/notebooks \
-H "X-API-Key: your-api-key"
Webhook Security
I webhook includono firma HMAC-SHA256 nell'header X-Webhook-Signature:
import hmac
import hashlib
signature = hmac.new(
secret.encode(),
payload.encode(),
hashlib.sha256
).hexdigest()
Risorse
- README - Panoramica progetto
- PRD - Requisiti prodotto
- SKILL.md - Skill per agenti AI
- CONTRIBUTING - Come contribuire