Boncourant Audit API

The Audit API from Boncourant — 1 operation(s) for audit.

Operations 1

POST /api/audit Recommandation prospective issue d’une facture résidentielle déjà structurée #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/boncourant-fr:boncourant-fr-audit-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

boncourant-fr-audit-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Boncourant — calculs publics et études temporaires Audit API
  version: 1.5.1
  description: Sans compte. Les arguments sont validés par les mêmes handlers que le serveur MCP. Les études temporaires nécessitent leur reçu secret.
servers:
- url: https://boncourant.fr
tags:
- name: Audit
paths:
  /api/audit:
    post:
      operationId: analyzeStructuredBill
      summary: Recommandation prospective issue d’une facture résidentielle déjà structurée
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                conso_annuelle_kwh:
                  type: number
                  exclusiveMinimum: 0
                  maximum: 1000000
                puissance_kva:
                  type: number
                  exclusiveMinimum: 0
                  maximum: 36
                postal_code:
                  type: string
                  pattern: ^\d{5}$
                option:
                  type: string
                  enum:
                  - Base
                  - HP/HC
                  - Tempo
                conso_kwh_hp:
                  type: number
                  minimum: 0
                conso_kwh_hc:
                  type: number
                  minimum: 0
                current_supplier:
                  type: string
                  minLength: 1
                  maxLength: 200
                current_offer:
                  type: string
                  minLength: 1
                  maxLength: 300
                current_annual_cost_eur:
                  type: number
                  exclusiveMinimum: 0
                  maximum: 10000000
              required:
              - conso_annuelle_kwh
              - puissance_kva
              - postal_code
              additionalProperties: false
              description: Facture résidentielle déjà extraite ; si HP/HC, HP + HC doit égaler le total annuel (tolérance 1 kWh). Aucun PDF ni contrôle historique dans cette route.
              allOf:
              - if:
                  required:
                  - option
                  properties:
                    option:
                      const: HP/HC
                then:
                  required:
                  - conso_kwh_hp
                  - conso_kwh_hc
                else:
                  not:
                    anyOf:
                    - required:
                      - conso_kwh_hp
                    - required:
                      - conso_kwh_hc
      responses:
        '200':
          description: Résultat calculé, ou grounded=false sans montant inventé. Données privées, jamais mises en cache.
          content:
            application/json:
              schema:
                oneOf:
                - type: object
                  required:
                  - grounded
                  - reason
                  - generated_at
                  properties:
                    grounded:
                      const: false
                    reason:
                      type: string
                    generated_at:
                      type: string
                - type: object
                  required:
                  - grounded
                  - recommendation
                  - recommended_annual_eur
                  - baseline_kind
                  - annual_savings_eur
                  - generated_at
                  properties:
                    grounded:
                      const: true
                    recommendation:
                      enum:
                      - stay
                      - switch
                    offers_compared:
                      type:
                      - number
                      - 'null'
                    confidence:
                      type:
                      - number
                      - 'null'
                    calculation_status:
                      enum:
                      - verified
                      - estimated
                      - needs_confirmation
                      - null
                    assumptions:
                      type: array
                      items: {}
                    uncertainties:
                      type: array
                      items:
                        type: string
                    provenance:
                      type:
                      - object
                      - 'null'
                    simulator_version:
                      type: string
                    catalog_version:
                      type: string
                    generated_at:
                      type: string
                      format: date-time
                    recommended_offer:
                      type:
                      - string
                      - 'null'
                    recommended_supplier:
                      type:
                      - string
                      - 'null'
                    recommended_option:
                      type:
                      - string
                      - 'null'
                    recommended_annual_eur:
                      type:
                      - number
                      - 'null'
                    best_market_offer:
                      type: object
                    trv_annual_eur:
                      type:
                      - number
                      - 'null'
                    current_contract_annual_eur:
                      type:
                      - number
                      - 'null'
                    baseline_kind:
                      enum:
                      - current_contract
                      - declared_contract
                      - trv
                      - trve
                      - none
                      - null
                    baseline_annual_eur:
                      type:
                      - number
                      - 'null'
                    annual_savings_eur:
                      type:
                      - number
                      - 'null'
                    alternatives:
                      type: array
                      items:
                        type: object
                    references:
                      type: array
                      items:
                        type: string
        '400':
          description: Arguments invalides ou incohérents
        '413':
          description: Requête supérieure à 16 Ko
        '415':
          description: Content-Type application/json requis
        '429':
          description: Limite par instance atteinte ; respecter Retry-After
        '503':
          description: Calcul indisponible
      tags:
      - Audit
externalDocs:
  url: https://boncourant.fr/agents