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

# Modifier un rôle personnalisé

> Modifie la matrice d’un rôle personnalisé. Chaque catégorie vaut au minimum 'view', valeur par défaut des omissions. Les rôles système sont non modifiables. La matrice ne doit dupliquer aucun rôle existant. Clé globale requise.



## OpenAPI

````yaml fr/api-reference/openapi.json patch /api/v1/roles/{role_id}
openapi: 3.1.0
info:
  title: API AthenaHQ
  description: >-
    L’API AthenaHQ permet de gérer vos sites et prompts par programme pour
    l’optimisation de contenu par IA.
  version: 1.0.0
  contact:
    email: support@athenahq.ai
servers:
  - url: https://api.athenahq.ai
    description: Serveur de production
security:
  - apiKey: []
tags:
  - name: Basics
    description: Opérations API principales pour gérer sites et prompts
  - name: Metrics
    description: Points de terminaison de métriques et analyses de visibilité IA
  - name: Billing
    description: Points de facturation et crédits pour gérer la consommation
  - name: Team Management
    description: Points de terminaison de gestion des membres et invitations
  - name: Groups
    description: Points de terminaison de gestion des groupes de sites
  - name: Content
    description: >-
      Points de terminaison Content Hub : onglets, URL suivies et détail des
      prompts par URL.
  - name: Pitch Workspace
    description: >-
      Points de terminaison des rapports Pitch Workspace : exécutions à
      l’échelle de l’organisation avec concurrents, prompts, attributs et
      métriques agrégées.
  - name: Knowledge Base
    description: >-
      Endpoints de lecture de la base de connaissances de la marque — faits
      approuvés et piliers qui les organisent.
paths:
  /api/v1/roles/{role_id}:
    parameters:
      - name: role_id
        in: path
        required: true
        schema:
          type: string
          pattern: >-
            ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
        description: Identifiant unique du rôle système ou personnalisé
    patch:
      tags:
        - Team Management
      summary: Modifier un rôle personnalisé
      description: >-
        Modifie la matrice d’un rôle personnalisé. Chaque catégorie vaut au
        minimum 'view', valeur par défaut des omissions. Les rôles système sont
        non modifiables. La matrice ne doit dupliquer aucun rôle existant. Clé
        globale requise.
      operationId: updateRole
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateRoleRequest'
      responses:
        '200':
          description: Rôle mis à jour
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - role
                properties:
                  success:
                    type: boolean
                    example: true
                  role:
                    $ref: '#/components/schemas/Role'
        '400':
          description: Requête incorrecte — format d’ID de rôle ou autorisations invalides
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Non autorisé — clé API invalide ou absente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Interdit — clé API globale requise ou rôle système
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                not_global:
                  value:
                    error: 'Forbidden: global API key required'
                system_role:
                  value:
                    error: System roles can't be edited
        '404':
          description: Introuvable — le rôle n’existe pas dans votre organisation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: Role not found
        '409':
          description: Conflit — autorisations identiques à un rôle existant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Erreur interne du serveur
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    UpdateRoleRequest:
      type: object
      description: Corps de modification des autorisations d’un rôle personnalisé
      required:
        - permissions
      properties:
        permissions:
          $ref: '#/components/schemas/PermissionMatrix'
    Role:
      type: object
      description: Rôle disponible dans votre organisation, système natif ou personnalisé.
      required:
        - role_id
        - name
        - slug
        - is_system
        - permissions
        - created_at
      properties:
        role_id:
          type: string
          pattern: >-
            ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          description: >-
            Identifiant unique du rôle, utilisable comme `role_id` dans les
            invitations et modifications. Les rôles système utilisent des
            sentinelles de forme GUID (par exemple
            `00000000-0000-0000-0000-000000000001`), pas des UUID RFC 4122.
        name:
          type: string
          description: Nom d’affichage du rôle
          example: Content Manager
        slug:
          type: string
          description: 'Nom normalisé du rôle (ex. : ''admin'', ''content-manager'')'
          example: content-manager
        is_system:
          type: boolean
          description: >-
            Indique s’il s’agit d’un rôle système intégré (Admin, Editor,
            Viewer, Billing). Les rôles système ne peuvent être ni modifiés ni
            supprimés.
        permissions:
          $ref: '#/components/schemas/PermissionMatrix'
        created_at:
          type: string
          description: Date de création du rôle
    Error:
      type: object
      description: Objet de réponse d’erreur
      required:
        - error
      properties:
        error:
          type: string
          description: Message expliquant l’erreur
          example: Unauthorized
    PermissionMatrix:
      type: object
      description: >-
        Niveaux d’accès par catégorie du rôle. Au moins 'view' pour chaque
        catégorie ; valeur par défaut des omissions à la création/modification.
      properties:
        content:
          type: string
          enum:
            - none
            - view
            - write
        prompts:
          type: string
          enum:
            - none
            - view
            - write
        competitors:
          type: string
          enum:
            - none
            - view
            - write
        analytics:
          type: string
          enum:
            - none
            - view
            - write
        integrations:
          type: string
          enum:
            - none
            - view
            - write
        brand_knowledge:
          type: string
          enum:
            - none
            - view
            - write
        team:
          type: string
          enum:
            - none
            - view
            - write
        billing:
          type: string
          enum:
            - none
            - view
            - write
        api:
          type: string
          enum:
            - none
            - view
            - write
        organization:
          type: string
          enum:
            - none
            - view
            - write
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Clé API d’authentification. Créez-en une
        [ici](https://app.athenahq.ai/organization?tab=api).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.