Aller au contenu
SkynetDocumentation
Pages

Intégrations

API

Authentifiez-vous, lancez une exécution et lisez les résultats avec l'API HTTP.

L'API HTTP de Skynet permet à des scripts et à des outils de faire ce que fait l'application web : lancer des exécutions, les suivre et lire leurs résultats. Cette page explique comment signer les requêtes, où trouver la référence complète, et donne un exemple complet.

URL de base

Envoyez chaque requête à :

https://api.skynetml.com

Authentification

L'API utilise des jetons d'API.

  1. Ouvrez les Paramètres dans Skynet, puis l'onglet API.
  2. Cliquez sur Générer un jeton.
  3. Copiez immédiatement le jeton. Skynet n'affiche le jeton complet qu'une seule fois.

Envoyez le jeton dans l'en-tête Authorization de chaque requête :

Authorization: Bearer skyd_...
  • Les jetons commencent par skyd_.
  • Chaque utilisateur possède au plus un jeton valide. Un nouveau jeton désactive l'ancien.
  • Cliquez sur Révoquer le jeton pour désactiver un jeton.

Référence interactive

La référence complète se trouve sur api.skynetml.com/scalar. Elle liste chaque point de terminaison public, ses champs et ses réponses. Vous pouvez envoyer des requêtes de test depuis cette page.

La référence lit le document OpenAPI à l'adresse https://api.skynetml.com/openapi.public.json. Utilisez ce fichier pour générer un client dans votre langage.

Principaux points de terminaison

Méthode et cheminRôle
GET /modelsListe les modèles que vous pouvez utiliser.
GET /optimizersListe les optimiseurs adaptés à une configuration.
GET /blackbox/enginesListe les moteurs natifs et indique si chacun est disponible.
POST /optimizeLance une exécution pour un prompt, du code, du texte ou un programme DSPy.
POST /blackbox/runLance une exécution sur un dépôt GitHub.
GET /optimizationsListe vos exécutions.
GET /optimizations/{optimization_id}Renvoie une exécution : statut, progression, journaux et résultat.
GET /optimizations/{optimization_id}/artifactRenvoie la meilleure version trouvée par l'exécution.
POST /optimizations/{optimization_id}/cancelArrête une exécution.
POST /serve/{optimization_id}Exécute la meilleure version sur une nouvelle entrée.
GET /healthIndique si le service est disponible.

Lancer une exécution

POST /optimize accepte la même configuration que l'assistant de soumission. Cet exemple améliore un prompt qui classe des messages de support selon des étiquettes.

curl https://api.skynetml.com/optimize \
  -H "Authorization: Bearer $SKYNET_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: support-labels-001" \
  -d @run.json

Champs importants :

  • task.artifact.kind vaut prompt, code, text ou dspy_program.
  • data.mode vaut pairs (des entrées avec des sorties attendues) ou single (exactement un cas).
  • optimizer.choice vaut auto ou le nom d'un optimiseur renvoyé par GET /optimizers.
  • max_cost_cents est le plafond de dépenses de cette exécution, en cents de dollar américain.
  • is_private vaut false par défaut. Passez-le à true pour garder l'exécution privée.

Lisez Métriques et évaluateurs pour les règles de run_code et metric_code.

Réponses

StatutSignification
201Skynet a mis l'exécution en file d'attente. Le corps contient optimization_id et status.
202La vérification de la configuration est toujours en cours. Attendez le nombre de secondes indiqué dans l'en-tête Retry-After. Renvoyez ensuite le même corps avec la même Idempotency-Key.
402Votre solde est insuffisant.
409Vous avez atteint un quota, ou la vérification de la configuration n'est plus à jour.
422La requête ou le code de l'espace de travail ne convient pas à l'optimiseur.

Suivre une exécution

Interrogez l'exécution jusqu'à ce que son statut soit final :

curl https://api.skynetml.com/optimizations/$RUN_ID \
  -H "Authorization: Bearer $SKYNET_TOKEN"

Le champ status prend l'une des valeurs suivantes :

StatutFinal
pending, validating, runningNon
pausedNon
successOui
failed, cancelled, stoppedOui

Interrogez toutes les 10 à 30 secondes. Une exécution peut durer de quelques minutes à plusieurs heures.

La référence de l'API liste chaque champ de la réponse d'une exécution.

Utiliser le résultat

Quand le statut est success, récupérez la meilleure version :

curl https://api.skynetml.com/optimizations/$RUN_ID/artifact \
  -H "Authorization: Bearer $SKYNET_TOKEN"

Pour exécuter la meilleure version sur une nouvelle entrée, envoyez POST /serve/{optimization_id}. Lisez Résultats pour la signification de chaque score.

Limites

L'API applique les mêmes quotas, limites de débit et règles de facturation que l'application web. Lisez Limites et Facturation.