---
title: "role | API GraphQL | Rolebase"
description: "Rôle, définit la raison d'être, le domaine, les redevabilités et d'autres aspects d'une position ou fonction au sein d'une organisation. Chaque cercle est associé à un rôle."
url: "https://rolebase.io/fr/developers/graphql-api/role"
---

[Rolebase](/) ⟩[Développeurs](/fr/developers) ⟩[API GraphQL](/fr/developers/graphql-api)

# role

Rôle, définit la raison d'être, le domaine, les redevabilités et d'autres aspects d'une position ou fonction au sein d'une organisation. Chaque cercle est associé à un rôle.

## Champs

Champ

Type

Description

`id`

`uuid`

Identifiant unique du rôle

`orgId`

`uuid`

Référence à l'organisation

`name`

`String`

Nom du rôle

`purpose`

`String`

Raison d'être ou mission du rôle

`domain`

`String`

Domaines d'autorité et de contrôle

`accountabilities`

`String`

Liste des redevabilités

`checklist`

`String`

Liste de vérification des responsabilités récurrentes

`indicators`

`String`

Indicateurs de performance à suivre

`notes`

`String`

Notes supplémentaires

`archivedAt`

`Timestamp`

Date d'archivage du rôle ; null si actif

`createdAt`

`Timestamp`

Date de création du rôle

`base`

`Boolean`

Indique si c'est un rôle de base (par défaut : false)

`singleMember`

`Boolean`

Indique si le rôle ne peut avoir qu'un seul membre (par défaut : false)

`parentLink`

`Boolean`

Indique si le rôle peut être lié aux cercles parents (par défaut : false)

`colorHue`

`Smallint`

Teinte de couleur pour la représentation visuelle (optionnel)

## Relations

**Relations objet :**

*   `org` — L'organisation à laquelle ce rôle appartient

**Relations tableau :**

*   `circles` — Cercles qui utilisent ce rôle

## Exemples de requêtes

### Lister les rôles d'une organisation

```
query GetRoles($orgId: uuid!) {  role(where: { orgId: { _eq: $orgId } }) {    id    name  }}
```

### Obtenir un rôle spécifique avec tous les détails

```
query GetRole($id: uuid!) {  role_by_pk(id: $id) {    id    name    purpose    domain    accountabilities    checklist    indicators    notes  }}
```

## Exemples de mutations

### Créer un rôle

```
mutation CreateRole {  insert_role_one(    object: {      orgId: "your-org-id"      name: "Software Engineer"      purpose: "Develop and maintain software applications"      domain: "Application codebase and development tools"      accountabilities: "Write clean code, Review PRs, Debug issues"      checklist: "Daily code review, Weekly status updates"      indicators: "Code quality metrics, Bug resolution time"      notes: "Focus on maintainable and scalable code"      singleMember: false    }  ) {    id    name    purpose  }}
```

### Mettre à jour un rôle

```
mutation UpdateRole {  update_role_by_pk(    pk_columns: { id: "role-id" }    _set: {      name: "Senior Software Engineer"      accountabilities: "Lead development, Mentor team members, Architect solutions"    }  ) {    id    name    accountabilities  }}
```

## Permissions

*   **Consultation** — Tous les membres de l'organisation peuvent consulter les rôles
*   **Création** — Les propriétaires peuvent créer tous les rôles. Les administrateurs et membres peuvent créer les rôles non-base
*   **Modification** — Les propriétaires peuvent modifier tous les rôles. Pour les rôles non-base, l'accès dépend du [`governanceMode`](/fr/docs/governance-modes) de l'organisation : en mode `Free`, les administrateurs et membres peuvent les modifier ; en mode `Agile`, les leaders du cercle le peuvent ; en mode `Strict`, les changements de structure passent par des propositions
*   **Suppression** — Uniquement disponible via l'API admin Hasura

** Notes**

Les rôles de base (`base: true`) sont fondamentaux pour l'organisation et ne peuvent être modifiés que par les propriétaires. L'indicateur `singleMember` restreint l'attribution à une seule personne. La combinaison de la raison d'être, du domaine et des redevabilités définit le périmètre complet du rôle.
