openapi: 3.0.3
info:
  title: ANTS-ONLINE API
  description: |
    Service d'immatriculation de véhicules en ligne agréé par le Ministère de l'Intérieur français.
    
    ## À propos
    ANTS-ONLINE est un service habilité pour effectuer les démarches d'immatriculation via le Système d'Immatriculation des Véhicules (SIV). Traitement sous 24-48h ouvrées, disponible 24h/24 et 7j/7.
    
    ## Services disponibles
    - Carte grise véhicule occasion (changement de titulaire) - 39,90€
    - Carte grise véhicule neuf (première immatriculation) - 39,90€
    - Déclaration de cession - 19,90€
    - Changement d'adresse - 29,90€
    - Duplicata carte grise - 49,90€
     - Certificat de non-gage - 9,90€
     - Immatriculation véhicule étranger - 69,90€
     - Déclaration d'achat professionnel - 19,90€
     - Immatriculation provisoire WW - 49,90€
     - Fiche d'identification - 49,90€
     - Véhicule de collection - 39,90€
     - Modification de statut - 49,90€
     - Vérification historique - 39,90€
     - Problème carte grise - 39,90€
    
    ## Couverture géographique
    France métropolitaine (13 régions) et DOM-TOM (Guadeloupe, Martinique, Guyane, Réunion, Mayotte).
    
    ## Contact
    - Site web: https://ants-online.com
    - Email: contact@ants-online.com
  version: 2.0.0
  contact:
    name: ANTS-ONLINE Support
    url: https://ants-online.com
    email: contact@ants-online.com
  license:
    name: Proprietary
    url: https://ants-online.com/cgv
servers:
  - url: https://ants-online.com
    description: Production server

paths:
  /:
    get:
      summary: Page d'accueil
      description: Page principale présentant tous les services d'immatriculation disponibles
      tags:
        - Pages principales
      responses:
        '200':
          description: Page d'accueil HTML
          content:
            text/html:
              schema:
                type: string

  /services:
    get:
      summary: Liste des services d'immatriculation
      description: |
        Affiche tous les services d'immatriculation disponibles avec leurs tarifs et délais.
        13 services proposés couvrant toutes les démarches de carte grise.
      tags:
        - Pages principales
      responses:
        '200':
          description: Page des services
          content:
            text/html:
              schema:
                type: string

  /calculateur:
    get:
      summary: Calculateur de prix carte grise
      description: |
        Outil de simulation du coût d'une carte grise incluant :
        - Taxe régionale (selon puissance fiscale et région)
        - Malus écologique CO2 (barème 2026)
        - Malus au poids
        - Taxes de gestion et d'acheminement
      tags:
        - Outils
      parameters:
        - name: puissance
          in: query
          description: Puissance fiscale du véhicule en CV
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - name: region
          in: query
          description: Code région pour le tarif du cheval fiscal
          schema:
            type: string
            enum:
              - ile-de-france
              - auvergne-rhone-alpes
              - provence-alpes-cote-azur
              - occitanie
              - nouvelle-aquitaine
              - grand-est
              - hauts-de-france
              - pays-de-la-loire
              - bretagne
              - normandie
              - bourgogne-franche-comte
              - centre-val-de-loire
              - corse
        - name: co2
          in: query
          description: Émissions CO2 en g/km (WLTP)
          schema:
            type: integer
            minimum: 0
            maximum: 500
        - name: energie
          in: query
          description: Type de carburant
          schema:
            type: string
            enum:
              - essence
              - diesel
              - electrique
              - hybride
              - hybride-rechargeable
      responses:
        '200':
          description: Page du calculateur avec résultats
          content:
            text/html:
              schema:
                type: string

  /documents-officiels:
    get:
      summary: Documents officiels et formulaires CERFA
      description: |
        Téléchargement gratuit de tous les formulaires CERFA nécessaires aux démarches d'immatriculation :
        - CERFA 15776-02 : Certificat de cession
        - CERFA 13749-05 : Demande véhicule neuf
        - CERFA 13753-04 : Déclaration perte/vol
        - CERFA 13756-02 : Retrait de circulation
        - Notice explicative 5129102
      tags:
        - Ressources
      responses:
        '200':
          description: Page des documents officiels
          content:
            text/html:
              schema:
                type: string

  /blog:
    get:
      summary: Blog et actualités
      description: |
        Articles sur les réglementations automobiles, guides pratiques et conseils pour les démarches d'immatriculation.
        Thématiques : bonus/malus écologique, ZFE, réglementations 2026, guides pratiques.
      tags:
        - Ressources
      responses:
        '200':
          description: Liste des articles du blog
          content:
            text/html:
              schema:
                type: string

  /faq:
    get:
      summary: Questions fréquentes
      description: Réponses aux questions les plus courantes sur les démarches de carte grise
      tags:
        - Ressources
      responses:
        '200':
          description: Page FAQ
          content:
            text/html:
              schema:
                type: string

  # Services d'immatriculation
  /carte-grise-occasion:
    get:
      summary: Carte grise véhicule occasion
      description: |
        Service de changement de titulaire pour véhicule d'occasion.
        - Prix : 39,90€ (hors taxes d'immatriculation)
        - Délai : 24-48h ouvrées
        - Documents requis : carte grise barrée, certificat de cession, justificatif domicile, pièce d'identité, contrôle technique
      tags:
        - Services
      responses:
        '200':
          description: Page du service carte grise occasion

  /carte-grise-neuf:
    get:
      summary: Carte grise véhicule neuf
      description: |
        Première immatriculation d'un véhicule neuf.
        - Prix : 39,90€ (hors taxes d'immatriculation)
        - Délai : 24-48h ouvrées
        - Documents requis : COC, facture, justificatif domicile, pièce d'identité
      tags:
        - Services
      responses:
        '200':
          description: Page du service carte grise neuf

  /declaration-cession:
    get:
      summary: Déclaration de cession
      description: |
        Enregistrement officiel de la vente d'un véhicule.
        - Prix : 19,90€
        - Délai : 24h ouvrées
        - Obligatoire dans les 15 jours suivant la vente
      tags:
        - Services
      responses:
        '200':
          description: Page du service déclaration de cession

  /changement-adresse:
    get:
      summary: Changement d'adresse carte grise
      description: |
        Mise à jour de l'adresse sur la carte grise.
        - Prix : 29,90€
        - Délai : 24-48h ouvrées
        - Obligatoire dans le mois suivant le déménagement
      tags:
        - Services
      responses:
        '200':
          description: Page du service changement d'adresse

  /duplicata:
    get:
      summary: Duplicata carte grise
      description: |
        Nouvelle carte grise en cas de perte, vol ou détérioration.
        - Prix : 49,90€
        - Délai : 24-48h ouvrées
      tags:
        - Services
      responses:
        '200':
          description: Page du service duplicata

  /certificat-non-gage:
    get:
      summary: Certificat de non-gage
      description: |
        Document attestant qu'un véhicule n'est pas gagé.
        - Prix : 9,90€
        - Délai : Immédiat
        - Validité : 15 jours
      tags:
        - Services
      responses:
        '200':
          description: Page du service certificat de non-gage

  /vehicule-etranger:
    get:
      summary: Immatriculation véhicule étranger
      description: |
        Immatriculation en France d'un véhicule importé.
        - Prix : 69,90€ (hors taxes d'immatriculation)
        - Délai : 48-72h ouvrées
        - Documents requis : titre étranger, COC/RTI, quitus fiscal, contrôle technique
      tags:
        - Services
      responses:
        '200':
          description: Page du service véhicule étranger

  /declaration-achat:
    get:
      summary: Déclaration d'achat professionnel
      description: |
        Déclaration obligatoire pour les professionnels de l'automobile.
        - Prix : 19,90€
        - Délai : 24h ouvrées
      tags:
        - Services
      responses:
        '200':
          description: Page du service déclaration d'achat

  /ww-provisoire:
    get:
      summary: Immatriculation provisoire WW
      description: |
        Immatriculation temporaire pour transit ou export.
        - Prix : 49,90€
        - Délai : 24-48h ouvrées
        - Validité : 1 mois
      tags:
        - Services
      responses:
        '200':
          description: Page du service WW provisoire

  /fiche-identification:
    get:
      summary: Fiche d'identification véhicule
      description: |
        Document récapitulatif des caractéristiques techniques.
        - Prix : 49,90€
        - Délai : 24-48h ouvrées
      tags:
        - Services
      responses:
        '200':
          description: Page du service fiche d'identification

  /vehicule-collection:
    get:
      summary: Immatriculation véhicule de collection
      description: |
        Immatriculation spéciale pour véhicules de plus de 30 ans.
        - Prix : 39,90€ (hors taxes d'immatriculation)
        - Délai : 48-72h ouvrées
        - Attestation FFVE requise
      tags:
        - Services
      responses:
        '200':
          description: Page du service véhicule de collection

  /modification-statut:
    get:
      summary: Modification de statut véhicule
      description: |
        Changement du statut du véhicule.
        - Prix : 49,90€
        - Délai : 24-48h ouvrées
      tags:
        - Services
      responses:
        '200':
          description: Page du service modification de statut

  /verification-historique:
    get:
      summary: Vérification historique véhicule
      description: |
        Rapport complet sur l'historique d'un véhicule.
        - Prix : 39,90€
        - Délai : Immédiat
        - Inclut : sinistres, kilométrage, propriétaires précédents
      tags:
        - Services
      responses:
        '200':
          description: Page du service vérification historique

  /probleme-carte-grise:
    get:
      summary: Problème carte grise
      description: |
        Expertise et déblocage administratif pour toute situation complexe liée à la carte grise.
        - Prix : 39,90€
        - Délai : 24-48h ouvrées
        - Cas couverts : dossier bloqué, erreur administrative, véhicule saisi, litige, succession
      tags:
        - Services
      responses:
        '200':
          description: Page du service problème carte grise

  # Pages régionales
  /carte-grise-ile-de-france:
    get:
      summary: Carte grise Île-de-France
      description: |
        Service carte grise pour la région Île-de-France.
        Prix du cheval fiscal 2026 : 46,15€
        Exonération véhicules propres : 100%
      tags:
        - Régions
      responses:
        '200':
          description: Page régionale Île-de-France

  /carte-grise-auvergne-rhone-alpes:
    get:
      summary: Carte grise Auvergne-Rhône-Alpes
      description: |
        Service carte grise pour la région Auvergne-Rhône-Alpes.
        Prix du cheval fiscal 2026 : 43,00€
        Exonération véhicules propres : 100%
      tags:
        - Régions
      responses:
        '200':
          description: Page régionale Auvergne-Rhône-Alpes

  /carte-grise-provence-alpes-cote-azur:
    get:
      summary: Carte grise Provence-Alpes-Côte d'Azur
      description: |
        Service carte grise pour la région PACA.
        Prix du cheval fiscal 2026 : 51,20€
        Exonération véhicules propres : 100%
      tags:
        - Régions
      responses:
        '200':
          description: Page régionale PACA

  # Pages villes principales
  /carte-grise-paris:
    get:
      summary: Carte grise Paris
      description: |
        Service carte grise pour Paris et l'Île-de-France.
        Traitement sous 24-48h, agréé Ministère de l'Intérieur.
      tags:
        - Villes
      responses:
        '200':
          description: Page ville Paris

  /carte-grise-lyon:
    get:
      summary: Carte grise Lyon
      description: |
        Service carte grise pour Lyon et le Rhône.
        Traitement sous 24-48h, agréé Ministère de l'Intérieur.
      tags:
        - Villes
      responses:
        '200':
          description: Page ville Lyon

  /carte-grise-marseille:
    get:
      summary: Carte grise Marseille
      description: |
        Service carte grise pour Marseille et les Bouches-du-Rhône.
        Traitement sous 24-48h, agréé Ministère de l'Intérieur.
      tags:
        - Villes
      responses:
        '200':
          description: Page ville Marseille

  /carte-grise-toulouse:
    get:
      summary: Carte grise Toulouse
      description: |
        Service carte grise pour Toulouse et la Haute-Garonne.
        Traitement sous 24-48h, agréé Ministère de l'Intérieur.
      tags:
        - Villes
      responses:
        '200':
          description: Page ville Toulouse

  /carte-grise-nice:
    get:
      summary: Carte grise Nice
      description: |
        Service carte grise pour Nice et les Alpes-Maritimes.
        Traitement sous 24-48h, agréé Ministère de l'Intérieur.
      tags:
        - Villes
      responses:
        '200':
          description: Page ville Nice

  /carte-grise-nantes:
    get:
      summary: Carte grise Nantes
      description: |
        Service carte grise pour Nantes et la Loire-Atlantique.
        Traitement sous 24-48h, agréé Ministère de l'Intérieur.
      tags:
        - Villes
      responses:
        '200':
          description: Page ville Nantes

  /carte-grise-bordeaux:
    get:
      summary: Carte grise Bordeaux
      description: |
        Service carte grise pour Bordeaux et la Gironde.
        Traitement sous 24-48h, agréé Ministère de l'Intérieur.
      tags:
        - Villes
      responses:
        '200':
          description: Page ville Bordeaux

  /carte-grise-strasbourg:
    get:
      summary: Carte grise Strasbourg
      description: |
        Service carte grise pour Strasbourg et le Bas-Rhin.
        Traitement sous 24-48h, agréé Ministère de l'Intérieur.
      tags:
        - Villes
      responses:
        '200':
          description: Page ville Strasbourg

  /carte-grise-lille:
    get:
      summary: Carte grise Lille
      description: |
        Service carte grise pour Lille et le Nord.
        Traitement sous 24-48h, agréé Ministère de l'Intérieur.
      tags:
        - Villes
      responses:
        '200':
          description: Page ville Lille

  /carte-grise-montpellier:
    get:
      summary: Carte grise Montpellier
      description: |
        Service carte grise pour Montpellier et l'Hérault.
        Traitement sous 24-48h, agréé Ministère de l'Intérieur.
      tags:
        - Villes
      responses:
        '200':
          description: Page ville Montpellier

  /functions/v1/ai-context:
    get:
      summary: Contexte structuré pour agents IA
      description: |
        Retourne un résumé JSON structuré du site en temps réel, optimisé pour les agents IA.
        Inclut les services, tarifs régionaux, statistiques de contenu et FAQ.
        
        Formats de réponse :
        - Complet : Toutes les sections avec données détaillées
        - Compact : Réponse condensée pour réduire les tokens
        - Filtré : Sections spécifiques selon le paramètre include
      tags:
        - API IA
      parameters:
        - name: include
          in: query
          description: Sections à inclure (séparées par des virgules)
          schema:
            type: string
            enum:
              - all
              - services
              - regions
              - faq
              - stats
          example: services,regions
        - name: region
          in: query
          description: Filtrer une région spécifique par slug
          schema:
            type: string
        - name: compact
          in: query
          description: Retourner une réponse condensée pour économiser les tokens
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Contexte structuré du site
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIContext'

  /functions/v1/pricing:
    get:
      summary: Calcul dynamique du prix d'une carte grise
      description: |
        API de calcul du coût d'une carte grise en temps réel.
        Inclut toutes les taxes : régionale, gestion, acheminement, malus CO2, malus masse.
        
        Barème 2026 :
        - Malus CO2 : seuil à 118 g/km, plafond 60 000€
        - Malus masse : seuil à 1600 kg (véhicules neufs uniquement)
        - Plafond combiné : 70 000€
        
        Exonérations :
        - Véhicules électriques et hydrogène : exonération totale
        - Hybrides rechargeables ≤ 50 g/km : exonération totale
        - Véhicules de plus de 10 ans importés : réduction progressive du malus
      tags:
        - API IA
      parameters:
        - name: region
          in: query
          required: true
          description: Slug de la région (obligatoire)
          schema:
            type: string
            enum:
              - ile-de-france
              - auvergne-rhone-alpes
              - bretagne
              - corse
              - grand-est
              - hauts-de-france
              - normandie
              - nouvelle-aquitaine
              - occitanie
              - pays-de-la-loire
              - provence-alpes-cote-azur
              - bourgogne-franche-comte
              - centre-val-de-loire
          example: ile-de-france
        - name: cv
          in: query
          required: true
          description: Puissance fiscale en chevaux (1-99)
          schema:
            type: integer
            minimum: 1
            maximum: 99
          example: 7
        - name: co2
          in: query
          description: Émissions CO2 en g/km (WLTP)
          schema:
            type: integer
            minimum: 0
            maximum: 500
          example: 145
        - name: energie
          in: query
          description: Type de carburant
          schema:
            type: string
            enum:
              - essence
              - diesel
              - electrique
              - hybride
              - hybride_rechargeable
              - hydrogene
            default: essence
        - name: etat
          in: query
          description: État du véhicule
          schema:
            type: string
            enum:
              - neuf
              - occasion
            default: occasion
        - name: masse
          in: query
          description: Masse en ordre de marche en kg (pour malus poids, véhicules neufs)
          schema:
            type: integer
            minimum: 500
            maximum: 5000
          example: 1450
        - name: age
          in: query
          description: Ancienneté du véhicule en années (pour calcul réduction import)
          schema:
            type: integer
            minimum: 0
            maximum: 50
        - name: importe
          in: query
          description: Véhicule importé de l'étranger
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Détail complet du calcul
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricingResponse'
        '400':
          description: Paramètres invalides
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  error:
                    type: string
                    example: Le paramètre "region" est obligatoire
                  valid_regions:
                    type: array
                    items:
                      type: string

tags:
  - name: Pages principales
    description: Pages principales du site
  - name: Services
    description: Services d'immatriculation disponibles
  - name: Outils
    description: Outils et calculateurs
  - name: Ressources
    description: Ressources et informations
  - name: Régions
    description: Pages par région avec tarifs du cheval fiscal
  - name: Villes
    description: Pages par ville principale
  - name: API IA
    description: Endpoints optimisés pour les agents IA

components:
  schemas:
    Service:
      type: object
      properties:
        name:
          type: string
          description: Nom du service
        price:
          type: number
          description: Prix en euros (hors taxes d'immatriculation)
        delay:
          type: string
          description: Délai de traitement
        documents:
          type: array
          items:
            type: string
          description: Documents requis
      example:
        name: Carte grise véhicule occasion
        price: 39.90
        delay: 24-48h ouvrées
        documents:
          - Carte grise barrée
          - Certificat de cession
          - Justificatif de domicile
          - Pièce d'identité
          - Contrôle technique

    Region:
      type: object
      properties:
        name:
          type: string
          description: Nom de la région
        pricePerCV:
          type: number
          description: Prix du cheval fiscal en euros
        cleanVehicleExemption:
          type: string
          description: Taux d'exonération pour véhicules propres
      example:
        name: Île-de-France
        pricePerCV: 54.95
        cleanVehicleExemption: "100%"

    AIContext:
      type: object
      description: Contexte structuré pour agents IA
      properties:
        '@context':
          type: string
          example: https://schema.org
        '@type':
          type: string
          example: WebSite
        name:
          type: string
          example: ANTS-ONLINE
        url:
          type: string
          example: https://ants-online.com
        description:
          type: string
        metadata:
          type: object
          properties:
            version:
              type: string
            generated_at:
              type: string
              format: date-time
            language:
              type: string
            authorization:
              type: string
        services:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
              description:
                type: string
              price:
                type: number
              processing_time:
                type: string
              required_documents:
                type: array
                items:
                  type: string
        regional_pricing:
          type: object
          properties:
            year:
              type: integer
            unit:
              type: string
            regions:
              type: array
              items:
                $ref: '#/components/schemas/Region'
        content_stats:
          type: object
          properties:
            blog_articles_count:
              type: integer
            faq_questions_count:
              type: integer
            services_count:
              type: integer
        quick_faq:
          type: array
          items:
            type: object
            properties:
              question:
                type: string
              answer:
                type: string
        ai_resources:
          type: object
          properties:
            llms_txt:
              type: string
            openapi_spec:
              type: string
            ai_plugin:
              type: string
        legal:
          type: object
          properties:
            company_name:
              type: string
            contact_email:
              type: string

    PricingResponse:
      type: object
      description: Réponse de l'API de calcul de prix
      properties:
        success:
          type: boolean
        version:
          type: string
          example: "2026"
        generated_at:
          type: string
          format: date-time
        input:
          type: object
        region_info:
          type: object
          properties:
            name:
              type: string
            code:
              type: string
            prix_cv:
              type: number
        breakdown:
          type: object
          description: Détail de chaque taxe
        totals:
          type: object
          properties:
            taxes_officielles:
              type: number
            frais_service:
              type: number
            total_ttc:
              type: number
        notes:
          type: array
          items:
            type: string
        links:
          type: object
