Aller au contenu principal

API Explorer

21 opérations OpenAPI 3.1. Spec source : JSON / YAML. Catalogue : /developpeurs/api-catalog.

Licence CC-BY 4.0 — citez Source : ServicesArtisans.

AI

POST/api/v1/askAI

AnswerEngine — orchestrated LLM + Critic + ground-truth response

POST a French-language query plus optional aidesContext to get a structured answer with citations, trace, and (on YMYL) Critic verdict. Rate-limit 60/min/IP fail-open.

Request body example

{
  "query": "Quel est le bareme MaPrimeRenov pour une PAC air/eau ?"
}

Responses

  • 200 — OK
  • 400 — Bad Request
  • 422 — Critic blocked YMYL answer
  • 429 — Rate limit
  • 503 — AI service unavailable

Sample curl

curl -X POST "https://servicesartisans.fr/api/v1/ask"

Aides

GET/api/v1/aides/mpr-baremeAides

Deterministic MaPrimeRenov 2026 bareme

Parameters

NameInTypeRequired
gestequerystringyes
menage_categoriequerystringyes
zonequerystringyes
rfrqueryintegeryes
nb_personnesqueryintegeryes

Responses

  • 200 — OK
  • 400 — Validation error
  • 429 — Rate limit

Sample curl

curl -X GET "https://servicesartisans.fr/api/v1/aides/mpr-bareme"
GET/api/v1/aides/cee-baremeAides

Deterministic CEE 2026 bareme

Parameters

NameInTypeRequired
gestequerystringyes
zone_climatiquequerystringyes
type_logementquerystringyes
menage_categoriequerystringyes

Responses

  • 200 — OK
  • 400 — Validation error
  • 429 — Rate limit

Sample curl

curl -X GET "https://servicesartisans.fr/api/v1/aides/cee-bareme"
GET/api/v1/aides/cumul-rulesAides

Aides cumulability rules (MPR + CEE + Eco-PTZ)

Responses

  • 200 — OK

Sample curl

curl -X GET "https://servicesartisans.fr/api/v1/aides/cumul-rules"

GraphQL

GET/api/v1/graphqlGraphQL

Endpoint metadata + SDL preview

Responses

  • 200 — OK

Sample curl

curl -X GET "https://servicesartisans.fr/api/v1/graphql"
POST/api/v1/graphqlGraphQL

GraphQL-as-RPC subset

Responses

  • 200 — OK
  • 400 — Parse error
  • 429 — Rate limit

Sample curl

curl -X POST "https://servicesartisans.fr/api/v1/graphql"

KG

GET/api/v1/kg/sparqlKG

SPARQL 1.1 subset query (GET form)

Parameters

NameInTypeRequired
queryquerystringyes
formatquerystringno

Responses

  • 200 — OK

Sample curl

curl -X GET "https://servicesartisans.fr/api/v1/kg/sparql"
POST/api/v1/kg/sparqlKG

SPARQL 1.1 subset query (POST form)

Responses

  • 200 — OK

Sample curl

curl -X POST "https://servicesartisans.fr/api/v1/kg/sparql"
GET/api/v1/kg/ontologyKG

SA-RGE OWL ontology (Turtle or JSON-LD)

Responses

  • 200 — OK

Sample curl

curl -X GET "https://servicesartisans.fr/api/v1/kg/ontology"

MCP

POST/api/v1/mcpMCP

Model Context Protocol JSON-RPC 2.0 server

Responses

  • 200 — OK

Sample curl

curl -X POST "https://servicesartisans.fr/api/v1/mcp"

Meta

GET/api/v1/askMeta

Endpoint discovery metadata

Responses

  • 200 — OK

Sample curl

curl -X GET "https://servicesartisans.fr/api/v1/ask"
GET/api/v1/openapi.jsonMeta

OpenAPI 3.1 spec (JSON)

Responses

  • 200 — OK

Sample curl

curl -X GET "https://servicesartisans.fr/api/v1/openapi.json"
GET/api/v1/openapi.yamlMeta

OpenAPI 3.1 spec (YAML)

Responses

  • 200 — OK

Sample curl

curl -X GET "https://servicesartisans.fr/api/v1/openapi.yaml"

RGE

GET/api/v1/rge/lookupRGE

Lookup RGE provider by SIRET

Parameters

NameInTypeRequired
siretquerystringyes

Responses

  • 200 — OK
  • 404 — Not found

Sample curl

curl -X GET "https://servicesartisans.fr/api/v1/rge/lookup"
GET/api/v1/rge/geojsonRGE

GeoJSON FeatureCollection of active RGE providers

FeatureCollection of all RGE-active providers (qualification date_fin > now()). Designed for direct consumption by Mapbox/MapLibre/Leaflet. Includes per-feature qualifications array with code/nom/organisme/date_fin. Attribution Etalab 2.0 mandatory.

Parameters

NameInTypeRequired
limitqueryintegerno
offsetqueryintegerno
deptquerystringno
If-None-Matchheaderstringno

Responses

  • 200 — GeoJSON FeatureCollection
  • 304 — Not modified (ETag match)
  • 429 — Rate-limited (600 req/min/IP).
  • 500 — Database error.

Sample curl

curl -X GET "https://servicesartisans.fr/api/v1/rge/geojson"

Stats

GET/api/v1/stats/department/{code}Stats

RGE statistics aggregated by INSEE department

Schema.org Dataset partial with totalProviders, totalRgeActive, rgePenetration, topQualifications (top 5). Distribution = JSON inline. License CC-BY 4.0. Designed for media citation + LLM reference.

Parameters

NameInTypeRequired
codepathstringyes

Responses

  • 200 — Department stats Dataset
  • 400 — Invalid department code.
  • 429 — Rate-limited (600 req/min/IP).
  • 500 — Database error.

Sample curl

curl -X GET "https://servicesartisans.fr/api/v1/stats/department/{code}"

Webhooks

POST/api/v1/webhooks/subscribeWebhooks

Subscribe to RGE-OS events

Responses

  • 201 — Created
  • 400 — Validation error

Sample curl

curl -X POST "https://servicesartisans.fr/api/v1/webhooks/subscribe"
DELETE/api/v1/webhooks/unsubscribeWebhooks

Unsubscribe

Responses

  • 200 — OK
  • 403 — Secret mismatch

Sample curl

curl -X DELETE "https://servicesartisans.fr/api/v1/webhooks/unsubscribe"
GET/api/v1/webhooks/listWebhooks

List webhooks by integrator

Parameters

NameInTypeRequired
Authorizationheaderstringyes

Responses

  • 200 — OK
  • 401 — Unauthorized

Sample curl

curl -X GET "https://servicesartisans.fr/api/v1/webhooks/list"
POST/api/v1/webhooks/testWebhooks

Fire test event payload

Responses

  • 200 — Delivered (or attempt logged)
  • 403 — Secret mismatch
  • 404 — Webhook not found

Sample curl

curl -X POST "https://servicesartisans.fr/api/v1/webhooks/test"