Documentation
Documentation de l'API Skillsail
Documentation de l’API Skillsail : description OpenAPI, erreurs API structurées, gestion des versions et politique de dépréciation pour les agents et les clients HTTP.
Cette documentation relative à l’API Skillsail décrit la version 1. La description OpenAPI est disponible à l’adresse https://skillsail.com/openapi.json. La création de cours ne constitue pas un ensemble de ressources REST : les agents créent et modifient des modules via le serveur MCP de Skillsail à l’adresse https://skillsail.com/mcp.
Spécification OpenAPI
GET https://skillsail.com/openapi.json renvoie des données JSON au format OpenAPI 3.1. Il couvre :
GET /api/health— accessibilité du serviceGET /openapi.json— ce document OpenAPIGET /.well-known/oauth-protected-resource/mcp— Métadonnées des ressources protégées par OAuthPOST /mcp— transport MCP Skillsail authentifié
Documents connexes rédigés par des humains : ressources pour les développeurs Skillsail et instructions d’authentification Skillsail.
Gestion des versions
Envoyez l’en-tête de requête facultatif « Skillsail-Api-Version: 1 ». Si cet en-tête est omis, Skillsail fournit la version v1. La valeur actuelle de info.version dans le document OpenAPI est 1.0.0.
Le point de terminaison MCP reste accessible à l'adresse /mcp. Les clients MCP doivent lire la version du protocole à partir de la fiche du serveur MCP de Skillsail plutôt qu'à partir d'un préfixe de chemin REST.
Ne présumez pas d’une future URL /v2 tant que Skillsail n’en aura pas publié une dans ce document et dans OpenAPI.
Erreurs API structurées
Les erreurs de découverte REST suivent la norme RFC 9457 application/problem+json. L’URL GET /openapi.json utilise ce modèle lorsque la découverte n’est pas disponible. Chaque objet signalant un problème comprend :
type— URI identifiant la classe de problèmestitle— résumé court et stablestatus— Code d'état HTTPdetail— message lisible par l’utilisateurcode— Code d’erreur Skillsail lisible par machine
Exemple :
{
"type": "https://skillsail.com/docs/api#not-found",
"title": "Not Found",
"status": 404,
"detail": "This URL is not a Skillsail API resource.",
"code": "not_found"
}
Les métadonnées des ressources protégées par OAuth (/.well-known/oauth-protected-resource/mcp) utilisent le format JSON OAuth, et non « problem+json ». Une interruption de la configuration renvoie 503 application/json :
{
"error": "temporarily_unavailable",
"error_description": "OAuth metadata is temporarily unavailable"
}
Les suffixes inconnus sur la route /.well-known/oauth-protected-resource/mcp renvoient 404 avec un corps text/plain contenant Not found.
Le transport HTTP MCP à l'adresse POST /mcp:
- Pas d’en-tête «
Authorization» :401avec un corps vide etWWW-Authenticate(resource_metadata, sanserror=). Analysez le JSON uniquement lorsqueContent-Typeestapplication/json. - Jeton de porteur non valide ou mal formé :
401JSON{ "error": "invalid_token", "error_description": "..." } - Jeton valide sans autorisation :
403JSON{ "error": "insufficient_scope", "error_description": "..." } - Interruption du service d’authentification :
503JSON{ "error": "temporarily_unavailable", "error_description": "..." }avecRetry-After
Obsolescence
Lorsqu’une opération ou une représentation est obsolète, les réponses peuvent inclure :
Deprecation: @1688169599— Champ structuré « Date » (horodatage Unix) selon la RFC 9745. Il ne s’agit pas de la variable booléenne «true».Sunsetavec une date HTTP (RFC 8594)
Les modifications entraînant une rupture de compatibilité sont annoncées au moins 90 jours avant la date de fin de prise en charge. Les modifications additives et rétrocompatibles peuvent être intégrées à la version 1 sans qu'une nouvelle version ne soit publiée. Après la fin de prise en charge, Skillsail peut supprimer la fonctionnalité.
Les réponses REST réussies peuvent renvoyer Skillsail-Api-Version: 1.