Pour commencer
Référence API
La référence API de Prescriptio décrit les outils du connecteur MCP et les opérations REST qui donnent accès à la donnée publique du bâti et à votre espace : adresses, authentification, paramètres, quotas et erreurs.
Sur cette page
L'accès passe par OAuth 2.1. Le profil et les portées décident des outils annoncés ; chaque action conserve ses droits, ses conditions d'offre et ses quotas, notamment l'envoi d'e-mails et le rapport de marque.
Les adresses
Un seul registre d'outils, organisé en plusieurs profils : la même action passe par le même code, mais la forme de la réponse dépend du profil.
État de cette référence
Les 91 fiches MCP et 61 fiches REST proviennent des projections présentes dans le dépôt. Cinq outils supplémentaires du code local ont leur fiche « En préparation ». Ces deux ensembles ne prouvent pas le déploiement actuel : voir État des sources.
| Adresse | Ce qu'elle sert | Pour qui |
|---|---|---|
https://prescriptio.fr/api/mcp | Le registre complet, filtré par les portées de votre accès ; les trois mutations d'abonnements d'événements exigent explicitement mcp:write, même avec l'accès historique | L'adresse de connexion complète ; la liste effective se lit avec tools/list dans votre assistant autorisé |
https://prescriptio.fr/api/mcp/v1/{opération} | Les opérations REST (61), un POST en JSON | Make, Zapier, vos scripts |
https://prescriptio.fr/api/mcp/connectors | Quatre outils de lecture, avec la carte de résultats | Profil restreint défini dans le code ; disponibilité actuelle non vérifiée ici |
https://prescriptio.fr/api/mcp/chatgpt | Tous les outils sauf les deux de l'abonnement, filtrés par vos portées ; carte de résultats sur les recherches d'entreprises et de marchés | Profil de distribution ChatGPT ; sa présence dans le code ne prouve pas la publication d'un plugin |
Branchez votre agent sur https://prescriptio.fr/api/mcp. L'adresse …/api/mcp/connectors ne porte que quatre outils (annuaire_entreprises, marches_rechercher, marches_dce, marches_dce_lien_obtenir) : un agent branché dessus ne verra pas le reste du catalogue.
Authentification
L'accès se fait par OAuth 2.1 avec PKCE et des jetons opaques, que votre client révoque, et que vous retirez aussi depuis Paramètres › Accès IA. Il n'y a pas de clé d'API à copier. Votre client découvre seul le serveur d'autorisation à partir de l'adresse ; vous n'avez qu'à accepter la page d'autorisation de Prescriptio.
curl -sS https://prescriptio.fr/api/mcp/v1/entreprises.search \
-H 'Authorization: Bearer <jeton>' \
-H 'Content-Type: application/json' \
-d '{"naf":["71.11Z"],"localisation":{"dept":"69"},"limit":20}'Cet exemple cherche les architectes (code NAF 71.11Z) du Rhône. Les portées, le parcours complet et les plafonds sont dans Authentification et quotas.
Codes de réponse
Les routes REST répondent avec des codes HTTP ; le connecteur MCP renvoie les mêmes situations en erreurs JSON-RPC.
| Code | Erreur | Ce que ça veut dire |
|---|---|---|
200 | L'appel a réussi ; une liste vide veut dire zéro résultat | |
400 | invalid_arguments, invalid_cursor | Un argument manque ou sort du schéma ; le message le nomme |
401 | unauthenticated | Jeton absent, expiré ou révoqué |
403 | insufficient_scope, access_denied, organization_required, role_denied | La portée ou le droit manque pour cette action |
404 | not_found | L'objet demandé est introuvable dans votre espace |
405 | method_not_allowed | L'opération s'appelle en POST |
409 | conflict | L'action entre en conflit avec l'état de l'objet |
413 | invalid_body | Le corps dépasse 3 Mio |
415 | unsupported_media_type | Le corps doit être en application/json |
429 | quota_exceeded | Un plafond est atteint ; attendez le délai de Retry-After quand il est donné |
503, 504 | unavailable, timeout | Une dépendance ne répond pas ; ne rejouez pas une écriture sans vérifier |
Le détail, et la conduite à tenir pour chaque cas, est dans Codes d'erreur.
Quotas
Un appel compte pour une unité, que vous passiez par le connecteur ou par l'API REST.
| Compteur | Compte gratuit | Abonné |
|---|---|---|
| Appels par 24 heures glissantes | 100 | 5 000 |
| Appels par minute | 5 | 30 |
| Dossiers lus par jour (heure de Paris) | 5 | 500 |
Chercher ne consomme aucune unité de dossier. Le corps d'une requête est borné à 3 Mio, et une opération REST à 35 secondes.
Contrats lisibles par les machines
Toute la référence
Questions
Faut-il une clé d'API ?
Non. L'accès passe par OAuth 2.1 : votre client obtient un jeton lié à votre compte, qu'il peut révoquer (POST /oauth/revoke, RFC 7009).
Le compte gratuit suffit-il pour appeler l'API ?
Oui pour commencer : l'offre gratuite ne filtre pas les noms du registre général, à profil et portées identiques. La réussite d'une action dépend aussi de ses droits et conditions métier. Le rapport de marque et l'envoi d'e-mails demandent notamment un accès payant ou offert admissible ; les quotas continuent de s'appliquer. L'abonnement à 12 € HT par mois et par utilisateur relève les plafonds d'appels et de dossiers.
Prescriptio envoie-t-il des webhooks ?
Non. Les événements d'alerte se relèvent : une automatisation s'abonne à une alerte, lit les événements par pages de 100 et les acquitte après traitement. Voir Événements d'alerte.