PortfoliA PortfoliA Dev
Developer Resources & LLM Tooling

Portail Développeur & API PortfoliA

Bienvenue sur le portail développeur de PortfoliA. Intégrez l'audit ATS automatisé, la génération de CV vectoriels et l'alignement sémantique d'offres directement au sein de vos applications d'insertion, de vos SIRH ou de vos agents autonomes.

Consulter OpenAPI 3.0 (JSON) Instructions Agents (llms.txt)

Authentification, Licences & Quotas

L'accès programmatique aux points de terminaison de l'API PortfoliA est strictement protégé par authentification et soumis à licence commerciale ou abonnement Établissement/Entreprise. Tout appel non authentifié est immédiatement rejeté (HTTP 401 Unauthorized).

Authorization: Bearer VOTRE_API_KEY

Rate Limiting & Protection : Les clés API disposent d'un quota strict de 60 requêtes/minute et d'un volume mensuel contractualisé. Tout dépassement déclenche une erreur HTTP 429 (Too Many Requests). Pour souscrire un accès API ou connecter vos SIRH/LMS, consultez nos tarifs ou contactez notre équipe via notre formulaire de support.

Points de Terminaison Clés

Méthode Endpoint OperationId Description
POST /api/v1/cv/ats-audit auditCvAtsScore Analyse le texte brut du CV et renvoie le score ATS (0-100) et les alertes de parsing.
POST /api/v1/cv/tailor-offer tailorCvToJobOffer Compare le profil candidat à une fiche de poste et propose un ordonnancement optimal.
POST /api/v1/cv/generate generateVectorCv Compile les données structurées en un PDF vectoriel A4 typographique pur.
GET /api/v1/portfolios/{username} getPublicPortfolio Récupère les informations publiques et projets vérifiés d'un profil étudiant.

Exemple d'Appel cURL : Audit ATS

curl -X POST "https://portfolia.fr/api/v1/cv/ats-audit" \
  -H "Content-Type: application/json" \
  -d '{
    "raw_text": "Thomas Dupont - Ingénieur Fullstack TypeScript & React. Projets : Conception d'un moteur de recherche vectoriel...",
    "target_role": "Développeur Fullstack React / Node.js"
  }'

Réponse Type

{
  "score": 88,
  "grade": "A",
  "readability_status": "100% vector text parseable",
  "findings": [
    {
      "type": "passed",
      "message": "Flux séquentiel linéaire sans colonnes entremêlées",
      "impact": "+15 pts"
    },
    {
      "type": "passed",
      "message": "Présence de métriques chiffrées d'impact",
      "impact": "+10 pts"
    }
  ]
}

Outil CLI Officiel (Command-Line Interface)

Automatisez vos scripts et tests d'agents directement dans le terminal grâce à notre outil CLI officiel :

# Audit de lisibilité ATS direct
npx @portfolia/cli audit mon-cv.txt

# Alignement d'un CV sur une fiche de poste
npx @portfolia/cli tailor cv.txt offre.txt

# Récupération d'un portfolio étudiant
npx @portfolia/cli portfolio thomas_dupont

Environnement Sandbox & Clé d'Essai Gratuite

Pour permettre aux développeurs et agents autonomes de tester l'intégration sans friction ni carte bancaire, nous fournissons un environnement de test isolé (Sandbox) avec réponses mockées et génération instantanée :

URL Sandbox : https://sandbox.portfolia.fr (ou endpoint /api/v1/sandbox)

Clé d'essai gratuite immédiate :

Authorization: Bearer pk_test_portfolia_sandbox_demo

Permissions Granulaires (Scoped Permissions — RFC 9728)

Les accès API s'appuient sur des portées (scopes) OAuth 2.0 pour respecter le principe du moindre privilège :

Métadonnées conformes RFC 9728 disponibles publiquement sur /.well-known/oauth-protected-resource.

Serveur MCP (Model Context Protocol)

PortfoliA expose un serveur MCP conforme au protocole d'Anthropic / Claude / OpenAI pour l'appel natif d'outils via transport Streamable HTTP :

Manifeste MCP vérifié : /.well-known/mcp/manifest.json

Politique de Versionnement et d'Obsolescence (RFC 8594)

Toutes nos API suivent un versionnement strict par préfixe d'URI (actuellement /api/v1). En cas d'évolution majeure :

Compatibilité avec les Agents Autonomes (Function Calling)

Notre spécification OpenAPI 3.0 respecte scrupuleusement les exigences de compatibilité avec les outils d'appels de fonctions (OpenAI Tool Calling, Claude Tools, Gemini Function Calling) : chaque opération dispose d'un operationId unique, d'une description fonctionnelle précise et de schémas de paramètres strictement typés.