---
title: Update Verify Policy
description: Update a verify policy for the specified environment with the PUT {{apiPath}}/v1/environments/{{envID}}/verifyPolicies/{{verifyPolicyID}} request.
component: pingone-api
page_id: pingone-api:verify:verify-policy/update-verify-policy
canonical_url: https://developer.pingidentity.com/pingone-api/verify/verify-policy/update-verify-policy.html
section_ids:
  prerequisites: Prerequisites
  headers: Headers
  body: Body
  example-request: Example Request
  example-response: Example Response
  example-response-2: Example Response
  example-response-3: Example Response
---

# Update Verify Policy

##

```none
PUT {{apiPath}}/v1/environments/{{envID}}/verifyPolicies/{{verifyPolicyID}}
```

Update a verify policy for the specified environment with the `PUT {{apiPath}}/v1/environments/{{envID}}/verifyPolicies/{{verifyPolicyID}}` request.

Use this request to change the default verify policy for the environment. Simply set `default` to `true`.

|   |                                                                                                                                                                                                                    |
| - | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|   | You cannot use this call to set `default` to `false`. You must use this call to set `default` on a different verify policy to `true`, which also clears `default` of `true` on the previous default verify policy. |

The first example response returns when `.provider.auto` is `Veriff`. The second example response returns when `.provider.auto` is not provided. The third example shows an Aadhaar-enabled policy.

### Prerequisites

* Refer to [Verify Policies](../verify-policy.html) for important overview information.

> **Collapse: Request Model**
>
> Refer to [Verify policy data model](../verify-policy.html#verify-verify-policy-data-model) for full property descriptions.
>
> | Property                 | Type     | Required |
> | ------------------------ | -------- | -------- |
> | `default`                | Boolean  | Optional |
> | `description`            | String   | Optional |
> | `email`                  | Object   | Optional |
> | `environment.id`         | String   | Required |
> | `facialComparison`       | Object   | Optional |
> | `governmentId`           | Object   | Optional |
> | `id`                     | String   | Required |
> | `identityRecordMatching` | Object   | Optional |
> | `liveness`               | Object   | Optional |
> | `name`                   | String   | Required |
> | `phone`                  | Object   | Optional |
> | `transaction`            | Object   | Optional |
> | `updatedAt`              | DateTime | N/A      |
>
> `governmentId` - Government identification document configuration object
>
> | Property          | Type    | Required |
> | ----------------- | ------- | -------- |
> | `aadhaar`         | Object  | Optional |
> | `aadhaar.enabled` | Boolean | Optional |
> | `failExpiredId`   | Boolean | Optional |
> | `inspectionType`  | String  | Optional |
> | `provider.auto`   | String  | Optional |
> | `provider.manual` | String  | Optional |
> | `retry.attempts`  | Integer | Optional |
> | `verify`          | String  | Required |
> | `verifyAamva`     | Boolean | Optional |
>
> `facialComparison` - Facial comparison configuration object
>
> | Property    | Type   | Required |
> | ----------- | ------ | -------- |
> | `threshold` | String | Required |
> | `verify`    | String | Required |
>
> `identityRecordMatching` identity record matching configuration object
>
> | Property                    | Type    | Required |
> | --------------------------- | ------- | -------- |
> | `address`                   | String  | Optional |
> | `address.fieldRequired`     | Boolean | Required |
> | `address.threshold`         | String  | Required |
> | `birth_date`                | String  | Optional |
> | `birth_date.fieldRequired`  | Boolean | Required |
> | `birth_date.threshold`      | String  | Required |
> | `family_name`               | String  | Optional |
> | `family_name.fieldRequired` | Boolean | Required |
> | `family_name.threshold`     | String  | Required |
> | `given_name.fieldRequired`  | Boolean | Required |
> | `given_name`                | String  | Optional |
> | `given_name.threshold`      | String  | Required |
> | `name`                      | String  | Optional |
> | `name.fieldRequired`        | Boolean | Required |
> | `name.threshold`            | String  | Required |
>
> `dataBasedIdentityVerification` - Data-based identity verification configuration object
>
> | Property    | Type   | Required | Mutable | Description |
> | ----------- | ------ | -------- | ------- | ----------- |
> | `threshold` | String | Optional |         |             |
>
> `liveness` - Liveness configuration object
>
> | Property         | Type    | Required |
> | ---------------- | ------- | -------- |
> | `retry.attempts` | Integer | Optional |
> | `threshold`      | String  | Required |
> | `verify`         | String  | Required |
>
> `email` and `phone` - Email address and phone number configuration object
>
> | Property                                    | Type    | Required |
> | ------------------------------------------- | ------- | -------- |
> | `createMfaDevice`                           | Boolean | Optional |
> | `otp`                                       | Object  | Optional |
> | `otp.` `attempts`                           | Object  | Required |
> | `otp.` `attempts.` `count`                  | Integer | Required |
> | `otp.` `deliveries`                         | Object  | Required |
> | `otp.` `deliveries.` `coolDown.` `duration` | Integer | Required |
> | `otp.` `deliveries.` `coolDown.` `timeUnit` | String  | Required |
> | `otp.` `deliveries.` `coolDown`             | Object  | Required |
> | `otp.` `deliveries.` `count`                | Integer | Required |
> | `otp.` `lifeTime`                           | Object  | Required |
> | `otp.` `lifeTime.` `duration`               | Integer | Required |
> | `otp.` `lifeTime.` `timeUnit`               | String  | Required |
> | `otp.` `notification`                       | Object  | Required |
> | `otp.` `notification.` `templateName`       | String  | Required |
> | `otp.` `notification.` `variantName`        | String  | Optional |
> | `verify`                                    | String  | Required |
>
> `transaction` - Transaction configuration object
>
> | Property                                | Type    | Required |
> | --------------------------------------- | ------- | -------- |
> | `dataCollection`                        | Object  | Optional |
> | `dataCollection.` `timeout`             | Object  | Required |
> | `dataCollection.` `timeout.` `duration` | Integer | Required |
> | `dataCollection.` `timeout.` `timeUnit` | String  | Required |
> | `dataCollectionOnly`                    | Boolean | Optional |
> | `ida.enabled`                           | Boolean | Optional |
> | `timeout`                               | Object  | Optional |
> | `timeout.` `duration`                   | Integer | Required |
> | `timeout.` `timeUnit`                   | String  | Required |

The `notification.variantName` in the `email` and `phone` configuration objects can define a variant for the `email_phone_verification` notification submitted in `notification.templateName`, if needed. After receipt of a [Create Verify Transaction](../verify-transactions/create-verify-transaction.html) request, the verification service uses an `email_phone_verification` notification template to send notice of the action taken to the user via email or SMS text.

A policy-specific `locale` cannot be specified for the `email_phone_verification` notification. The notification uses the user's preferred language or, if the user has no preferred language, the default language of the environment.

When setting or changing timeouts in the transaction configuration object, `dataCollection.timeout.duration` must be less than or equal to `timeout.duration`. Use caution when reducing the timeouts below the defaults to avoid an unfavorable user experience.

### Headers

Authorization      Bearer {{accessToken}}

Content-Type      application/json

### Body

raw ( application/json )

```json
{
    "name": "Identity Verification",
    "description": "Verify Government ID and compare Selfie",
    "default": false,
    "governmentId": {
        "verify": "REQUIRED",
        "inspectionType": "AUTOMATIC",
        "failExpiredId":"true",
        "retry": {
            "attempts": 3
        },
        "provider": {
            "auto": "VERIFF",
            "manual": "MITEK"
        },
        "verifyAamva": true
    },
    "facialComparison": {
        "verify": "REQUIRED",
        "threshold": "HIGH"
    },
    "liveness": {
        "verify": "REQUIRED",
        "threshold": "HIGH"
    }
}
```

##

### Example Request

* cURL

* C#

* Go

* HTTP

* Java

* jQuery

* NodeJS

* Python

* PHP

* Ruby

* Swift

```shell
curl --location --globoff --request PUT '{{apiPath}}/v1/environments/{{envID}}/verifyPolicies/{{verifyPolicyID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{accessToken}}' \
--data '{
    "name": "Identity Verification",
    "description": "Verify Government ID and compare Selfie",
    "default": false,
    "governmentId": {
        "verify": "REQUIRED",
        "inspectionType": "AUTOMATIC",
        "failExpiredId":"true",
        "retry": {
            "attempts": 3
        },
        "provider": {
            "auto": "VERIFF",
            "manual": "MITEK"
        },
        "verifyAamva": true
    },
    "facialComparison": {
        "verify": "REQUIRED",
        "threshold": "HIGH"
    },
    "liveness": {
        "verify": "REQUIRED",
        "threshold": "HIGH"
    }
}'
```

```csharp
var options = new RestClientOptions("{{apiPath}}/v1/environments/{{envID}}/verifyPolicies/{{verifyPolicyID}}")
{
  MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("", Method.Put);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer {{accessToken}}");
var body = @"{" + "\n" +
@"    ""name"": ""Identity Verification""," + "\n" +
@"    ""description"": ""Verify Government ID and compare Selfie""," + "\n" +
@"    ""default"": false," + "\n" +
@"    ""governmentId"": {" + "\n" +
@"        ""verify"": ""REQUIRED""," + "\n" +
@"        ""inspectionType"": ""AUTOMATIC""," + "\n" +
@"        ""failExpiredId"":""true""," + "\n" +
@"        ""retry"": {" + "\n" +
@"            ""attempts"": 3" + "\n" +
@"        }," + "\n" +
@"        ""provider"": {" + "\n" +
@"            ""auto"": ""VERIFF""," + "\n" +
@"            ""manual"": ""MITEK""" + "\n" +
@"        }," + "\n" +
@"        ""verifyAamva"": true" + "\n" +
@"    }," + "\n" +
@"    ""facialComparison"": {" + "\n" +
@"        ""verify"": ""REQUIRED""," + "\n" +
@"        ""threshold"": ""HIGH""" + "\n" +
@"    }," + "\n" +
@"    ""liveness"": {" + "\n" +
@"        ""verify"": ""REQUIRED""," + "\n" +
@"        ""threshold"": ""HIGH""" + "\n" +
@"    }" + "\n" +
@"}";
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
```

```golang
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io"
)

func main() {

  url := "{{apiPath}}/v1/environments/{{envID}}/verifyPolicies/{{verifyPolicyID}}"
  method := "PUT"

  payload := strings.NewReader(`{
    "name": "Identity Verification",
    "description": "Verify Government ID and compare Selfie",
    "default": false,
    "governmentId": {
        "verify": "REQUIRED",
        "inspectionType": "AUTOMATIC",
        "failExpiredId":"true",
        "retry": {
            "attempts": 3
        },
        "provider": {
            "auto": "VERIFF",
            "manual": "MITEK"
        },
        "verifyAamva": true
    },
    "facialComparison": {
        "verify": "REQUIRED",
        "threshold": "HIGH"
    },
    "liveness": {
        "verify": "REQUIRED",
        "threshold": "HIGH"
    }
}`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Content-Type", "application/json")
  req.Header.Add("Authorization", "Bearer {{accessToken}}")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := io.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
```

```http
PUT /v1/environments/{{envID}}/verifyPolicies/{{verifyPolicyID}} HTTP/1.1
Host: {{apiPath}}
Content-Type: application/json
Authorization: Bearer {{accessToken}}

{
    "name": "Identity Verification",
    "description": "Verify Government ID and compare Selfie",
    "default": false,
    "governmentId": {
        "verify": "REQUIRED",
        "inspectionType": "AUTOMATIC",
        "failExpiredId":"true",
        "retry": {
            "attempts": 3
        },
        "provider": {
            "auto": "VERIFF",
            "manual": "MITEK"
        },
        "verifyAamva": true
    },
    "facialComparison": {
        "verify": "REQUIRED",
        "threshold": "HIGH"
    },
    "liveness": {
        "verify": "REQUIRED",
        "threshold": "HIGH"
    }
}
```

```java
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"name\": \"Identity Verification\",\n    \"description\": \"Verify Government ID and compare Selfie\",\n    \"default\": false,\n    \"governmentId\": {\n        \"verify\": \"REQUIRED\",\n        \"inspectionType\": \"AUTOMATIC\",\n        \"failExpiredId\":\"true\",\n        \"retry\": {\n            \"attempts\": 3\n        },\n        \"provider\": {\n            \"auto\": \"VERIFF\",\n            \"manual\": \"MITEK\"\n        },\n        \"verifyAamva\": true\n    },\n    \"facialComparison\": {\n        \"verify\": \"REQUIRED\",\n        \"threshold\": \"HIGH\"\n    },\n    \"liveness\": {\n        \"verify\": \"REQUIRED\",\n        \"threshold\": \"HIGH\"\n    }\n}");
Request request = new Request.Builder()
  .url("{{apiPath}}/v1/environments/{{envID}}/verifyPolicies/{{verifyPolicyID}}")
  .method("PUT", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "Bearer {{accessToken}}")
  .build();
Response response = client.newCall(request).execute();
```

```javascript
var settings = {
  "url": "{{apiPath}}/v1/environments/{{envID}}/verifyPolicies/{{verifyPolicyID}}",
  "method": "PUT",
  "timeout": 0,
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "Bearer {{accessToken}}"
  },
  "data": JSON.stringify({
    "name": "Identity Verification",
    "description": "Verify Government ID and compare Selfie",
    "default": false,
    "governmentId": {
      "verify": "REQUIRED",
      "inspectionType": "AUTOMATIC",
      "failExpiredId": "true",
      "retry": {
        "attempts": 3
      },
      "provider": {
        "auto": "VERIFF",
        "manual": "MITEK"
      },
      "verifyAamva": true
    },
    "facialComparison": {
      "verify": "REQUIRED",
      "threshold": "HIGH"
    },
    "liveness": {
      "verify": "REQUIRED",
      "threshold": "HIGH"
    }
  }),
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
```

```javascript
var request = require('request');
var options = {
  'method': 'PUT',
  'url': '{{apiPath}}/v1/environments/{{envID}}/verifyPolicies/{{verifyPolicyID}}',
  'headers': {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer {{accessToken}}'
  },
  body: JSON.stringify({
    "name": "Identity Verification",
    "description": "Verify Government ID and compare Selfie",
    "default": false,
    "governmentId": {
      "verify": "REQUIRED",
      "inspectionType": "AUTOMATIC",
      "failExpiredId": "true",
      "retry": {
        "attempts": 3
      },
      "provider": {
        "auto": "VERIFF",
        "manual": "MITEK"
      },
      "verifyAamva": true
    },
    "facialComparison": {
      "verify": "REQUIRED",
      "threshold": "HIGH"
    },
    "liveness": {
      "verify": "REQUIRED",
      "threshold": "HIGH"
    }
  })

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
```

```python
import requests
import json

url = "{{apiPath}}/v1/environments/{{envID}}/verifyPolicies/{{verifyPolicyID}}"

payload = json.dumps({
  "name": "Identity Verification",
  "description": "Verify Government ID and compare Selfie",
  "default": False,
  "governmentId": {
    "verify": "REQUIRED",
    "inspectionType": "AUTOMATIC",
    "failExpiredId": "true",
    "retry": {
      "attempts": 3
    },
    "provider": {
      "auto": "VERIFF",
      "manual": "MITEK"
    },
    "verifyAamva": True
  },
  "facialComparison": {
    "verify": "REQUIRED",
    "threshold": "HIGH"
  },
  "liveness": {
    "verify": "REQUIRED",
    "threshold": "HIGH"
  }
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer {{accessToken}}'
}

response = requests.request("PUT", url, headers=headers, data=payload)

print(response.text)
```

```php
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{apiPath}}/v1/environments/{{envID}}/verifyPolicies/{{verifyPolicyID}}');
$request->setMethod(HTTP_Request2::METHOD_PUT);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer {{accessToken}}'
));
$request->setBody('{\n    "name": "Identity Verification",\n    "description": "Verify Government ID and compare Selfie",\n    "default": false,\n    "governmentId": {\n        "verify": "REQUIRED",\n        "inspectionType": "AUTOMATIC",\n        "failExpiredId":"true",\n        "retry": {\n            "attempts": 3\n        },\n        "provider": {\n            "auto": "VERIFF",\n            "manual": "MITEK"\n        },\n        "verifyAamva": true\n    },\n    "facialComparison": {\n        "verify": "REQUIRED",\n        "threshold": "HIGH"\n    },\n    "liveness": {\n        "verify": "REQUIRED",\n        "threshold": "HIGH"\n    }\n}');
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }
  else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}
```

```ruby
require "uri"
require "json"
require "net/http"

url = URI("{{apiPath}}/v1/environments/{{envID}}/verifyPolicies/{{verifyPolicyID}}")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Put.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer {{accessToken}}"
request.body = JSON.dump({
  "name": "Identity Verification",
  "description": "Verify Government ID and compare Selfie",
  "default": false,
  "governmentId": {
    "verify": "REQUIRED",
    "inspectionType": "AUTOMATIC",
    "failExpiredId": "true",
    "retry": {
      "attempts": 3
    },
    "provider": {
      "auto": "VERIFF",
      "manual": "MITEK"
    },
    "verifyAamva": true
  },
  "facialComparison": {
    "verify": "REQUIRED",
    "threshold": "HIGH"
  },
  "liveness": {
    "verify": "REQUIRED",
    "threshold": "HIGH"
  }
})

response = http.request(request)
puts response.read_body
```

```swift
let parameters = "{\n    \"name\": \"Identity Verification\",\n    \"description\": \"Verify Government ID and compare Selfie\",\n    \"default\": false,\n    \"governmentId\": {\n        \"verify\": \"REQUIRED\",\n        \"inspectionType\": \"AUTOMATIC\",\n        \"failExpiredId\":\"true\",\n        \"retry\": {\n            \"attempts\": 3\n        },\n        \"provider\": {\n            \"auto\": \"VERIFF\",\n            \"manual\": \"MITEK\"\n        },\n        \"verifyAamva\": true\n    },\n    \"facialComparison\": {\n        \"verify\": \"REQUIRED\",\n        \"threshold\": \"HIGH\"\n    },\n    \"liveness\": {\n        \"verify\": \"REQUIRED\",\n        \"threshold\": \"HIGH\"\n    }\n}"
let postData = parameters.data(using: .utf8)

var request = URLRequest(url: URL(string: "{{apiPath}}/v1/environments/{{envID}}/verifyPolicies/{{verifyPolicyID}}")!,timeoutInterval: Double.infinity)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("Bearer {{accessToken}}", forHTTPHeaderField: "Authorization")

request.httpMethod = "PUT"
request.httpBody = postData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
  guard let data = data else {
    print(String(describing: error))
    return
  }
  print(String(data: data, encoding: .utf8)!)
}

task.resume()
```

### Example Response

200 OK

```json
{
    "_links": {
        "self": {
            "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/verifyPolicies/2b85040d-581c-49b3-b982-eec155463204"
        },
        "environment": {
            "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
        }
    },
    "id": "2b85040d-581c-49b3-b982-eec155463204",
    "environment": {
        "id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
    },
    "name": "Identity Verification",
    "description": "Verify Government ID and compare Selfie",
    "default": false,
    "governmentId": {
        "verify": "REQUIRED",
        "inspectionType": "AUTOMATIC",
        "failExpiredId":"true",
        "retry": {
            "attempts": 3
        },
        "provider": {
            "auto": "VERIFF",
            "manual": "MITEK"
        },
        "verifyAamva": true
    },
    "facialComparison": {
        "verify": "REQUIRED",
        "threshold": "HIGH"
    },
    "liveness": {
        "verify": "REQUIRED",
        "threshold": "HIGH"
    },
    "email": {
        "verify": "DISABLED",
        "createMfaDevice": false,
        "otp": {
            "attempts": {
                "count": 5
            },
            "lifeTime": {
                "duration": 10,
                "timeUnit": "MINUTES"
            },
            "deliveries": {
                "count": 3,
                "cooldown": {
                    "duration": 30,
                    "timeUnit": "SECONDS"
                }
            },
            "notification": {
                "templateName": "email_phone_verification"
            }
        }
    },
    "phone": {
        "verify": "DISABLED",
        "createMfaDevice": false,
        "otp": {
            "attempts": {
                "count": 5
            },
            "lifeTime": {
                "duration": 5,
                "timeUnit": "MINUTES"
            },
            "deliveries": {
                "count": 3,
                "cooldown": {
                    "duration": 30,
                    "timeUnit": "SECONDS"
                }
            },
            "notification": {
                "templateName": "email_phone_verification"
            }
        }
    },
    "voice": {
        "verify": "DISABLED",
        "enrollment": false,
        "textDependent": {
            "samples": 3,
            "phrase": {
                "id": "exceptional_experiences"
            }
        },
        "comparison": {
            "threshold": "MEDIUM"
        },
        "liveness": {
            "threshold": "MEDIUM"
        },
        "referenceData": {
            "retainOriginalRecordings": false,
            "updateOnReenrollment": true,
            "updateOnVerification": true
        }
    },
    "transaction": {
        "timeout": {
            "duration": 30,
            "timeUnit": "MINUTES"
        },
        "dataCollection": {
            "timeout": {
                "duration": 15,
                "timeUnit": "MINUTES"
            }
        },
        "dataCollectionOnly": false
    },
    "verifiableCredential": {
        "verify": "DISABLED",
        "protocol": "NATIVE"
    },
    "createdAt": "2024-04-08T12:58:19.702Z",
    "updatedAt": "2024-04-08T13:00:09.548Z"
}
```

### Example Response

200 OK

```json
{
    "_links": {
        "self": {
            "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/verifyPolicies/fec27b2c-a1be-4c96-9eed-f0de64ad6408"
        },
        "environment": {
            "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
        }
    },
    "id": "fec27b2c-a1be-4c96-9eed-f0de64ad6408",
    "environment": {
        "id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
    },
    "name": "Identity Verification",
    "description": "Verify Government ID and compare Selfie",
    "default": false,
    "governmentId": {
        "verify": "REQUIRED",
        "inspectionType": "AUTOMATIC",
        "retry": {
            "attempts": 3
        },
        "provider": {
            "auto": "MITEK",
            "manual": "MITEK"
        }
    },
    "facialComparison": {
        "verify": "REQUIRED",
        "threshold": "HIGH"
    },
    "liveness": {
        "verify": "REQUIRED",
        "threshold": "HIGH",
        "retry": {
            "attempts": 3
        }
    },
    "email": {
        "verify": "DISABLED",
        "createMfaDevice": false,
        "otp": {
            "attempts": {
                "count": 5
            },
            "lifeTime": {
                "duration": 10,
                "timeUnit": "MINUTES"
            },
            "deliveries": {
                "count": 3,
                "cooldown": {
                    "duration": 30,
                    "timeUnit": "SECONDS"
                }
            },
            "notification": {
                "templateName": "email_phone_verification"
            }
        }
    },
    "phone": {
        "verify": "DISABLED",
        "createMfaDevice": false,
        "otp": {
            "attempts": {
                "count": 5
            },
            "lifeTime": {
                "duration": 5,
                "timeUnit": "MINUTES"
            },
            "deliveries": {
                "count": 3,
                "cooldown": {
                    "duration": 30,
                    "timeUnit": "SECONDS"
                }
            },
            "notification": {
                "templateName": "email_phone_verification"
            }
        }
    },
    "voice": {
        "verify": "DISABLED",
        "enrollment": false,
        "textDependent": {
            "samples": 3,
            "phrase": {
                "id": "exceptional_experiences"
            }
        },
        "comparison": {
            "threshold": "MEDIUM"
        },
        "liveness": {
            "threshold": "MEDIUM"
        },
        "referenceData": {
            "retainOriginalRecordings": false,
            "updateOnReenrollment": true,
            "updateOnVerification": true
        }
    },
    "transaction": {
        "timeout": {
            "duration": 30,
            "timeUnit": "MINUTES"
        },
        "dataCollection": {
            "timeout": {
                "duration": 15,
                "timeUnit": "MINUTES"
            }
        },
        "dataCollectionOnly": false
    },
    "verifiableCredential": {
        "verify": "DISABLED",
        "protocol": "NATIVE"
    },
    "createdAt": "2024-04-10T20:26:06.326Z",
    "updatedAt": "2024-04-10T20:38:27.324Z"
}
```

### Example Response

200 OK

```json
{
    "_links": {
        "self": {
            "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/verifyPolicies/5c5989a3-c167-444e-9321-b73a28df9e1b"
        },
        "environment": {
            "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
        }
    },
    "id": "5c5989a3-c167-444e-9321-b73a28df9e1b",
    "environment": {
        "id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
    },
    "name": "Verify Policy Use GovId - Aadhaar",
    "description": "Require Aadhaar ID.",
    "default": false,
    "governmentId": {
        "verify": "REQUIRED",
        "inspectionType": "AUTOMATIC",
        "failExpiredId": false,
        "provider": {
            "auto": "MITEK",
            "manual": "MITEK"
        },
        "verifyAamva": true,
        "aadhaar": {
            "enabled": true,
            "otp": {
                "deliveries": {
                    "count": 3,
                    "cooldown": {
                        "duration": 60,
                        "timeUnit": "SECONDS"
                    }
                }
            }
        }
    },
    "facialComparison": {
        "verify": "REQUIRED",
        "threshold": "HIGH"
    },
    "liveness": {
        "verify": "OPTIONAL",
        "threshold": "HIGH",
        "retry": {
            "attempts": 1
        }
    },
    "email": {
        "verify": "DISABLED",
        "createMfaDevice": false,
        "otp": {
            "attempts": {
                "count": 5
            },
            "lifeTime": {
                "duration": 10,
                "timeUnit": "MINUTES"
            },
            "deliveries": {
                "count": 3,
                "cooldown": {
                    "duration": 30,
                    "timeUnit": "SECONDS"
                }
            },
            "notification": {
                "templateName": "email_phone_verification"
            }
        }
    },
    "phone": {
        "verify": "DISABLED",
        "createMfaDevice": false,
        "otp": {
            "attempts": {
                "count": 5
            },
            "lifeTime": {
                "duration": 10,
                "timeUnit": "MINUTES"
            },
            "deliveries": {
                "count": 3,
                "cooldown": {
                    "duration": 30,
                    "timeUnit": "SECONDS"
                }
            },
            "notification": {
                "templateName": "email_phone_verification"
            }
        }
    },
    "voice": {
        "verify": "DISABLED",
        "enrollment": false,
        "textDependent": {
            "samples": 3,
            "phrase": {
                "id": "exceptional_experiences"
            }
        },
        "comparison": {
            "threshold": "MEDIUM"
        },
        "liveness": {
            "threshold": "MEDIUM"
        },
        "referenceData": {
            "retainOriginalRecordings": false,
            "updateOnReenrollment": true,
            "updateOnVerification": true
        }
    },
    "transaction": {
        "timeout": {
            "duration": 30,
            "timeUnit": "MINUTES"
        },
        "dataCollection": {
            "timeout": {
                "duration": 15,
                "timeUnit": "MINUTES"
            }
        },
        "ida": {
            "enabled": true
        },
        "dataCollectionOnly": false
    },
    "verifiableCredential": {
        "verify": "DISABLED",
        "protocol": "NATIVE"
    },
    "createdAt": "2025-04-21T18:16:50.040Z",
    "updatedAt": "2025-04-21T18:18:43.316Z"
}
```
