API Owlic

Owlic pour les développeurs

Ton CRM, ton LMS ou ton agent IA connaissent déjà tout de tes sessions de formations ?
L’API permet de les synchroniser directement dans Owlic, sans ressaisie. Programmes de formation, dossiers Qualiopi, conventions, convocations et émargements suivent.

Ce que tu peux faire avec l’API

Identité

Vérifier la clé utilisée et l’organisation à laquelle elle donne accès

Programmes de formation

Garde ton catalogue synchronisé avec ton site ou ton LMS.

Formateurs

Retrouver les intervenants rattachés à ton organisme de formation

Actions de formation

les créer, les lire, les mettre à jour, les lister.

Démarrer en 3 minutes

1crée une clé d’API d’organisation

Depuis le tableau de bord Owlic, c’est 2 clics.

2Installe le SDK :

npm install @owlic/sdk

3Fais ton premier appel :

import { Owlic } from '@owlic/sdk';

const owlic = new Owlic({ apiKey: process.env.OWLIC_API_KEY });

const me = await owlic.whoami();
console.log(me.organizationId);

Tu n’es pas en TypeScript ?

Toute l’API se consomme en HTTP classique, avec Authorization: Bearer <clé> ou X-Api-Key.

  • Typé de bout en bout : il est généré à partir du même contrat que l’OpenAPI, donc il ne peut pas se désynchroniser de l’API.
  • Léger : une fine couche au-dessus de fetch, compatible Node.js 18+, edge, Bun et Deno.
  • Pensé pour la prod : reprises automatiques avec backoff (qui respectent Retry-After), pagination par itération asynchrone, erreurs typées (NotFoundError, RateLimitError…).
  • Sûr par défaut : il refuse de tourner dans un navigateur, pour que ta clé ne se retrouve pas exposée.

Disponible sur Github

  • Le contrat OpenAPI 3.1 est lisible par machine : un agent peut l’importer tel quel comme ensemble d’outils.
  • Chaque page du site existe en Markdown : envoie Accept: text/markdown.
  • llms.txt présente Owlic et liste ses pages.

L’API est versionnée dans l’URL (/v1)

Tout changement incompatible passera par une nouvelle version. Une opération dépréciée est annoncée par les en-têtes Deprecation et Sunset, au moins [X] mois avant son retrait.

Les requêtes sont limitées à [N] par minute et par clé.

Au-delà, l’API répond 429 avec Retry-After.