Minds Team

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
  }
}
AlanTipAçıklama
data.itemsarrayBilgi öğesi nesnelerinin dizisi
data.totalnumberBu 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

AlanTipZorunluAçıklama
filefileEvetYüklenecek dosya (maks 50MB)
descriptionstringEvetİç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.

ParametreTipZorunluAçıklama
keywordsstringEvetAranacak anahtar kelimeler (maks 35)
regeneratePromptbooleanHayırSonrası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

ParametreTipZorunluAçıklama
linkstringEvetWeb içeriğine URL
descriptionstringEvetİç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"
}
ParametreTipZorunluAçıklama
descriptionstringEvetGü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

  1. Yükleme - İçerik saklanır ve API başarı döndürür
  2. Çıkarma - Arka plan işlemi metni çıkarır (scraping, transkriptler, OCR, vision)
  3. Embedding - İçerik vector embedding'lere dönüştürülür
  4. Geri Alma - Sohbet sırasında ilgili bilgi semantik arama ile otomatik olarak alınır

Hatalar

KodMesajNeden
400Link and description are requiredEksik zorunlu alanlar
400Keywords array is requiredBoş veya eksik anahtar kelimeler
400File too largeDosya 50MB limitini aşıyor
400Can only watch link-based knowledgeBir dosyayı izlemeye çalışıldı
404Spark not found or access deniedGeçersiz spark ID veya erişim yok
415Unsupported Content-TypeYanlış Content-Type header'ı

Sonraki Adımlar