> ## Documentation Index
> Fetch the complete documentation index at: https://doc.fluximmo.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Créer un projet de géocodage batch

> Créer un projet asynchrone pour géocoder un grand volume d'adresses.



## OpenAPI

````yaml post /async/projects
openapi: 3.1.1
info:
  title: Service de géocodage
  description: API du service de géocodage 2.0 de l'IGN.
  contact:
    email: contact.geoservices@ign.fr
  version: 2.0.0
  license:
    name: Licence ouverte 2.0
    url: https://www.etalab.gouv.fr/licence-ouverte-open-licence
servers:
  - url: https://geo.fluximmo.io
security: []
tags:
  - name: getCapabilities
    description: Découverte du service
  - name: search
    description: Géocodage direct (recherche)
  - name: reverse
    description: Géocodage inverse
  - name: batch
    description: Géocodage par lot synchrone
  - name: batch-async
    description: Géocodage par lot asynchrone
paths:
  /async/projects:
    post:
      tags:
        - batch-async
      summary: Créer un nouveau projet
      description: >
        Cette requête permet de créer le projet de géocodage. Elle peut être
        réalisée de façon anonyme ou avec un jeton Géoplateforme valide.


        Si la requête est authentifiée avec l'en-tête Authorization alors il est
        possible de renseigner une communauté (Géoplateforme) de rattachement
        grâce à l'en-tête X-Community. Dans ce cas le projet hérite des quotas
        attribués à la communauté (taille max de fichier géocodage, niveau de
        parallélisation du géocodage). Par défaut un projet autorise un fichier
        de 50 Mo et ne propose pas de parallélisation (concurrency = 1).


        Lorsque le projet est créé avec un utilisateur authentifié, ce dernier
        recevra la notification de succès ou d'échec sur la boîte courriel
        renseignée avec son compte.


        À ce stade le projet est retourné avec un jeton qui doit être conservé
        pour les prochains appels du processus.
      parameters:
        - name: X-Community
          in: header
          required: false
          schema:
            type: string
      responses:
        '201':
          description: Projet créé avec succès
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '401':
          description: Authentification incorrecte
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: number
                    example: 401
                    description: Code d'erreur (HTTP)
                  message:
                    type: string
                    description: Message d'erreur
                    example: Invalid token
        '403':
          description: Droits insuffisants
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: number
                    example: 403
                    description: Code d'erreur (HTTP)
                  message:
                    type: string
                    description: Message d'erreur
                    example: User is not a member of this community
      security:
        - {}
        - BearerAuth: []
components:
  schemas:
    Project:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
          enum:
            - idle
            - waiting
            - processing
            - failed
            - completed
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        params:
          $ref: '#/components/schemas/ProjectParams'
        pipeline:
          $ref: '#/components/schemas/Pipeline'
        inputFile:
          type: object
        outputFile:
          type: object
        processing:
          $ref: '#/components/schemas/GeocodeProcessing'
        token:
          type: string
          description: >-
            Jeton permettant d'interéagir avec le projet. N'est retourné que
            lors de la création.
    ProjectParams:
      type: object
      properties:
        maxInputFileSize:
          type: string
          enum:
            - 50MB
            - 100MB
            - 200MB
            - 500MB
            - 1GB
        concurrency:
          type: number
          enum:
            - 1
            - 2
            - 4
    Pipeline:
      type: object
      properties:
        geocodeOptions:
          type: object
          properties:
            operation:
              type: string
              description: Opération demandée
              enum:
                - search
                - reverse
              default: search
            indexes:
              type: array
              description: Index à utiliser pour le géocodage
              items:
                type: string
                enum:
                  - address
                  - poi
                  - parcel
            columns:
              type: array
              items:
                type: string
              description: >
                Liste des colonnes du fichier CSV à utiliser pour le géocodage.
                Celles-ci seront concaténées pour former le critère de recherche
                texte.


                Si le paramètre n'est pas fourni toutes les colonnes seront
                concaténées, ce qui est rarement souhaitable.
            type:
              type: string
              description: >-
                Colonne contenant le type d’objet accepté pour le géocodage de
                la ligne (address)
            citycode:
              type: string
              description: >-
                Colonne contenant le code INSEE de la commune à utiliser comme
                filtre (address, poi)
            postcode:
              type: string
              description: >-
                Colonne contenant le code postal à utiliser comme filtre
                (address, poi)
            category:
              type: string
              description: >-
                Colonne contenant la catégorie de POI à utiliser comme filtre
                (poi)
            lon:
              type: string
              description: Colonne contenant la longitude du point de recherche
            lat:
              type: string
              description: Colonne contenant la latitude du point de recherche
            departmentcode:
              type: string
              description: >-
                Colonne contenant le code département à utiliser comme filtre
                (parcel)
            municipalitycode:
              type: string
              description: >-
                Colonne contenant le code commune  à utiliser comme filtre
                (parcel)
            oldmunicipalitycode:
              type: string
              description: >-
                Colonne contenant l'ancien code commune à utiliser comme filtre
                (parcel)
            districtcode:
              type: string
              description: >-
                Colonne contenant le code d'arrondissement à utiliser comme
                filtre (parcel)
            section:
              type: string
              description: >-
                Colonne contenant le numéro de section à utiliser comme filtre
                (parcel)
            sheet:
              type: string
              description: >-
                Colonne contenant le numéro de feuille à utiliser comme filtre
                (parcel)
            number:
              type: string
              description: >-
                Colonne contenant le numéro de parcelle à utiliser comme filtre
                (parcel)
            result_columns:
              type: array
              items:
                type: string
              description: >
                Liste des colonnes de type résultat à conserver dans le fichier
                de sortie.


                Par défaut toutes les colonnes disponibles sont retournées.
        outputFormat:
          type: string
          enum:
            - csv
            - geojson
    GeocodeProcessing:
      type: object
      properties:
        step:
          type: string
        validationProgress:
          type: object
        validationError:
          type: string
        geocodingProgress:
          type: object
        geocodingError:
          type: string
        globalError:
          type: string
        startedAt:
          type: string
          format: date-time
        finishedAt:
          type: string
          format: date-time
        heartbeat:
          type: string
          format: date-time
  securitySchemes:
    BearerAuth:
      type: apiKey
      name: Authorization
      in: header
      description: Bearer XXXXXX

````