Get started
API v1
API v1
Basis: https://clawhub.ai
OpenAPI: /api/v1/openapi.json
Hergebruik van de openbare catalogus
Je kunt boven op de openbare lees-API's van ClawHub een catalogus, directory of zoekinterface van derden bouwen. Openbare metadata en bestanden van Skills worden gepubliceerd volgens de licentieregels voor Skills van ClawHub, terwijl de API zelf snelheidslimieten heeft en verantwoord moet worden gebruikt.
Richtlijnen:
- Gebruik openbare leeseindpunten zoals
GET /api/v1/skills,GET /api/v1/searchenGET /api/v1/skills/{slug}voor catalogusvermeldingen. - Cache reacties en respecteer
429,Retry-Afteren headers voor snelheidslimieten in plaats van agressief te pollen. - Link bij het weergeven van vermeldingen terug naar de canonieke URL van de ClawHub-skill, zodat gebruikers de bronvermelding in het register kunnen bekijken.
- Gebruik canonieke pagina-URL's in de vorm
https://clawhub.ai/<owner>/skills/<slug>. - Wek niet de indruk dat ClawHub de website van derden onderschrijft, verifieert of beheert.
- Spiegel geen verborgen, privé- of door moderatie geblokkeerde inhoud door openbare API-filters of authenticatiegrenzen te omzeilen.
Authenticatie
- Openbaar lezen: geen token vereist.
- Schrijven + account:
Authorization: Bearer clh_....
Snelheidslimieten
Authenticatiebewuste handhaving:
-
Anonieme aanvragen: per IP.
-
Geverifieerde aanvragen (geldig Bearer-token): per gebruikersbucket.
-
Bij een ontbrekend/ongeldig token wordt teruggevallen op handhaving per IP.
-
Lezen: 3000/min per IP, 12000/min per sleutel
-
Schrijven: 300/min per IP, 3000/min per sleutel
-
Downloaden: 1200/min per IP, 6000/min per sleutel
Headers: X-RateLimit-Limit, X-RateLimit-Reset, RateLimit-Limit, RateLimit-Reset;
X-RateLimit-Remaining, RateLimit-Remaining en Retry-After worden opgenomen bij 429.
Semantiek:
X-RateLimit-Reset: seconden sinds het Unix-tijdperk (absoluut tijdstip van reset)RateLimit-Reset: aantal seconden vertraging tot de resetX-RateLimit-Remaining/RateLimit-Remaining: exact resterend budget indien aanwezig; succesvolle gesharde aanvragen laten dit weg in plaats van een globale waarde bij benadering terug te gevenRetry-After: aantal seconden dat moet worden gewacht bij429
Voorbeeld van 429:
HTTP/2 429x-ratelimit-limit: 20x-ratelimit-remaining: 0x-ratelimit-reset: 1771404540ratelimit-limit: 20ratelimit-remaining: 0ratelimit-reset: 34retry-after: 34Afhandeling door de client:
- Geef de voorkeur aan
Retry-Afterindien aanwezig. - Gebruik anders
RateLimit-Resetof leid de vertraging af uitX-RateLimit-Reset. - Voeg jitter toe aan nieuwe pogingen.
Fouten
- v1-fouten zijn platte tekst (
text/plain; charset=utf-8), waaronder400,401,403,404,429en reacties voor geblokkeerde downloads. - Onbekende queryparameters worden voor compatibiliteit genegeerd.
- Bekende queryparameters met ongeldige waarden retourneren
400.
Eindpunten
Openbaar lezen:
GET /api/v1/search?q=...- Optionele filters:
highlightedOnly=true,nonSuspiciousOnly=true - Verouderde alias:
nonSuspicious=true
- Optionele filters:
GET /api/v1/skills?limit=&cursor=&sort=sort:updated(standaard),recommended(default),createdAt(newest),downloads,stars(rating), verouderde installatiealiasseninstallsCurrent/installs/installsAllTimeverwijzen naardownloads,trending- Ongeldige waarden voor
sortretourneren400 cursoris van toepassing op sorteringen die niettrendingzijn- Optioneel filter:
nonSuspiciousOnly=true - Verouderde alias:
nonSuspicious=true - Met
nonSuspiciousOnly=truekunnen cursorgebaseerde pagina's minder danlimititems bevatten; gebruiknextCursorom door te gaan. recommendedgebruikt signalen voor betrokkenheid en recentheid.
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=- Gehoste Skills retourneren deterministische ZIP-bytes.
- Huidige door GitHub ondersteunde Skills met een
clean- ofsuspicious-scan retourneren een JSON-public-github-overdrachtsdescriptor in plaats van bytes van ClawHub.
GET /api/v1/skills/export?startDate=&endDate=&limit=&cursor=- Gehoste Skills worden geëxporteerd als opgeslagen bestanden.
- Huidige door GitHub ondersteunde Skills met een
clean- ofsuspicious-scan worden geëxporteerd alspublic-github-overdrachtsdescriptors.
GET /api/v1/packages?limit=&cursor=&sort=sort:updated(standaard),recommended,downloads, verouderde aliasinstalls- Ongeldige waarden voor
sortretourneren400
GET /api/v1/plugins?limit=&cursor=&sort=sort:recommended(standaard),downloads,updated, verouderde aliasinstalls
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
Authenticatie vereist:
POST /api/v1/skills(publiceren, bij voorkeur multipart)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
Alleen voor beheerders:
POST /api/v1/users/reservereserveert root-slugs en privéplaatshouders voor pakketten zonder release voor een eigenaarshandle.
Verouderd
Verouderde /api/* en /api/cli/* zijn nog steeds beschikbaar. Zie DEPRECATIONS.md.