Skip to main content
La personnalisation nécessite une authentification configurée avec OAuth ou JWT.
Personnalisez le contenu pour vos utilisateurs lorsqu’ils se connectent à votre site de documentation. Vous pouvez préremplir des clés d’API, afficher du contenu spécifique au plan ou au rôle d’un utilisateur et filtrer le contenu de la référence d’API en fonction de leur groupe d’appartenance.

Préremplissage de la clé d’API

Renseignez automatiquement les champs du bac à sable d’API avec des valeurs propres à chaque utilisateur en renvoyant des noms de champs correspondants dans vos données utilisateur. Incluez ces valeurs dans le champ apiPlaygroundInputs de vos données utilisateur.
{
  "apiPlaygroundInputs": {
    "header": { "X-API-Key": "user_api_key_123" },
    "server": { "subdomain": "acme" }
  }
}
Les noms de champ doivent correspondre aux noms définis dans votre spécification OpenAPI. Seules les valeurs correspondant au schéma de sécurité du point de terminaison en cours sont prises en compte.

Contenu MDX dynamique

Affichez du contenu en fonction des informations utilisateur comme le nom, l’abonnement ou l’organisation grâce à la variable user dans vos pages MDX. Incluez des données personnalisées dans le champ content de vos données utilisateur.
{
  "content": {
    "firstName": "Jane",
    "company": "Acme Corp",
    "plan": "Enterprise"
  }
}
Utilisez ces valeurs dans votre MDX.
Bienvenue, {user.firstName} ! Votre forfait {user.plan} comprend 100 places pour les membres de votre organisation {user.company}.
Pour effectuer un rendu conditionnel en fonction des données utilisateur, utilisez la variable user dans les composants JSX.
{
  user.plan === 'enterprise'
    ? <>Contactez votre administrateur pour activer cette fonctionnalité.</>
    : <>Consultez <a href="https://yoursite.com/pricing">nos tarifs</a> pour plus d'informations sur la mise à niveau.</>
}
La variable user est un objet vide pour les utilisateurs déconnectés. Utilisez l’opérateur d’enchaînement optionnel sur tous les champs de user pour éviter les erreurs. Par exemple, {user.org?.plan} au lieu de {user.org.plan}.

Visibilité des pages

Restreignez l’accès aux pages à des groupes d’utilisateurs spécifiques en ajoutant groups au frontmatter de la page. Les utilisateurs doivent appartenir à au moins un des groupes énumérés pour accéder à la page.
---
title: "Paramètres d'administration"
groups: ["admin"]
---
Pour plus de détails sur la façon dont les groupes interagissent avec les pages publiques, voir Contrôler l’accès avec des groupes.

Filtrage du contenu OpenAPI

Filtrez le contenu de la référence d’API en fonction des groupes d’utilisateurs à l’aide de l’extension x-mint dans votre spécification OpenAPI. Vous pouvez filtrer des points de terminaison entiers, des propriétés de schéma individuelles, des variantes oneOf et des valeurs d’énumération.

Filtrer les endpoints

Ajoutez x-mint.groups à une opération ou à un chemin pour restreindre la page de l’endpoint à des groupes d’utilisateurs spécifiques. Les utilisateurs qui ne font pas partie des groupes indiqués ne verront pas l’endpoint dans la navigation et ne pourront pas accéder à sa page.
{
  "paths": {
    "/billing": {
      "get": {
        "summary": "Récupérer les détails de facturation",
        "x-mint": {
          "groups": ["admin", "billing"]
        },
        "responses": {
          "200": {
            "description": "Détails de facturation"
          }
        }
      }
    }
  }
}

Filtrer les propriétés du schéma

Ajoutez x-mint.groups aux propriétés individuelles des corps de requête, des paramètres ou des réponses. Les propriétés sans x-mint.groups restent visibles pour tous les utilisateurs.
Restricted property
{
  "components": {
    "schemas": {
      "User": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "internal_id": {
            "type": "string",
            "x-mint": {
              "groups": ["admin"]
            }
          }
        }
      }
    }
  }
}
Dans cet exemple, tous les utilisateurs peuvent voir la propriété name. Seuls les utilisateurs du groupe admin peuvent voir la propriété internal_id.

Filtrer les variantes oneOf

Ajoutez x-mint.groups à chaque option oneOf pour restreindre les variantes de schéma qu’un utilisateur peut voir.
Restricted oneOf variant
{
  "schema": {
    "oneOf": [
      {
        "title": "Enterprise config",
        "type": "object",
        "x-mint": {
          "groups": ["enterprise"]
        },
        "properties": {
          "sso_enabled": { "type": "boolean" }
        }
      },
      {
        "title": "Standard config",
        "type": "object",
        "properties": {
          "notifications": { "type": "boolean" }
        }
      }
    ]
  }
}

Filtrer les valeurs d’énumération

Utilisez l’extension x-mint-enum pour restreindre certaines valeurs d’énumération par groupe. Indiquez chaque valeur restreinte comme key, avec ses groups autorisés comme value. Les valeurs d’énumération qui ne sont pas répertoriées dans x-mint-enum sont visibles par tous les utilisateurs.
Restricted enum values
{
  "type": "string",
  "enum": ["free", "pro", "enterprise"],
  "x-mint-enum": {
    "pro": ["pro", "enterprise"],
    "enterprise": ["enterprise"]
  }
}
Dans cet exemple, tous les utilisateurs voient free. Les utilisateurs appartenant aux groupes pro ou enterprise voient pro. Seuls les utilisateurs du groupe enterprise voient enterprise.
x-mint-enum est une extension distincte au niveau supérieur de l’objet de schéma, et non imbriquée sous x-mint.

Format des données utilisateur

Votre système d’authentification retourne des données utilisateur qui contrôlent la personnalisation. Les champs groups, content et apiPlaygroundInputs décrits sur cette page font tous partie de l’objet de données utilisateur. Pour connaître le format complet des données utilisateur et la référence des champs, consultez la page Format des données utilisateur.

Comportement de déconnexion

La déconnexion s’effectue côté client. Lorsque les utilisateurs cliquent sur le bouton de déconnexion, Mintlify efface les données de session stockées dans le navigateur. Pour limiter la durée de conservation des données de personnalisation, définissez le champ expiresAt dans vos données utilisateur.