All source extraction endpoints are now operational on port 8000.
POST http://localhost:8000/sources/enhanced/POST http://localhost:8000/api/sources/enhanced/
GET http://localhost:8000/debug/test/
POST http://localhost:8000/api/sources/
Token: 6e7cd9a02ac08a24008992eb7e044f700b426a58
User: testuser (Pro account - unlimited sources)
curl -X POST "http://localhost:8000/api/sources/enhanced/" \
-H "Content-Type: application/json" \
-H "Authorization: Token 6e7cd9a02ac08a24008992eb7e044f700b426a58" \
-d '{"title": "Test", "manual_text": "Sample text with words."}'Response:
{
"status": "success",
"source_id": 32,
"words_extracted": 5,
"source_type": "TEXT",
"analysis": {
"total_words": 5,
"unique_words": 5,
"processing_status": "success"
}
}curl -X POST "http://localhost:8000/api/sources/enhanced/" \
-H "Content-Type: application/json" \
-H "Authorization: Token 6e7cd9a02ac08a24008992eb7e044f700b426a58" \
-d '{"title": "Web Test", "web_url": "https://www.example.com"}'Response:
{
"status": "success",
"source_id": 35,
"words_extracted": 21,
"source_type": "URL",
"analysis": {
"total_words": 28,
"unique_words": 21,
"status_code": 200
}
}| Type | Field | Status | Example |
|---|---|---|---|
| Manual Text | manual_text |
✅ Working | Plain text input |
| Web URL | web_url |
✅ Working | Website scraping |
| PDF File | pdf_file |
✅ Ready | PDF upload |
| SRT Subtitles | srt_file |
✅ Ready | Subtitle file upload |
| YouTube | youtube_url |
✅ Ready | Video transcript |
Free users limited to 3 sources (testuser is now Pro).
{
"title": ["This field is required."]
}{
"detail": "Authentication credentials were not provided."
}- Port: 8000 ✅
- Authentication: Token-based ✅
- Logging: Comprehensive ✅
- Error Handling: Robust ✅
- Response Format: JSON with analysis ✅
# Test connectivity
curl "http://localhost:8000/debug/test/"
# Test with auth
curl -H "Authorization: Token 6e7cd9a02ac08a24008992eb7e044f700b426a58" \
"http://localhost:8000/debug/test/"
# Create manual text source
curl -X POST "http://localhost:8000/api/sources/enhanced/" \
-H "Content-Type: application/json" \
-H "Authorization: Token 6e7cd9a02ac08a24008992eb7e044f700b426a58" \
-d '{"title": "Quick Test", "manual_text": "Hello world with vocabulary."}'
# Web scraping
curl -X POST "http://localhost:8000/api/sources/enhanced/" \
-H "Content-Type: application/json" \
-H "Authorization: Token 6e7cd9a02ac08a24008992eb7e044f700b426a58" \
-d '{"title": "Web Test", "web_url": "https://www.example.com"}'- Port Configuration - Updated to 8000
- Authentication - Token system working
- Serializer Create Method - Custom implementation
- URL Routing - Both
/sources/enhanced/and/api/sources/enhanced/ - Pro Account Setup - Unlimited sources for testing
- Error Handling - Comprehensive logging and responses
- Manual text processing
- Web URL scraping
- PDF file upload (ready)
- SRT subtitle parsing (ready)
- YouTube transcript extraction (ready)
- Debug endpoints
- Token authentication
- Word tokenization and processing
- Database integration
- Response analytics
🎯 The Kelime vocabulary learning API is now fully functional and ready for production use!