---
title: Envoyer à un client final un lien vers le Verification Portal
url: https://platform.claude.com/docs/fr/manage-claude/user-profiles-verification-portal
description: Créez un lien d'inscription pour un profil utilisateur, découvrez ce que fait votre client final dans le Verification Portal, et vérifiez ensuite quels programmes s'appliquent au profil.
---

Anthropic gère des programmes auxquels une organisation peut postuler dans le Verification Portal. Pour que les approbations d'un « end customer » (client final) s'appliquent lorsqu'il utilise Claude via votre plateforme, le client final associe son « user profile » (profil utilisateur) à sa propre organisation Anthropic dans le portail. C'est vous qui lancez le processus : créez un « enrollment link » (lien d'inscription) pour le profil et transmettez-le au client final.

Un profil utilisateur indique à Anthropic à quel client final correspond chaque requête API. Vous en créez un pour chaque client final et envoyez son ID `uprof_` dans chaque requête que vous effectuez pour lui. Le profil doit exister avant que vous puissiez créer un lien pour celui-ci. Pour en créer un, consultez [Profils utilisateur pour l'attribution aux clients finaux](https://platform.claude.com/docs/fr/manage-claude/user-profiles).

Vous pouvez ignorer cette page si vous avez uniquement besoin de l'attribution, ou si la création de liens d'inscription n'est pas activée pour votre organisation.

## Créer le lien

Pour créer un lien d'inscription pour un profil, appelez `POST /v1/user_profiles/{id}/action_urls` avec l'ID du profil dans le chemin. Dans le corps de la requête, définissez `action.type` sur `enroll_end_user`.

L'appel renvoie un `404` si la création de liens d'inscription n'est pas activée pour votre organisation. Il s'agit du même statut que pour un ID de profil introuvable, vérifiez donc d'abord l'ID.

<CodeGroup>
  ```bash cURL
  curl https://api.anthropic.com/v1/user_profiles/uprof_011CZkZCu8hGbp5mYRQgUmz9/action_urls \
    -H "x-api-key: $ANTHROPIC_API_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -H "content-type: application/json" \
    -d '{"action": {"type": "enroll_end_user"}}'
  ```

  ```bash CLI
  ant user-profiles:action-urls create \
    --user-profile-id uprof_011CZkZCu8hGbp5mYRQgUmz9 \
    --action '{type: enroll_end_user}'
  ```

  ```python Python
  client = anthropic.Anthropic()

  action_url = client.user_profiles.action_urls.create(
      "uprof_011CZkZCu8hGbp5mYRQgUmz9",
      action={"type": "enroll_end_user"},
  )

  print(action_url.url)
  ```

  ```typescript TypeScript
  const client = new Anthropic();

  const actionURL = await client.userProfiles.actionURLs.create(
    "uprof_011CZkZCu8hGbp5mYRQgUmz9",
    { action: { type: "enroll_end_user" } }
  );

  console.log(actionURL.url);
  ```

  ```csharp C#
  using Anthropic.Models.UserProfiles.ActionUrls;

  AnthropicClient client = new();

  var actionUrl = await client.UserProfiles.ActionUrls.Create(
      "uprof_011CZkZCu8hGbp5mYRQgUmz9",
      new() { Action = new UserProfileEnrollEndUserAction() }
  );

  Console.WriteLine(actionUrl.Url);
  ```

  ```go Go
  client := anthropic.NewClient()

  actionURL, err := client.UserProfiles.ActionURLs.New(
  	context.Background(),
  	"uprof_011CZkZCu8hGbp5mYRQgUmz9",
  	anthropic.UserProfileActionURLNewParams{
  		Action: anthropic.UserProfileActionUnionParam{
  			OfEnrollEndUser: &anthropic.UserProfileEnrollEndUserActionParam{},
  		},
  	},
  )
  if err != nil {
  	log.Fatal(err)
  }

  fmt.Println(actionURL.URL)
  ```

  ```java Java
  import com.anthropic.models.userprofiles.actionurls.ActionUrlCreateParams;
  import com.anthropic.models.userprofiles.actionurls.UserProfileEnrollEndUserAction;

  void main() {
      AnthropicClient client = AnthropicOkHttpClient.fromEnv();

      var params = ActionUrlCreateParams.builder()
          .userProfileId("uprof_011CZkZCu8hGbp5mYRQgUmz9")
          .action(UserProfileEnrollEndUserAction.builder().build())
          .build();
      var actionUrl = client.userProfiles().actionUrls().create(params);

      IO.println(actionUrl.url());
  }
  ```

  ```php PHP
  $client = new Client();

  $actionURL = $client->userProfiles->actionURLs->create(
      'uprof_011CZkZCu8hGbp5mYRQgUmz9',
      action: ['type' => 'enroll_end_user'],
  );

  echo $actionURL->url, PHP_EOL;
  ```

  ```ruby Ruby
  client = Anthropic::Client.new

  action_url = client.user_profiles.action_urls.create(
    "uprof_011CZkZCu8hGbp5mYRQgUmz9",
    action: { type: :enroll_end_user }
  )

  puts action_url.url
  ```
</CodeGroup>

La réponse contient le lien et l'heure à laquelle il cesse de fonctionner :

```json
{
  "type": "user_profile_action_url",
  "url": "https://portal.anthropic.com/enroll?enrollment_token=...",
  "expires_at": "2026-03-15T11:00:00Z"
}
```

Le lien fonctionne jusqu'à l'heure indiquée dans `expires_at`, environ une heure après sa création. Créez-le lorsque le client final le demande, par exemple lorsqu'il clique sur un bouton dans votre produit, et non à l'avance dans un e-mail qu'il pourrait lire plus tard. Il peut ouvrir le lien plusieurs fois jusqu'à son expiration. S'il a expiré, créez-en un nouveau : chaque appel renvoie un nouveau lien. La création d'un nouveau lien n'annule pas les précédents.

Toute personne disposant du lien peut l'utiliser jusqu'à son expiration, ne le transmettez donc qu'au client final auquel il est destiné. Envoyez-le à un administrateur ou à un propriétaire de l'organisation Anthropic du client final, car seul un administrateur ou un propriétaire peut associer un profil. N'analysez pas l'URL et n'en construisez pas une vous-même. Son format peut changer.

Si vous utilisez Claude Platform on AWS, créez plutôt le lien avec `POST /v1/user_profiles/{id}/enrollment_url`, et envoyez l'en-tête `anthropic-beta: user-profiles-2026-08-18`. Cette requête ne prend pas de corps, et la réponse contient les mêmes champs `url` et `expires_at`. Dans le SDK et la CLI, cet appel se trouve dans l'espace de noms bêta : `client.beta.user_profiles.create_enrollment_url()` (typescript: `client.beta.userProfiles.createEnrollmentURL()`; csharp: `client.Beta.UserProfiles.CreateEnrollmentUrl()`; go: `client.Beta.UserProfiles.NewEnrollmentURL()`; java: `client.beta().userProfiles().createEnrollmentUrl()`; php: `$client->beta->userProfiles->createEnrollmentURL()`; cli: `ant beta:user-profiles create-enrollment-url`).

`POST /v1/user_profiles/{id}/action_urls` n'est pas disponible sur Microsoft Foundry.

## Ce que voit le client final

Le lien ouvre le Verification Portal d'Anthropic à l'adresse `portal.anthropic.com`. Une fois que le client final s'est connecté, le portail lui affiche le nom de votre organisation Anthropic et l'ID du profil.

<Steps>
  <Step title="Se connecter">
    Le client final se connecte avec un compte Anthropic : un compte qu'il utilise déjà pour la Claude Console ou claude.ai, ou un nouveau compte qu'il crée à cette étape. Le portail conserve sa propre session de connexion, distincte de la Claude Console et de claude.ai. S'il appartient à plusieurs organisations, il choisit celle à associer.

    <Frame caption="Avant de se connecter, le client final voit pourquoi il a été envoyé vers le portail.">
      ![Carte du Verification Portal intitulée Link your account to apply for trusted access, avec un bouton Continue to log in.](https://platform.claude.com/docs/images/user-profiles/portal-log-in.png)
    </Frame>
  </Step>

  <Step title="Associer le profil">
    Le portail affiche une carte intitulée **Link your partner profile**. Elle indique le nom de votre plateforme, l'ID du profil, l'organisation du client final et la date d'expiration de l'invitation. Le client final sélectionne **Link profile** pour accepter ou **Skip for now** pour continuer vers le portail sans associer le profil.

    <Frame caption="Le client final confirme l'organisation à laquelle le profil est associé.">
      ![Carte du Verification Portal intitulée Link your partner profile, affichant le partenaire, l'ID du profil, l'organisation et la date d'expiration.](https://platform.claude.com/docs/images/user-profiles/portal-link-profile.png)
    </Frame>

    Seul un administrateur ou un propriétaire de l'organisation peut associer un profil. Toute autre personne voit **Admin access needed** et ne peut pas associer le profil. Elle peut basculer vers une organisation dont elle est administrateur ou propriétaire. Sinon, indiquez au client final qu'un administrateur ou un propriétaire de son organisation Anthropic doit ouvrir le lien.
  </Step>

  <Step title="Voir la confirmation">
    Le portail confirme avec **Profile linked**. Le client final reste dans le portail, où il peut consulter les programmes disponibles pour son organisation et y postuler.

    <Frame caption="Après l'association, le client final reste dans le portail.">
      ![Confirmation du Verification Portal intitulée Profile linked, avec les boutons View programs et View linked accounts.](https://platform.claude.com/docs/images/user-profiles/portal-profile-linked.png)
    </Frame>
  </Step>
</Steps>

Si le lien a expiré au moment où un administrateur ou un propriétaire l'ouvre et se connecte, le portail affiche **This invitation has expired** et lui indique de vous en demander un nouveau.

Un profil est associé à une seule organisation. S'il est déjà associé à une autre organisation, le portail affiche **This partner profile is already linked to a different organization** et ne l'associe pas. Un administrateur ou un propriétaire de l'organisation à laquelle le profil est associé peut le dissocier sous **Linked accounts** dans le portail. Ensuite, créez un nouveau lien et envoyez-le au client final.

## Après l'association du profil par le client final

Le portail ne renvoie pas le client final vers votre produit, et Anthropic ne vous en informe pas. Indiquez au client final, dans votre propre interface, de revenir une fois qu'il a terminé.

L'association n'approuve rien en elle-même. Elle relie le profil à l'organisation du client final, de sorte que les programmes pour lesquels l'organisation est approuvée s'appliquent aux requêtes qui portent l'ID du profil. Le profil ne comporte aucun champ indiquant qu'il est associé.

Pour voir quels programmes s'appliquent à un profil, [récupérez le profil](https://platform.claude.com/docs/fr/api/beta/user_profiles/retrieve) et lisez `programs`. Il contient une clé pour chaque programme, comme `cyber` et `efs`, et chaque profil possède toutes les clés. Chaque clé correspond à l'une des valeurs suivantes :

* `null` : Anthropic n'a aucun statut à signaler pour ce programme. Toutes les clés valent `null` si Anthropic n'a pas activé de programmes pour votre organisation.
* Un objet : son `status` vaut `active` lorsque Anthropic a approuvé le client final pour le programme, sinon `pending` ou `rejected`.

Le client final peut voir le profil associé sous **Linked accounts** dans le portail.

Si votre inférence s'exécute sur Claude dans Amazon Bedrock ou Google Cloud, vous devez également associer vos propres comptes. Les programmes ne s'appliquent aux requêtes provenant d'un compte AWS ou d'un projet Google Cloud qu'après que vous l'avez associé à l'organisation Anthropic qui crée vos profils. Consultez [Attribuer les requêtes sur Amazon Bedrock et Google Cloud](https://platform.claude.com/docs/fr/manage-claude/user-profiles#attribute-requests-on-amazon-bedrock-and-google-cloud).

## Étapes suivantes

Pour chaque champ que contient un profil récupéré, consultez la référence [Récupérer un profil](https://platform.claude.com/docs/fr/api/beta/user_profiles/retrieve).

Pour créer des profils, envoyer leurs ID dans vos requêtes et les maintenir à jour, consultez [Profils utilisateur pour l'attribution aux clients finaux](https://platform.claude.com/docs/fr/manage-claude/user-profiles).
