[comment]: # ({33b90954-f9e8f670})
# userdirectory.create

[comment]: # ({/33b90954-f9e8f670})

[comment]: # ({618f9eb8-b5ff62ed})
### Description

`object userdirectory.create(object/array userDirectory)`

Cette méthode permet de créer de nouveaux répertoires d’utilisateurs.

::: noteclassic
Cette méthode est disponible uniquement pour le type d’utilisateur *Super admin*.
:::

[comment]: # ({/618f9eb8-b5ff62ed})

[comment]: # ({9d471e91-d99c84a0})
### Paramètres

`(object/array)` Répertoires utilisateur à créer.

La méthode accepte des répertoires utilisateur avec les [propriétés standard des répertoires utilisateur](object#userdirectory).

[comment]: # ({/9d471e91-d99c84a0})

[comment]: # ({b44a6c25-cd9247c6})
### Valeurs de retour

`(object)` Renvoie un objet contenant les ID des répertoires utilisateurs créés dans la propriété `userdirectoryids`.
L’ordre des ID renvoyés correspond à l’ordre des répertoires utilisateurs transmis.

[comment]: # ({/b44a6c25-cd9247c6})

[comment]: # ({b41637d2-a15b0853})
### Exemples

[comment]: # ({/b41637d2-a15b0853})

[comment]: # ({e1bcfdf7-36cc6d5c})
##### Création d’un répertoire d’utilisateurs

Créez un répertoire d’utilisateurs pour authentifier les utilisateurs avec StartTLS via LDAP.
Notez que pour authentifier les utilisateurs via LDAP, [l’authentification LDAP](/manual/api/reference/authentication/object#authentication-object) doit être activée.

[Requête](/manual/api#performing-requests) :

```json
{
    "jsonrpc": "2.0",
    "method": "userdirectory.create",
    "params": {
        "idp_type": "1",
        "name": "LDAP API server #1",
        "host": "ldap://local.ldap",
        "port": "389",
        "base_dn": "ou=Users,dc=example,dc=org",
        "bind_dn": "cn=ldap_search,dc=example,dc=org",
        "bind_password": "ldapsecretpassword",
        "search_attribute": "uid",
        "start_tls": "1"
    },
    "id": 1
}
```

Réponse :

```json
{
    "jsonrpc": "2.0",
    "result": {
        "userdirectoryids": [
            "3"
        ]
    },
    "id": 1
}
```

[comment]: # ({/e1bcfdf7-36cc6d5c})

[comment]: # ({3b0bb38e-f354f485})
##### Création d’un annuaire d’utilisateurs (provisionnement JIT activé)

Créez un annuaire d’utilisateurs pour authentifier les utilisateurs via LDAP (avec le provisionnement JIT activé).
Notez que pour authentifier les utilisateurs via LDAP, [l’authentification LDAP](/manual/api/reference/authentication/object#authentication-object) doit être activée.

[Requête](/manual/api#performing-requests) :

```json
{
    "jsonrpc": "2.0",
    "method": "userdirectory.create",
    "params": {
            "idp_type": "1",
            "name": "AD server",
            "provision_status": "1",
            "description": "",
            "host": "host.example.com",
            "port": "389",
            "base_dn": "DC=zbx,DC=local",
            "search_attribute": "sAMAccountName",
            "bind_dn": "CN=Admin,OU=Users,OU=Zabbix,DC=zbx,DC=local",
            "start_tls": "0",
            "search_filter": "",
            "group_basedn": "OU=Zabbix,DC=zbx,DC=local",
            "group_name": "CN",
            "group_member": "member",
            "group_filter": "(%{groupattr}=CN=%{ref},OU=Users,OU=Zabbix,DC=zbx,DC=local)",
            "group_membership": "",
            "user_username": "givenName",
            "user_lastname": "sn",
            "user_ref_attr": "CN",
            "provision_media": [
                {
                    "name": "example.com",
                    "mediatypeid": "1",
                    "attribute": "user@example.com"
                }
            ],
            "provision_groups": [
                {
                    "name": "*",
                    "roleid": "4",
                    "user_groups": [
                        {
                            "usrgrpid": "8"
                        }
                    ]
                },
                {
                    "name": "Zabbix administrators",
                    "roleid": "2",
                    "user_groups": [
                        {
                            "usrgrpid": "7"
                        },
                        {
                            "usrgrpid": "8"
                        }
                    ]
                }
            ]
        },
    "id": 1
}
```

Réponse :

```json
{
    "jsonrpc": "2.0",
    "result": {
        "userdirectoryids": [
            "2"
        ]
    },
    "id": 1
}
```

[comment]: # ({/3b0bb38e-f354f485})

[comment]: # ({594536b5-8d17a3f4})
### Source

CUserDirectory::create() dans *ui/include/classes/api/services/CUserDirectory.php*.

[comment]: # ({/594536b5-8d17a3f4})
