Documentation API
API REST + serveur MCP pour intégrer Stratigraphy dans vos outils, agents IA ou workflows automatisés.
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"
Rate limits
Les limites s'appliquent par clé API. Les en-têtes de réponse indiquent l'état courant.
| Plan | req / minute | req / jour | En-têtes |
|---|---|---|---|
| Cabinet | 120 | 10 000 | X-RateLimit-* |
| API/Agent | 600 | 100 000 | X-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é.
| Scope | Permet |
|---|---|
calls:read | Lecture des appels à projets (GET /calls, outil MCP get_call) |
calls:search | Recherche dans les AAP (MCP search_calls) |
matches:read | Calcul de matching projet ↔ AAP (MCP match_project) |
projects:read | Lecture des projets de l'organisation |
projects:write | Création et modification de projets |
audit:run | Déclenchement d'audits IA (POST /audit, MCP audit_call) |
webhooks:write | Abonnement 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
q | string | Recherche plein texte dans titre et résumé (max 200 car.) |
status | enum | open · closed · draft · archived · unknown |
funding_type | string | Type de financement (subvention, prêt, concours, bourse…) |
organization | string | Organisme financeur (ex : BPI France, ANR) |
limit | integer | Nombre de résultats, 1–100, défaut 20 |
offset | integer | Pagination, 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* | string | Nom du projet (min 1, max 200 car.) |
description | string | Description détaillée (max 2000 car.) |
domain | string | Domaine d'activité (max 100 car.) |
keywords | string[] | Liste de mots-clés (max 20, 50 car. chacun) |
current_trl | integer | TRL actuel 1–9 |
target_trl | integer | TRL cible 1–9 |
estimated_budget_k_eur | number | Budget estimé en k€ |
project_type | string | Type 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* | integer | ID de l'AAP à auditer |
project_id | uuid | ID du projet (enrichit l'analyse d'éligibilité) |
context | string | Contexte 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* | integer | ID de l'AAP à surveiller |
alertDaysBefore | integer[] | 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/mcpTransport : 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_callsRecherche dans les 4 000+ AAP par thème, financement, TRL, géographie, deadline.
Scope : calls:search
get_callRécupère un AAP par ID. Option fresh=true pour vérification live de la deadline.
Scope : calls:read
match_projectRetourne les AAP les plus pertinents pour un projet donné (matching sémantique + règles éligibilité).
Scope : matches:read
audit_callAudit IA approfondi d'un AAP : deadline confirmée, risques éligibilité, recommandation.
Scope : audit:run
create_projectCrée un projet dans le portefeuille de l'organisation.
Scope : projects:write
subscribe_deadline_alertsAbonnement webhook sur les deadlines d'AAP (prévu — disponible prochainement).
Scope : webhooks:write
Codes d'erreur
| Code HTTP | error | Cause |
|---|---|---|
| 400 | validation_error | Corps ou paramètres invalides. Champ issues dans la réponse. |
| 401 | unauthorized | Clé API manquante ou révoquée. |
| 402 | quota_exceeded | Quota plan dépassé. Champ upgradeUrl dans la réponse. |
| 403 | insufficient_scope | Scope requis absent de la clé. |
| 404 | not_found | Ressource introuvable. |
| 429 | rate_limited | Rate limit dépassé. Voir X-RateLimit-Reset. |
| 500 | internal_error | Erreur 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"
}