
# Lister les certificats de signature IdP d'une connexion

`GET /v1/connections/{connection_id}/certificates` · autorisation `connections:read`

Renvoie les certificats de signature actifs du fournisseur d'identité pour une connexion SAML d'entreprise : ID, empreinte SHA-256, période de validité et source. Le certificat lui-même et son sujet (qui peut contenir le nom ou l'adresse e-mail d'une personne) ne sont pas renvoyés. Une connexion compte au plus 3 certificats actifs, la liste n'est donc pas paginée : il n'existe ni paramètre `limit`, `after`, `before` ni `order`, et `list_metadata` ne contient pas de curseur. Les certificats supprimés ne sont pas listés. Les lectures ne sont pas auditées.

## Requête

| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| `connection_id` | chemin | oui | ID de connexion SAML d'entreprise (`conn_…`). |

## Réponse

`200 OK`. Une connexion SAML sans configuration SAML renvoie une liste vide.

```json
{
  "data": [
    {"id": "conncert_01j9xq2m4n6p8r0s2t4v6w8y0a", "sha256_fingerprint": "3b0c…", "not_before": "2026-01-01T00:00:00Z", "not_after": "2028-01-01T00:00:00Z", "source": "metadata"}
  ],
  "list_metadata": {"before": null, "after": null}
}
```

| Champ | Description |
|---|---|
| `id` | ID du certificat (`conncert_…`) ; utilisez-le pour [supprimer le certificat](delete.md). |
| `sha256_fingerprint` | SHA-256 hexadécimal en minuscules de l'encodage DER. Comparez-le à l'empreinte affichée par votre fournisseur d'identité. |
| `not_before`, `not_after` | Période de validité. Un certificat hors de cette période ne vérifie aucune signature. |
| `source` | `metadata` : ajouté par un rafraîchissement de l'URL de métadonnées ; `manual` : envoyé à la main ou issu d'un [document de métadonnées importé](../connections/import-metadata.md). |

## Erreurs

| HTTP | code | Quand |
|---|---|---|
| 404 | `not_found` | La connexion n'existe pas dans cet environnement ou n'est pas une connexion d'entreprise. |
| 409 | `conflict` | La connexion n'est pas une connexion SAML. |
| 401 | `unauthenticated` | L'identifiant est absent, invalide ou révoqué. |
| 403 | `insufficient_permissions` | L'identifiant ne dispose pas de l'autorisation requise. |
| 429 | `rate_limited` | La limite de débit a été dépassée ; réessayez après la durée indiquée par `Retry-After`. |
| 503 | `service_unavailable` | Une dépendance est temporairement indisponible ; réessayez après la durée indiquée par `Retry-After`. |

## Exemple

```bash
curl "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/certificates" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

```bash
keenauth connections certificates list conn_01j9xp6q0r1s5t7v9w1x3y5z7b
```
