API Utilisateurs

L'API Utilisateurs vous permet de gérer les utilisateurs de votre organisation Diamy, y compris la création, la modification et la suppression de comptes utilisateurs, ainsi que la gestion des rôles et des permissions.

Permissions requises

L'accès à ces endpoints nécessite une clé API avec les permissions users:read et/ou users:write.

Lister les utilisateurs

Récupère une liste paginée des utilisateurs de votre organisation.

Requête

GET /users

curl -X GET "https://api.diamy.io/v1/users" \
  -H "Authorization: Bearer votre_clé_api" \
  -H "Content-Type: application/json"

Paramètres de requête

ParamètreTypeDescription
pageintegerNuméro de page (défaut: 1)
per_pageintegerNombre d'utilisateurs par page (défaut: 10, max: 100)
rolestringFiltrer par rôle (admin, user, guest)
statusstringFiltrer par statut (active, inactive, pending)
searchstringRechercher par nom ou email

Réponse

{
  "status": "success",
  "data": {
    "users": [
      {
        "id": "usr_123456",
        "name": "Jean Dupont",
        "email": "jean.dupont@example.com",
        "role": "admin",
        "status": "active",
        "created_at": "2023-01-15T14:30:00Z",
        "updated_at": "2023-03-20T09:15:22Z",
        "last_login_at": "2023-04-01T08:45:12Z"
      },
      {
        "id": "usr_789012",
        "name": "Marie Martin",
        "email": "marie.martin@example.com",
        "role": "user",
        "status": "active",
        "created_at": "2023-02-10T11:20:00Z",
        "updated_at": "2023-02-10T11:20:00Z",
        "last_login_at": "2023-03-28T14:22:45Z"
      }
    ]
  },
  "pagination": {
    "total": 42,
    "page": 1,
    "per_page": 10,
    "pages": 5
  }
}

Récupérer un utilisateur

Récupère les détails d'un utilisateur spécifique.

Requête

GET /users/{user_id}

curl -X GET "https://api.diamy.io/v1/users/usr_123456" \
  -H "Authorization: Bearer votre_clé_api" \
  -H "Content-Type: application/json"

Paramètres de chemin

ParamètreTypeDescription
user_idstringL'identifiant unique de l'utilisateur

Réponse

{
  "status": "success",
  "data": {
    "user": {
      "id": "usr_123456",
      "name": "Jean Dupont",
      "email": "jean.dupont@example.com",
      "role": "admin",
      "status": "active",
      "phone": "+33612345678",
      "department": "Ventes",
      "location": "Paris",
      "created_at": "2023-01-15T14:30:00Z",
      "updated_at": "2023-03-20T09:15:22Z",
      "last_login_at": "2023-04-01T08:45:12Z",
      "preferences": {
        "language": "fr",
        "timezone": "Europe/Paris",
        "notifications": {
          "email": true,
          "sms": false,
          "push": true
        }
      }
    }
  }
}

Créer un utilisateur

Crée un nouvel utilisateur dans votre organisation.

Permissions requises

Cet endpoint nécessite une clé API avec la permission users:write.

Requête

POST /users

curl -X POST "https://api.diamy.io/v1/users" \
  -H "Authorization: Bearer votre_clé_api" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Pierre Durand",
    "email": "pierre.durand@example.com",
    "role": "user",
    "department": "Marketing",
    "location": "Lyon",
    "phone": "+33687654321",
    "send_welcome_email": true
  }'

Paramètres du corps

ParamètreTypeRequisDescription
namestringOuiNom complet de l'utilisateur
emailstringOuiAdresse email de l'utilisateur
rolestringNonRôle de l'utilisateur (admin, user, guest). Par défaut: user
departmentstringNonDépartement ou service de l'utilisateur
locationstringNonLocalisation de l'utilisateur
phonestringNonNuméro de téléphone de l'utilisateur
send_welcome_emailbooleanNonEnvoyer un email de bienvenue avec les instructions de connexion. Par défaut: true

Réponse

{
  "status": "success",
  "data": {
    "user": {
      "id": "usr_789012",
      "name": "Pierre Durand",
      "email": "pierre.durand@example.com",
      "role": "user",
      "status": "pending",
      "department": "Marketing",
      "location": "Lyon",
      "phone": "+33687654321",
      "created_at": "2023-04-05T10:15:30Z",
      "updated_at": "2023-04-05T10:15:30Z"
    }
  }
}

Mettre à jour un utilisateur

Met à jour les informations d'un utilisateur existant.

Permissions requises

Cet endpoint nécessite une clé API avec la permission users:write.

Requête

PATCH /users/{user_id}

curl -X PATCH "https://api.diamy.io/v1/users/usr_123456" \
  -H "Authorization: Bearer votre_clé_api" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Jean Dupont-Martin",
    "department": "Direction",
    "role": "admin"
  }'

Paramètres de chemin

ParamètreTypeDescription
user_idstringL'identifiant unique de l'utilisateur

Paramètres du corps

Tous les paramètres sont optionnels. Seuls les champs fournis seront mis à jour.

ParamètreTypeDescription
namestringNom complet de l'utilisateur
emailstringAdresse email de l'utilisateur
rolestringRôle de l'utilisateur (admin, user, guest)
statusstringStatut de l'utilisateur (active, inactive)
departmentstringDépartement ou service de l'utilisateur
locationstringLocalisation de l'utilisateur
phonestringNuméro de téléphone de l'utilisateur

Réponse

{
  "status": "success",
  "data": {
    "user": {
      "id": "usr_123456",
      "name": "Jean Dupont-Martin",
      "email": "jean.dupont@example.com",
      "role": "admin",
      "status": "active",
      "department": "Direction",
      "location": "Paris",
      "phone": "+33612345678",
      "created_at": "2023-01-15T14:30:00Z",
      "updated_at": "2023-04-05T11:20:15Z",
      "last_login_at": "2023-04-01T08:45:12Z"
    }
  }
}

Supprimer un utilisateur

Supprime un utilisateur de votre organisation.

Attention

Cette action est irréversible. Toutes les données associées à cet utilisateur seront également supprimées.

Permissions requises

Cet endpoint nécessite une clé API avec la permission users:write.

Requête

DELETE /users/{user_id}

curl -X DELETE "https://api.diamy.io/v1/users/usr_123456" \
  -H "Authorization: Bearer votre_clé_api" \
  -H "Content-Type: application/json"

Paramètres de chemin

ParamètreTypeDescription
user_idstringL'identifiant unique de l'utilisateur

Réponse

{
  "status": "success",
  "data": {
    "deleted": true,
    "id": "usr_123456"
  }
}