---
title: "Crée ou met à jour le SAMLProvider de l'org active."
method: PUT
path: "/api/v1/auth/saml/admin/provider"
tags: ["Authentification"]
---

# Crée ou met à jour le SAMLProvider de l'org active.

`PUT /api/v1/auth/saml/admin/provider`

## Request

- Base URL: `https://erp.eyeot.fr/api/v1`
- URL: `https://erp.eyeot.fr/api/v1/api/v1/auth/saml/admin/provider`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Crée ou met à jour le SAMLProvider de l'org active.

    Payload :
    {
      "idp_entity_id": "...",
      "idp_sso_url": "...",
      "idp_x509_cert": "-----BEGIN CERTIFICATE-----...",
      "idp_slo_url": "...",  // optionnel
      "attribute_mapping": {  // optionnel
        "email": "urn:oid:0.9.2342.19200300.100.1.3",
        "firstname": "givenName",
        "lastname": "surname"
      },
      "auto_provision_users": true,
      "is_active": true
    }

**Permissions requises** : `admin:all`

## Response `200`

Succès — payload `{data, meta}` (cf. API-GUIDE §3.1)

## Other responses

- `400`: Validation Marshmallow échouée. `errors` détaille chaque champ invalide.
- `401`: JWT manquant, expiré ou révoqué.
- `403`: Permissions `module:action` insuffisantes pour cette route.
- `404`: Ressource introuvable (ou cross-tenant — équivalent à hidden).
- `409`: État incohérent (email dupliqué, ressource déjà dans cet état, etc.).
- `422`: Validation Marshmallow échouée. `errors` détaille chaque champ invalide.
- `429`: Trop de requêtes. Honorer le header `Retry-After` (secondes).

---

[API](https://skmtc.dev/eyeot/apis/eyeot-erp-api.md) · [All operations](https://skmtc.dev/eyeot/apis/eyeot-erp-api/llms.txt) · [OpenAPI document](https://skmtc.dev/eyeot/apis/eyeot-erp-api/revisions/42ab95222a89?raw)
