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

# Checklist de mise en production

> Points à confirmer avant d'envoyer des données clients réelles. Chacun repose sur le comportement de l'API ou sur la console.

Parcourez la liste dans l'ordre. Chaque point indique où le vérifier.

## Accès

* [ ] **Votre espace de travail est activé pour l'API KYC partenaire.** Dans **Settings, API Keys**, le formulaire de nouvelle clé liste les scopes `kyc:`. S'il indique que l'espace de travail n'est pas activé, contactez Sahl.
* [ ] **Une clé par système, avec le minimum de scopes.** Un serveur qui ne fait que vérifier a besoin de `kyc:verify`. Seul `kyc:extract` consomme des lectures.
* [ ] **Les clés sont dans un gestionnaire de secrets sur votre serveur.** Aucune clé dans un navigateur, une application mobile ou un dépôt. Voir [Authentification](/fr/authentication#garder-les-clés-en-sécurité).
* [ ] **Vous avez renouvelé une clé une fois en sandbox.** Renouvelez avec un délai de grâce, déployez la clé suivante, puis confirmez que l'ancienne renvoie 401 `API key expired` après le délai de grâce.
* [ ] **Les clés de test sont révoquées.** Les clés collées dans le playground ou dans Postman pour tester sont révoquées dans la liste des clés.
* [ ] **Facultatif : les clés sont liées à votre compte de service Google.** Chaque appel envoie alors `X-Partner-Identity`.

## Politique

* [ ] **Une politique KYC existe pour `production`** si vous voulez d'autres règles que celles par défaut. La politique est enregistrée par type de client et par environnement : celle de la sandbox ne se transmet pas. Relisez-la dans **Settings, KYC policy** : seuils, documents requis, éléments verrouillés.
* [ ] **Vous savez quels interrupteurs sont verrouillés.** Envoyez un appel avec `screen: false` en sandbox et lisez `policy.overrides_refused` dans la réponse.
* [ ] **Votre préréglage de régime est celui que vous attendez.** Les champs `policy.source` et `policy.regime` d'une réponse indiquent quelle politique s'est appliquée.

## Intégration

* [ ] **Chaque appel porte une `reference` stable.** De 1 à 64 caractères parmi `A-Z a-z 0-9 _ . : -`, une par client, la même pour `/extract`, `/verify`, `/assess` et `/eid`. Sans elle, rien n'est classé dans votre espace de travail et aucun webhook n'est envoyé.
* [ ] **Vous renvoyez les entrées `documents[]` telles quelles.** Voir [Comment les appels s'enchaînent](/fr/guides/workflow).
* [ ] **Vous vous appuyez sur `critical_failures` et `flags`, pas seulement sur `passed`.** Un fichier avec des avertissements a quand même `passed: true`.
* [ ] **Vous reconnaissez les contrôles par `id`, pas par `label`.**
* [ ] **Vous gérez `reader_unavailable: true`.** Réessayez plus tard et ne le traitez pas comme un document vide.
* [ ] **Vous gérez les trois formes d'erreur**, y compris un 422 dont `detail` est une liste. Voir [Erreurs](/fr/errors).
* [ ] **Vous ne réessayez pas les 4xx** (sauf un 429 de limite de débit avec `Retry-After`), et vous réessayez les 5xx avec un délai croissant plafonné. Il n'existe pas de clé d'idempotence. Voir [Nouvelles tentatives](/fr/errors#nouvelles-tentatives).
* [ ] **Vous journalisez `X-Request-ID`** de chaque réponse et savez retrouver l'appel dans **Developers, Call log**.

## Limites

* [ ] **Vous connaissez votre quota mensuel de lectures** (2 000 par défaut) et vous gérez le 429 `kyc_extract_cap_reached`. Les lectures en sandbox y comptent aussi.
* [ ] **Vos serveurs restent sous 100 requêtes par minute et par IP cliente.** Les serveurs derrière une même adresse partagent la limite.
* [ ] **Votre étape d'envoi applique les règles de fichiers avant l'envoi :** de 1 à 5 fichiers, JPEG, PNG, WebP, TIFF ou PDF, 30 Mo chacun par défaut.

## Webhooks, si vous les utilisez

* [ ] **Le point de terminaison est en https et public.** Ajoutez-le dans **Settings, Webhooks** et cliquez sur **Test**.
* [ ] **Vous vérifiez `X-Sahl-Signature-V2` sur le corps brut** et rejetez les horodatages anciens. Voir [Webhooks](/fr/guides/webhooks#vérifier-la-signature).
* [ ] **Votre gestionnaire est idempotent** sur `X-Sahl-Delivery` ou `event_id`, et répond rapidement en 2xx.

## eID, si vous l'utilisez

* [ ] **Votre espace de travail a un compte chez un fournisseur eID.** Sans lui, `POST /v1/kyc/eid` renvoie 404.
* [ ] **Vos clients sont canadiens.** Les autres pays reçoivent un 422.
* [ ] **Vous utilisez la même `reference` et le même `environment`** pour `/eid` et le `/verify` suivant.
* [ ] **Vous interrogez le contrôle jusqu'au bout et conservez le PDF dans un délai d'environ sept jours.**

## Console

* [ ] **Vos équipes peuvent voir les données de production.** La console affiche les dossiers et documents de production sur tous les plans : le plan Free inclut 10 dossiers de production par mois et exige un e-mail professionnel vérifié (pas Gmail ni Yahoo) ; le bac à sable est illimité sur tous les plans.
* [ ] **Vous avez envoyé un premier appel de production avec un client fictif** et retrouvé son dossier dans **Cases** avec l'environnement `production`.
* [ ] **Les vrais documents vont uniquement en production.** Utilisez de fausses données en sandbox.

## Hors de cette liste

Sahl ne publie dans cette documentation ni chiffre de disponibilité, ni délai de réponse du support, ni chiffre de latence, ni déclaration de certification. Demandez-les à Sahl par écrit.


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