Knowledge API
Dosyalar, anahtar kelimeler veya bağlantılar aracılığıyla mind'larınıza bilgi ekleyin.
Mind'larınıza üç yöntemle bilgi ekleyin: Dosya, Anahtar Kelime veya Bağlantı. Bilgi işlenir, gömülür (embed) ve konuşmalar sırasında otomatik olarak alınır.
Not: Listeleme, ekleme ve silme v1 API üzerinden kullanılabilir. Anahtar kelime araması yoluyla bilgi zenginleştirme de aynı ekleme endpoint'i aracılığıyla desteklenir.
Bilgi Öğelerini Listele
Bir mind için tüm bilgi öğelerini al.
Endpoint: GET /api/v1/sparks/{sparkId}/knowledge
Headers:
Authorization: Bearer minds_your_api_key
Örnek:
curl -X GET "https://getminds.ai/api/v1/sparks/{sparkId}/knowledge" \
-H "Authorization: Bearer minds_your_api_key"
Yanıt:
{
"success": true,
"data": {
"items": [
{
"id": "660e8400-e29b-41d4-a716-446655440001",
"description": "Company Employee Handbook 2025",
"link": null,
"filePath": "portfolio/user-id/1234567890_handbook.pdf",
"isWatched": false,
"createdAt": "2025-12-10T12:00:00.000Z",
"updatedAt": "2025-12-10T12:00:00.000Z"
}
],
"total": 1
}
}
| Alan | Tip | Açıklama |
|---|---|---|
data.items | array | Bilgi öğesi nesnelerinin dizisi |
data.total | number | Bu mind için toplam bilgi öğesi sayısı |
Dosya Yükleme
Bir mind'a doğrudan belge veya görsel yükleyin.
Endpoint: POST /api/v1/sparks/{sparkId}/knowledge
Content-Type: multipart/form-data
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
file | file | Evet | Yüklenecek dosya (maks 50MB) |
description | string | Evet | İçeriğin açıklaması |
Desteklenen formatlar:
- Belgeler: PDF, DOCX, DOC, TXT, MD, RTF, CSV, JSON, XML
- Görseller: JPG, JPEG, PNG, GIF, WEBP
Örnek:
curl -X POST "https://getminds.ai/api/v1/sparks/{sparkId}/knowledge" \
-H "Authorization: Bearer minds_your_api_key" \
-F "file=@./handbook.pdf" \
-F "description=Company Employee Handbook 2025"
Yanıt: 201 Created
{
"success": true,
"data": {
"id": "660e8400-e29b-41d4-a716-446655440001",
"description": "Company Employee Handbook 2025",
"filePath": "portfolio/user-id/1234567890_handbook.pdf",
"createdAt": "2025-12-10T12:00:00.000Z"
}
}
Anahtar Kelime Araması
Anahtar kelimeler için web'de arama yaparak bilgi ekleyin. Exa ve YouTube'da arama yapar, içeriği çıkarır ve mind'ın bilgi tabanına ekler.
Endpoint: POST /api/v1/sparks/{sparkId}/knowledge
Content-Type: application/json
Web arama zenginleştirmesini tetiklemek için (link/file yerine) keywords dizisi içeren bir JSON body gönderin.
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
keywords | string | Evet | Aranacak anahtar kelimeler (maks 35) |
regeneratePrompt | boolean | Hayır | Sonrasında system prompt'u yeniden oluştur (varsayılan: true) |
Örnek:
curl -X POST "https://getminds.ai/api/v1/sparks/{sparkId}/knowledge" \
-H "Authorization: Bearer minds_your_api_key" \
-H "Content-Type: application/json" \
-d '{"keywords": ["solar panel efficiency", "photovoltaic trends"]}'
Yanıt: 202 Accepted
{
"success": true,
"data": {
"sparkId": "660e8400-e29b-41d4-a716-446655440000",
"keywords": ["solar panel efficiency", "photovoltaic trends"],
"queued": true,
"regeneratePrompt": true,
"message": "Knowledge enrichment queued with 2 keyword(s)."
}
}
Not: Bu asenkrondur. İşleme arka planda çalışır ve birkaç dakika sürebilir.
Bağlantı
Bir URL'den bilgi ekleyin. Web sayfalarını, YouTube videolarını ve araştırma makalelerini destekler.
Endpoint: POST /api/v1/sparks/{sparkId}/knowledge
Content-Type: application/json
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
link | string | Evet | Web içeriğine URL |
description | string | Evet | İçeriğin açıklaması |
Örnek:
curl -X POST "https://getminds.ai/api/v1/sparks/{sparkId}/knowledge" \
-H "Authorization: Bearer minds_your_api_key" \
-H "Content-Type: application/json" \
-d '{"link": "https://example.com/article", "description": "Industry trends article"}'
Yanıt: 201 Created
{
"success": true,
"data": {
"id": "660e8400-e29b-41d4-a716-446655440001",
"link": "https://example.com/article",
"description": "Industry trends article",
"createdAt": "2025-12-10T12:00:00.000Z"
}
}
Desteklenen bağlantı türleri:
- Web sayfaları (içerik scraping yoluyla çıkarılır)
- YouTube videoları (transkriptler otomatik olarak çıkarılır)
- Araştırma makaleleri (arxiv, vb.)
Watch (Otomatik Güncelleme)
Bağlantı tabanlı bilgi öğeleri, haftalık bir döngüde içerik güncellemelerini otomatik olarak kontrol etmek için "izlenebilir" (watched). Değişiklikler tespit edildiğinde, bilgi yeniden işlenir ve yeniden gömülür.
Watch, ürün UI'si aracılığıyla yönetilir. Watch durumu, API aracılığıyla bilgi öğelerini listelerken görünür (isWatched alanı).
Not: Watch yalnızca bağlantı tabanlı bilgi için kullanılabilir, dosyalar veya anahtar kelime aramaları için değil.
Bilgi Öğesini Güncelle
Mevcut bir bilgi öğesinin açıklamasını güncelleyin.
Endpoint: PUT /api/v1/sparks/{sparkId}/knowledge/{itemId}
Headers:
Authorization: Bearer minds_your_api_key
Content-Type: application/json
İstek Body:
{
"description": "Updated description for this knowledge item"
}
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
description | string | Evet | Güncellenmiş açıklama (boş olmamalı) |
Örnek:
curl -X PUT "https://getminds.ai/api/v1/sparks/{sparkId}/knowledge/{itemId}" \
-H "Authorization: Bearer minds_your_api_key" \
-H "Content-Type: application/json" \
-d '{"description": "Updated handbook description"}'
Yanıt:
{
"success": true,
"data": {
"id": "660e8400-e29b-41d4-a716-446655440001",
"description": "Updated handbook description",
"link": null,
"filePath": "portfolio/user-id/1234567890_handbook.pdf",
"isWatched": false,
"createdAt": "2025-12-10T12:00:00.000Z",
"updatedAt": "2025-12-15T08:30:00.000Z"
}
}
Hata Yanıtları
400 Bad Request - Güncellenecek geçerli alan yok veya boş açıklama
401 Unauthorized - Geçersiz veya eksik API key
404 Not Found - Bilgi öğesi veya mind bulunamadı
Anahtar Kelimeler ile Zenginleştir (Kısayol)
Anahtar kelime tabanlı bilgi zenginleştirmesi için kısayol.
Endpoint: POST /api/v1/sparks/{sparkId}/knowledge/enrich
Bu, keywords body'si ile POST /api/v1/sparks/{sparkId}/knowledge ile eşdeğerdir. Tüm ayrıntılar için Anahtar Kelime Araması bölümüne bakın.
Örnek:
curl -X POST "https://getminds.ai/api/v1/sparks/{sparkId}/knowledge/enrich" \
-H "Authorization: Bearer minds_your_api_key" \
-H "Content-Type: application/json" \
-d '{"keywords": ["solar panel efficiency", "photovoltaic trends"]}'
Bilgi Öğesini Sil
Bir bilgi öğesini ve ilişkili tüm verileri (embedding'ler, örüntüler, dosyalar) kalıcı olarak silin.
Endpoint: DELETE /api/v1/sparks/{sparkId}/knowledge/{itemId}
Headers:
Authorization: Bearer minds_your_api_key
Örnek:
curl -X DELETE "https://getminds.ai/api/v1/sparks/{sparkId}/knowledge/{itemId}" \
-H "Authorization: Bearer minds_your_api_key"
Yanıt: 204 No Content (başarılı olduğunda boş body)
Nelerin Silineceği
- Bilgi öğesi kaydı
- İlişkili tüm vector embedding'leri
- İlişkili tüm örüntüler
- Storage'dan yüklenen dosya (dosya tabanlıysa)
Uyarı: Bu eylem geri alınamaz.
İşleme Nasıl Çalışır
- Yükleme - İçerik saklanır ve API başarı döndürür
- Çıkarma - Arka plan işlemi metni çıkarır (scraping, transkriptler, OCR, vision)
- Embedding - İçerik vector embedding'lere dönüştürülür
- Geri Alma - Sohbet sırasında ilgili bilgi semantik arama ile otomatik olarak alınır
Hatalar
| Kod | Mesaj | Neden |
|---|---|---|
| 400 | Link and description are required | Eksik zorunlu alanlar |
| 400 | Keywords array is required | Boş veya eksik anahtar kelimeler |
| 400 | File too large | Dosya 50MB limitini aşıyor |
| 400 | Can only watch link-based knowledge | Bir dosyayı izlemeye çalışıldı |
| 404 | Spark not found or access denied | Geçersiz spark ID veya erişim yok |
| 415 | Unsupported Content-Type | Yanlış Content-Type header'ı |