Documentation API

API REST + serveur MCP pour intégrer Stratigraphy dans vos outils, agents IA ou workflows automatisés.

v1Base URL : https://stratigraphy.pro/api/v1MCP : https://stratigraphy.pro/mcp

Authentification

Toutes les requêtes doivent inclure votre clé API dans l'en-tête Authorization. Générez vos clés depuis Dashboard → Clés API.

Authorization: Bearer sk_strat_xxxxxxxxxxxxxxxx

Exemple curl complet :

curl https://stratigraphy.pro/api/v1/calls \
  -H "Authorization: Bearer sk_strat_xxxxxxxxxxxxxxxx"
Les clés API sont propres à votre organisation. Ne les partagez pas et ne les commitez pas en clair dans votre code. Révoquez-les depuis le dashboard si compromises.

Rate limits

Les limites s'appliquent par clé API. Les en-têtes de réponse indiquent l'état courant.

Planreq / minutereq / jourEn-têtes
Cabinet12010 000X-RateLimit-*
API/Agent600100 000X-RateLimit-*

Au-delà des limites, l'API retourne 429 Too Many Requests avec X-RateLimit-Remaining: 0.

Scopes

Chaque clé API porte un sous-ensemble de scopes. Vous choisissez les scopes à la création de clé.

ScopePermet
calls:readLecture des appels à projets (GET /calls, outil MCP get_call)
calls:searchRecherche dans les AAP (MCP search_calls)
matches:readCalcul de matching projet ↔ AAP (MCP match_project)
projects:readLecture des projets de l'organisation
projects:writeCréation et modification de projets
audit:runDéclenchement d'audits IA (POST /audit, MCP audit_call)
webhooks:writeAbonnement aux alertes deadline (POST /subscriptions/deadlines)

GET/api/v1/calls

Liste les appels à projets avec filtres. Retourne jusqu'à 100 AAP par requête. Scope requis : calls:read.

Paramètres query

qstringRecherche plein texte dans titre et résumé (max 200 car.)
statusenumopen · closed · draft · archived · unknown
funding_typestringType de financement (subvention, prêt, concours, bourse…)
organizationstringOrganisme financeur (ex : BPI France, ANR)
limitintegerNombre de résultats, 1–100, défaut 20
offsetintegerPagination, défaut 0

Exemple

curl "https://stratigraphy.pro/api/v1/calls?status=open&limit=5" \
  -H "Authorization: Bearer sk_strat_xxx"

# Réponse 200
{
  "data": [
    {
      "id": 1042,
      "title": "AAP Innovation PME 2025",
      "organization": "BPI France",
      "status": "open",
      "deadline_at": "2025-09-30T23:59:00Z",
      "funding_type": "subvention",
      "budget_min_eur": 50000,
      "budget_max_eur": 500000,
      "geography": "France",
      "trl_min": 3,
      "trl_max": 7,
      "official_url": "https://..."
    }
  ],
  "total": 1
}

GET/api/v1/projects

Retourne tous les projets de l'organisation liée à la clé API. Scope requis : projects:read.

curl https://stratigraphy.pro/api/v1/projects \
  -H "Authorization: Bearer sk_strat_xxx"

# Réponse 200
{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Projet NOVA",
      "domain": "énergie",
      "keywords": ["hydrogène", "électrolyse"],
      "current_trl": 4,
      "target_trl": 7,
      "organization_id": "..."
    }
  ]
}

POST/api/v1/projects

Crée un nouveau projet R&D. Scope requis : projects:write.

Corps JSON

name*stringNom du projet (min 1, max 200 car.)
descriptionstringDescription détaillée (max 2000 car.)
domainstringDomaine d'activité (max 100 car.)
keywordsstring[]Liste de mots-clés (max 20, 50 car. chacun)
current_trlintegerTRL actuel 1–9
target_trlintegerTRL cible 1–9
estimated_budget_k_eurnumberBudget estimé en k€
project_typestringType de projet, défaut 'rd'

Exemple

curl -X POST https://stratigraphy.pro/api/v1/projects \
  -H "Authorization: Bearer sk_strat_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Projet NOVA",
    "description": "Électrolyseur PEM haute pression pour production H2",
    "keywords": ["hydrogène", "PEM", "électrolyse"],
    "current_trl": 4,
    "target_trl": 7,
    "estimated_budget_k_eur": 850
  }'

# Réponse 201
{ "data": { "id": "550e8400-...", "name": "Projet NOVA", ... } }

POST/api/v1/audit

Déclenche un audit IA approfondi d'un AAP : vérification de la deadline en live (web search), analyse des critères d'éligibilité, risques et recommandations. Scope requis : audit:run. Quota : 5/mois (Solidarité), illimité (PME+).

Corps JSON

call_id*integerID de l'AAP à auditer
project_iduuidID du projet (enrichit l'analyse d'éligibilité)
contextstringContexte supplémentaire à passer au modèle (max 2000 car.)

Exemple

curl -X POST https://stratigraphy.pro/api/v1/audit \
  -H "Authorization: Bearer sk_strat_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "call_id": 1042,
    "project_id": "550e8400-e29b-41d4-a716-446655440000"
  }'

# Réponse 200
{
  "data": {
    "call_id": 1042,
    "eligibility": "haute",
    "score": 82,
    "deadline_confirmed": true,
    "deadline_at": "2025-09-30T23:59:00Z",
    "risks": ["Budget max 500k€ peut être insuffisant pour phase 4"],
    "recommendation": "Candidater avec focus sur les livrables TRL 4→6",
    "reasoning": "..."
  }
}

POST/api/v1/subscriptions/deadlines

S'abonne à des alertes webhook pour les deadlines d'AAP. Scope requis : webhooks:write. Disponible Cabinet et API/Agent.

Corps JSON

callId*integerID de l'AAP à surveiller
alertDaysBeforeinteger[]Jours avant deadline pour déclencher l'alerte, défaut [7, 1]

Serveur MCP

Stratigraphy expose un serveur Model Context Protocol compatible avec Claude, Cursor, Zed et tout client MCP. Disponible Cabinet et API/Agent.

Endpoint

POST https://stratigraphy.pro/mcp

Transport : Streamable HTTP (MCP 2025-03-26)

Configuration claude_desktop_config.json

{
  "mcpServers": {
    "stratigraphy": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/client-http", "https://stratigraphy.pro/mcp"],
      "env": {
        "MCP_BEARER_TOKEN": "sk_strat_xxxxxxxxxxxxxxxx"
      }
    }
  }
}

Outils disponibles

search_calls

Recherche dans les 4 000+ AAP par thème, financement, TRL, géographie, deadline.

Scope : calls:search

get_call

Récupère un AAP par ID. Option fresh=true pour vérification live de la deadline.

Scope : calls:read

match_project

Retourne les AAP les plus pertinents pour un projet donné (matching sémantique + règles éligibilité).

Scope : matches:read

audit_call

Audit IA approfondi d'un AAP : deadline confirmée, risques éligibilité, recommandation.

Scope : audit:run

create_project

Crée un projet dans le portefeuille de l'organisation.

Scope : projects:write

subscribe_deadline_alerts

Abonnement webhook sur les deadlines d'AAP (prévu — disponible prochainement).

Scope : webhooks:write

Codes d'erreur

Code HTTPerrorCause
400validation_errorCorps ou paramètres invalides. Champ issues dans la réponse.
401unauthorizedClé API manquante ou révoquée.
402quota_exceededQuota plan dépassé. Champ upgradeUrl dans la réponse.
403insufficient_scopeScope requis absent de la clé.
404not_foundRessource introuvable.
429rate_limitedRate limit dépassé. Voir X-RateLimit-Reset.
500internal_errorErreur serveur — réessayez dans quelques instants.

Format d'erreur type

{
  "error": "quota_exceeded",
  "message": "Audit IA : quota mensuel atteint (5/5). Passez au plan PME pour un accès illimité.",
  "upgradeUrl": "https://stratigraphy.pro/pricing"
}