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

# Mettre à jour les balises du projet

> Ajouter, supprimer ou remplacer les tags d’un projet. Les espaces entourant les tags reçus sont supprimés, les tags sont convertis en minuscules, les valeurs vides sont ignorées et les doublons sont éliminés avant l’application de la mise à jour.



## OpenAPI

````yaml /fr/api-reference/openapi.json patch /projects/{project_id}/tags
openapi: 3.0.0
info:
  title: API Corgea
  version: 1.0.0
  description: >-
    API permettant d’interagir avec les fonctionnalités d’analyse et de gestion
    des vulnérabilités de Corgea
servers:
  - url: https://www.corgea.app/api/v1
    description: Serveur de production
security:
  - CorgeaToken: []
  - BearerAuth: []
paths:
  /projects/{project_id}/tags:
    patch:
      tags:
        - Projets
      summary: Mettre à jour les balises du projet
      description: >-
        Ajouter, supprimer ou remplacer les tags d’un projet. Les espaces
        entourant les tags reçus sont supprimés, les tags sont convertis en
        minuscules, les valeurs vides sont ignorées et les doublons sont
        éliminés avant l’application de la mise à jour.
      operationId: updateProjectTags
      parameters:
        - name: project_id
          in: path
          required: true
          schema:
            type: integer
          description: L'ID du projet à mettre à jour
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - operation
                - tags
              properties:
                operation:
                  type: string
                  enum:
                    - add
                    - remove
                    - replace
                  description: >-
                    Comment appliquer les balises fournies à la liste de balises
                    du projet actuel
                tags:
                  type: array
                  items:
                    type: string
                  description: >-
                    Balises à ajouter, supprimer ou remplacer après la
                    normalisation
      responses:
        '200':
          description: Balises du projet mises à jour avec succès
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: ok
                  project:
                    type: object
                    properties:
                      id:
                        type: integer
                      name:
                        type: string
                      repo_url:
                        type: string
                        nullable: true
                        description: >-
                          URL du dépôt associé au projet, lorsqu’elle est
                          disponible
                      tags:
                        type: array
                        items:
                          type: string
                        description: Balises de projet normalisées après la mise à jour
        '400':
          description: Requête incorrecte — erreurs de validation
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: tags must be a list
              examples:
                invalid_json:
                  summary: Le corps de la requête n'est pas un JSON valide
                  value:
                    error: Invalid JSON body
                invalid_operation:
                  summary: L'opération n'est pas prise en charge
                  value:
                    error: 'operation must be one of: add, remove, replace'
                tags_not_list:
                  summary: Le champ Tags n'est pas un tableau
                  value:
                    error: tags must be a list
                tag_not_string:
                  summary: Une ou plusieurs balises ne sont pas des chaînes
                  value:
                    error: all tags must be strings
        '401':
          description: Jeton invalide ou manquant
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: API key is missing
              examples:
                missing_token:
                  summary: L'en-tête de clé API est manquant
                  value:
                    error: API key is missing
                invalid_token:
                  summary: La clé API n'est pas valide
                  value:
                    error: Invalid API key
        '403':
          description: Autorisation refusée
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Permission denied
        '404':
          description: Le projet est masqué par Project Access Control
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: error
                  message:
                    type: string
                    example: Project doesn't exist
components:
  securitySchemes:
    CorgeaToken:
      type: apiKey
      in: header
      name: CORGEA-TOKEN
      description: Clé API pour l'authentification
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Jeton d’accès OAuth2 (JWT) dans l’en-tête Authorization

````