Baslangic
API v1
API v1
Temel: https://clawhub.ai
OpenAPI: /api/v1/openapi.json
Herkese açık kataloğun yeniden kullanımı
ClawHub'ın herkese açık okuma API'leri üzerine üçüncü taraf bir katalog, dizin veya arama yüzeyi oluşturabilirsiniz. Herkese açık skill meta verileri ve skill dosyaları ClawHub'ın skill lisansı kuralları kapsamında yayımlanırken API'nin kendisi hız sınırlamasına tabidir ve sorumlu biçimde kullanılmalıdır.
Yönergeler:
- Katalog listelemeleri için
GET /api/v1/skills,GET /api/v1/searchveGET /api/v1/skills/{slug}gibi herkese açık okuma uç noktalarını kullanın. - Yoğun yoklama yapmak yerine yanıtları önbelleğe alın ve
429,Retry-Afterile hız sınırı üstbilgilerine uyun. - Kullanıcıların kaynak kayıt defteri kaydını inceleyebilmesi için listelemeleri görüntülerken standart ClawHub skill URL'sine bağlantı verin.
https://clawhub.ai/<owner>/skills/<slug>biçimindeki standart sayfa URL'lerini kullanın.- ClawHub'ın üçüncü taraf siteyi desteklediğini, doğruladığını veya işlettiğini ima etmeyin.
- Herkese açık API filtrelerini veya kimlik doğrulama sınırlarını aşarak gizli, özel ya da moderasyon tarafından engellenmiş içerikleri yansıtmayın.
Kimlik doğrulama
- Herkese açık okuma: belirteç gerekmez.
- Yazma + hesap:
Authorization: Bearer clh_....
Hız sınırları
Kimlik doğrulama durumuna duyarlı uygulama:
-
Anonim istekler: IP başına.
-
Kimliği doğrulanmış istekler (geçerli Bearer belirteci): kullanıcı havuzu başına.
-
Eksik/geçersiz belirteç, IP tabanlı uygulamaya geri döner.
-
Okuma: IP başına 3000/dk., anahtar başına 12000/dk.
-
Yazma: IP başına 300/dk., anahtar başına 3000/dk.
-
İndirme: IP başına 1200/dk., anahtar başına 6000/dk.
Üstbilgiler: X-RateLimit-Limit, X-RateLimit-Reset, RateLimit-Limit, RateLimit-Reset;
X-RateLimit-Remaining, RateLimit-Remaining ve Retry-After, 429 üzerinde yer alır.
Anlamları:
X-RateLimit-Reset: Unix epoch saniyesi (mutlak sıfırlama zamanı)RateLimit-Reset: sıfırlamaya kadar geçecek saniyeX-RateLimit-Remaining/RateLimit-Remaining: mevcut olduğunda tam kalan kota; parçalanmış başarılı istekler, yaklaşık bir genel değer döndürmek yerine bunu atlarRetry-After:429durumunda beklenecek saniye
Örnek 429:
HTTP/2 429x-ratelimit-limit: 20x-ratelimit-remaining: 0x-ratelimit-reset: 1771404540ratelimit-limit: 20ratelimit-remaining: 0ratelimit-reset: 34retry-after: 34İstemci işlemesi:
- Mevcut olduğunda
Retry-Afterdeğerini tercih edin. - Aksi takdirde
RateLimit-Resetdeğerini kullanın veya gecikmeyiX-RateLimit-Resetdeğerinden türetin. - Yeniden denemelere rastgele sapma ekleyin.
Hatalar
- v1 hataları,
400,401,403,404,429ve engellenmiş indirme yanıtları dâhil olmak üzere düz metindir (text/plain; charset=utf-8). - Bilinmeyen sorgu parametreleri uyumluluk için yok sayılır.
- Geçersiz değerlere sahip bilinen sorgu parametreleri
400döndürür.
Uç noktalar
Herkese açık okuma:
GET /api/v1/search?q=...- İsteğe bağlı filtreler:
highlightedOnly=true,nonSuspiciousOnly=true - Eski diğer ad:
nonSuspicious=true
- İsteğe bağlı filtreler:
GET /api/v1/skills?limit=&cursor=&sort=sort:updated(varsayılan),recommended(default),createdAt(newest),downloads,stars(rating), eski kurulum diğer adlarıinstallsCurrent/installs/installsAllTime,downloadsile eşleşir,trending- Geçersiz
sortdeğerleri400döndürür cursor,trendingdışındaki sıralamalara uygulanır- İsteğe bağlı filtre:
nonSuspiciousOnly=true - Eski diğer ad:
nonSuspicious=true nonSuspiciousOnly=trueile imleç tabanlı sayfalarlimitöğeden daha azını içerebilir; devam etmek içinnextCursorkullanın.recommended, etkileşim ve güncellik sinyallerini kullanır.
GET /api/v1/skills/{slug}GET /api/v1/skills/{slug}/moderationGET /api/v1/skills/{slug}/versions?limit=&cursor=GET /api/v1/skills/{slug}/versions/{version}GET /api/v1/skills/{slug}/scan?version=&tag=GET /api/v1/skills/{slug}/file?path=&version=&tag=GET /api/v1/resolve?slug=&hash=GET /api/v1/download?slug=&version=&tag=- Barındırılan skill'ler belirlenimci ZIP baytları döndürür.
cleanveyasuspicioustaramasına sahip mevcut GitHub destekli skill'ler, ClawHub baytları yerine JSONpublic-githubaktarım tanımlayıcısı döndürür.
GET /api/v1/skills/export?startDate=&endDate=&limit=&cursor=- Barındırılan skill'ler, depolanan dosyalar olarak dışa aktarılır.
cleanveyasuspicioustaramasına sahip mevcut GitHub destekli skill'ler,public-githubaktarım tanımlayıcıları olarak dışa aktarılır.
GET /api/v1/packages?limit=&cursor=&sort=sort:updated(varsayılan),recommended,downloads, eski diğer adinstalls- Geçersiz
sortdeğerleri400döndürür
GET /api/v1/plugins?limit=&cursor=&sort=sort:recommended(varsayılan),downloads,updated, eski diğer adinstalls
GET /api/v1/plugins/search?q=...GET /api/v1/packages/{name}/versions/{version}/artifactGET /api/v1/packages/{name}/versions/{version}/securityGET /api/v1/packages/{name}/versions/{version}/artifact/downloadGET /api/npm/{package}GET /api/npm/{package}/-/{tarball}.tgz
Kimlik doğrulama gerekli:
POST /api/v1/skills(yayımlama, tercihen çok parçalı)DELETE /api/v1/skills/{slug}DELETE /api/v1/packages/{name}POST /api/v1/skills/{slug}/undeletePOST /api/v1/packages/{name}/undeletePOST /api/v1/skills/{slug}/renamePOST /api/v1/skills/{slug}/mergePOST /api/v1/skills/{slug}/transferPOST /api/v1/packages/{name}/transferPOST /api/v1/skills/{slug}/transfer/acceptPOST /api/v1/skills/{slug}/transfer/rejectPOST /api/v1/skills/{slug}/transfer/cancelGET /api/v1/skills/export?startDate=&endDate=&limit=&cursor=GET /api/v1/plugins/export?startDate=&endDate=&limit=&cursor=&family=GET /api/v1/transfers/incomingGET /api/v1/transfers/outgoingGET /api/v1/whoami
Yalnızca yönetici:
POST /api/v1/users/reserve, bir sahip kullanıcı adı için kök kısa adları ve sürümü olmayan özel paket yer tutucularını ayırır.
Eski
Eski /api/* ve /api/cli/* hâlâ kullanılabilir. Bkz. DEPRECATIONS.md.