# mongoc_client_pool_enable_auto_encryption()

## Synopsis

    bool
    mongoc_client_pool_enable_auto_encryption (mongoc_client_pool_t *pool,
                                               mongoc_auto_encryption_opts_t* opts,
                                               bson_error_t* error);

Enable automatic client side encryption on a mongoc_client_pool_t. Requires libmongoc to be built with support for Client-Side Field Level Encryption. See the guide for Using Client-Side Field Level Encryption.

Automatic encryption is an enterprise-only feature that only applies to operations on a collection. Automatic encryption is not supported for operations on a database or view, and operations that are not bypassed will result in error. To bypass automatic encryption for all operations, bypass automatic encryption with mongoc_auto_encryption_opts_set_bypass_auto_encryption() in `opts`.

Automatic encryption requires the authenticated user to have the listCollections privilege action.

Enabling automatic encryption reduces the maximum message size and may have a negative performance impact.

## Parameters

- `client`: A mongoc_client_t.

- `opts`: A required mongoc_auto_encryption_opts_t.

- `error`: A `bson_error_t` which is set on error.

## Returns

Returns `true` if successful. Returns `false` and sets `error` otherwise.

See also

mongoc_auto_encryption_opts_t
mongoc_client_enable_auto_encryption()
The guide for Using Client-Side Field Level Encryption for libmongoc
The MongoDB Manual for Client-Side Field Level Encryption