API REST

Une API REST pour
le graphe des compétences.

158 000 compétences, 8 référentiels, 18 073 junctions. x-api-key, OpenAPI 3.1, médiane < 200 ms en région fr-par.

BASE_URL=https://api.skillberg.app/v1
~99,9 % uptimeregion: fr-parp50 < 200 msopenapi 3.1 · stable
GET /v1/skills/search
$ curl https://api.skillberg.app/v1/skills/search?q=python \
-H "x-api-key: sk_live_..."
 
{
"skills": [
{
"uri": "skillberg://skill/a8f72c...",
"label": "Python",
"confidence": 0.98,
"referentials": ["esco", "onet"]
},
...
],
"meta": { "took_ms": 142, "region": "fr-par" }
}
01 · Auth

Authentification.

HEADERBuilder · Scale · Partner

Clé API en header

Une clé par environnement, générée depuis la console. Le secret n'est visible qu'à la création.

curl https://api.skillberg.app/v1/skills/search?q=python \
-H "x-api-key: sk_live_..."
  • Recommandé pour 95 % des intégrations
  • Rotation à tout moment depuis la console
  • Tier Discovery activé immédiatement après création
OAUTH 2.1Multi-tenant · DCR + PKCE

OAuth (Partner & Omni)

Pour les déploiements multi-tenants ou en marque blanche. Inclut DCR + PKCE.

POST /v1/oauth/token
grant_type=client_credentials
client_id=...
client_secret=...
  • Multi-tenant : un sous-token par utilisateur final
  • Compatible avec le MCP Connector
  • Sur devis — contact@skillberg.app
02 · Endpoints

Cinq familles d'endpoints.

Un seul graphe canonique. Chaque famille manipule un type de ressource.

01

Skills

Recherche, fetch, et exploration du graphe de 158 000 compétences canoniques.

Voir dans l'OpenAPI
GET/v1/skills/search?q={query}Recherche fuzzy.
GET/v1/skills/{uri}Fiche complète multilingue.
GET/v1/skills/{uri}/neighborsCompétences voisines (prérequis, broader, narrower).
GET/v1/skills/{uri}/prerequisitesArbre des prérequis (Skill Trees).
02

Occupations

20 600 occupations sur 8 référentiels, recherche et fiches détaillées.

Voir dans l'OpenAPI
GET/v1/occupations/search?q={query}Recherche fuzzy par titre.
GET/v1/occupations/{uri}Fiche occupation + skills requis.
GET/v1/occupations/{uri}/skillsSkills requis avec niveau de proficiency.
03

CVs

Parsing et enrichissement de CV en texte brut.

Voir dans l'OpenAPI
POST/v1/cvs/treatParse un CV en texte brut.
POST/v1/cvs/enrichEnrichit un CV parsé avec URI Skillberg.
POST/v1/cvs/extract-skillsRaccourci : texte brut → skill URIs.
04

Matching

Score d'adéquation entre un CV et un poste.

Voir dans l'OpenAPI
POST/v1/matching/cv-to-jobCV uploadé (user_id) ↔ poste (job_id).
POST/v1/matching/cv-text-to-job-textTexte brut ↔ texte brut, sans upload.
05

Crosswalk

Conversion d'une URI Skillberg vers un référentiel cible.

Voir dans l'OpenAPI
GET/v1/crosswalk?uri={uri}&target={esco|rome|onet|competent|ssf}Conversion.
Tous les endpoints dans l'OpenAPI 3.1
03 · Quotas

Quotas et rate limits.

Liés au tier choisi côté console.

TierQuota mensuelRate limitOverage
Discovery500 crédits / mois500 req/jourSoft-block après quota
Builder10 000 crédits / mois5 000 req/jour0,07 € / crédit
Scale25 000 crédits / mois10 000 req/jour0,06 € / crédit
Partner50 000 crédits / moisIllimité0,05 € / crédit
OmniIllimitéIllimitéSur devis

Quota par mois calendaire. Reset le 1er du mois à 00:00 UTC. Discovery accessible sans clé, sans inscription.

04 · Régions

Régions.

fr-par
Paris
Région par défaut. Médiane < 200 ms depuis l'Europe.
Disponible
eu-west
Dublin
Réplique active-passive.
Q3 2026
us-east
Ashburn, VA
Pour les clients US.
Q4 2026
05 · Latence

Latence.

Latence médiane < 200 ms p50, < 500 ms p99 depuis l'Europe sur les endpoints GET /v1/skills/*. Les endpoints POST /v1/matching/* ajoutent 100–300 ms (inférence).

GET /v1/skills/search~140 ms p50
GET /v1/skills/{uri}~80 ms p50
POST /v1/cvs/treat~400 ms p50
POST /v1/matching/cv-text-to-job-text~600 ms p50
06 · Errors

Modèle d'erreur.

Toutes les erreurs retournent un objet JSON standard avec un code stable.

{
"error": {
"code": "rate_limit_exceeded",
"message": "Quota mensuel atteint.",
"details": {
"tier": "starter",
"reset_at": "2026-06-01T00:00:00Z"
}
}
}
invalid_api_key401
rate_limit_exceeded429
quota_exhausted429
not_found404
validation_error400
internal_error500
07 · Versioning

Versioning.

Préfixe /v1 stable. Les changements breaking sont annoncés 6 mois à l'avance, avec un header Sunset sur les endpoints concernés.

  • Pas de breaking change sans annonce explicite
  • Champs additionnels = non-breaking
  • Tous les changements documentés dans le CHANGELOG (lien GitHub)
  • Migration guide pour chaque major
Voir le CHANGELOG
08 · SDK & spec

SDK et spec.

OpenAPI 3.1

Spec complète, machine-readable. Importable dans Postman, Insomnia, Stoplight.

openapi.json
β

Python SDK

Client officiel, types async, retries automatiques.

pip install skillberg
Bientôt

TypeScript SDK

Client TS prévu Q3 2026.

Me prévenir

Exemples GitHub

Recettes complètes pour les 5 familles, en curl / Python / Node.

github.com/Skillberg-app
09 · Agent-ready

Documentation lisible par les agents.

api.skillberg.app expose un llms.txt, une version llms-full.txt et l'OpenAPI 3.1. Vos agents peuvent l'explorer sans passer par nous.

api.skillberg.app · machine-readableLIVE

Compatible avec Claude · ChatGPT · Cursor · Cline · Continue.

prompt · copier-coller dans Claude / ChatGPT / Cursor
Peux-tu explorer la documentation de l'API Skillberg sur
https://api.skillberg.app et voir comment on pourrait intégrer
rapidement leurs outils dans notre application ?

Points à couvrir :
- les 5 familles d'endpoints (skills, occupations, cvs, matching, crosswalk)
- l'authentification x-api-key
- un exemple de requête `GET /v1/skills/search` avec la réponse JSON
- les quotas du tier Builder

Spec machine-readable : https://api.skillberg.app/openapi.json
LLM-friendly digest : https://api.skillberg.app/llms.txt
Version complète : https://api.skillberg.app/llms-full.txt
09 · Commencer

Trente secondes pour une clé.
Cinq minutes pour une intégration.

Créez votre compte, générez une clé, lisez l'OpenAPI.

Créer une clé API gratuite Lire l'OpenAPI
BASE_URL=https://api.skillberg.app/v1   AUTH=x-api-key

Besoin d'OAuth ou de quotas Omni ? contact@skillberg.app