# Create a check

{% hint style="info" %}
Please refer to the check type respective pages for a more detailed breakdown of request and response structures:

* [Standard AML Screening](/documentation/api-reference/check-types/aml-screening-check.md)
* [Extensive AML Screening](/documentation/api-reference/check-types/aml-screening-check.md)
* [Document Check](/documentation/api-reference/check-types/document-check.md)
* [Identity Check](/documentation/api-reference/check-types/identity-check.md)
* [Enhanced Identity Check](/documentation/api-reference/check-types/enhanced-identity-check.md)
* [Proof of Address Check](/documentation/api-reference/check-types/proof-of-address-check.md)
* [Multi-Bureau Check](/documentation/api-reference/check-types/multi-bureau-check.md)
* [eID Check](/documentation/api-reference/check-types/eid-check.md)
* [SSN Check](/documentation/api-reference/check-types/ssn-check.md)
* [Age Estimation Check](/documentation/api-reference/check-types/age-estimation-check.md)
* [Identity Fraud Check](/documentation/api-reference/check-types/identity-fraud-check.md)
* [Driving License Check](/documentation/api-reference/check-types/driving-license-check.md)
* [Device Intelligence Check](/documentation/api-reference/check-types/device-intelligence-check.md)
* [Email Intelligence Check](/documentation/api-reference/check-types/email-intelligence-check.md)
* [Mobile Intelligence Check](/documentation/api-reference/check-types/mobile-intelligence-check.md)
* [Face Authentication Check](/documentation/api-reference/check-types/face-authentication-check.md)
  {% endhint %}

### URL

<mark style="color:green;">**POST**</mark> `https://api.complycube.com/v1/checks`

Creates a new check.

### Headers

<table><thead><tr><th width="309">Name</th><th width="117">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>Content-Type</code><mark style="color:red;">*</mark></td><td>string</td><td>The content-type must always be set to <code>application/json</code>.</td></tr><tr><td><code>Authorization</code><mark style="color:red;">*</mark></td><td>string</td><td>The API <strong><code>live</code></strong> or <strong><code>test</code></strong> key</td></tr></tbody></table>

### Body

<table><thead><tr><th width="313">Name</th><th width="115">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>clientId</code><mark style="color:red;">*</mark></td><td>string</td><td>The ID of the client.</td></tr><tr><td><code>type</code><mark style="color:red;">*</mark></td><td>string</td><td><p>The type of check. Valid values include:</p><ol><li><code>standard_screening_check</code></li><li><code>extensive_screening_check</code></li><li><code>document_check</code></li><li><code>identity_check</code></li><li><code>enhanced_identity_check</code></li><li><code>proof_of_address_check</code></li><li><code>multi_bureau_check</code></li><li><code>eid_check</code></li><li><code>ssn_check</code></li><li><code>age_estimation_check</code></li><li><code>identity_fraud_check</code></li><li><code>driving_license_check</code></li><li><code>device_intelligence_check</code></li><li><code>email_intelligence_check</code></li><li><code>mobile_intelligence_check</code></li><li><code>face_authentication_check</code></li></ol></td></tr><tr><td><code>enableMonitoring</code></td><td>boolean</td><td>Determines whether continuous monitoring is enabled. When not provided, it defaults to <strong>false</strong>.</td></tr><tr><td><code>documentId</code></td><td>string</td><td>The ID of the document. This is expected when the type of check is <code>document_check</code>, <code>identity_check</code>, <code>enhanced_identity_check</code>, <code>proof_of_address_check</code>, or <code>driving_license_check</code>.</td></tr><tr><td><code>addressId</code></td><td>string</td><td>The ID of the address. This is expected when the check type is <code>multi_bureau_check</code> or <code>identity_fraud_check</code>.</td></tr><tr><td><code>livePhotoId</code></td><td>string</td><td>The ID of the live photo. This is expected when the type of check is <code>identity_check</code>, <code>age_estimation_check</code>, or <code>face_authentication_check</code>.</td></tr><tr><td><code>liveVideoId</code></td><td>string</td><td>The ID of the live video. This is required when the type of check is <code>enhanced_identity_check</code>.</td></tr><tr><td><code>options</code></td><td>object</td><td>The advanced optional configuration associated with the check. Also, see the <strong>options</strong> object defined under each <code>type</code> of check.</td></tr><tr><td><code>clientConsent</code></td><td>boolean</td><td>Where required, you must collect the client's consent before creating a check.</td></tr></tbody></table>

### Example request

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X POST https://api.complycube.com/v1/checks \
     -H 'Authorization: <YOUR_API_KEY>' \
     -H 'Content-Type: application/json' \
     -d '{
          	"clientId":"CLIENT_ID",
          	"type": "extensive_screening_check"
        }'
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
const { ComplyCube } = require("@complycube/api");

const complycube = new ComplyCube({ apiKey: "<YOUR_API_KEY>" });

const check = await complycube.check.create("CLIENT_ID", {
    type: "extensive_screening_check"
});
```

{% endtab %}

{% tab title="Python" %}

```python
from complycube import ComplyCubeClient

cc_api = ComplyCubeClient(api_key='<YOUR_API_KEY>')

check = cc_api.checks.create('CLIENT_ID',type='extensive_screening_check')
```

{% endtab %}

{% tab title="PHP" %}

```php
use ComplyCube\ComplyCubeClient;

$ccapi = new ComplyCubeClient('<YOUR_API_KEY>');

$result = $ccapi->checks()->create('CLIENT_ID', [
    'type' => 'extensive_screening_check'
]);
```

{% endtab %}

{% tab title=".NET" %}

```csharp
using ComplyCube.Net;
using ComplyCube.Net.Resources.Checks;

var checkApi = new CheckApi(new ComplyCubeClient("<YOUR_API_KEY>"));

var checkRequest = new CheckRequest {
  clientId = "CLIENT_ID",
  type = "extensive_screening_check"
};

var check = await checkApi.CreateAsync(checkRequest);
```

{% endtab %}
{% endtabs %}

### Example response

{% tabs %}
{% tab title="Success (200)" %}

```json
{
    "id": "5eb2b61e02df0a0008f1cf2a",
    "clientId": "5eb1276d96be4a0008713af5",
    "entityName": "John Doe",
    "type": "extensive_screening_check",
    "status": "pending",
    "enableMonitoring": false,
    "createdAt": "2020-01-01T14:06:44.756Z",
    "updatedAt": "2020-01-01T14:06:44.756Z"
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.complycube.com/documentation/api-reference/core-resources/checks/create-a-check.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
