> ## Documentation Index
> Fetch the complete documentation index at: https://docs.smartcomply.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Run KYC Check

> Initiate a KYC check for an entity against sanctions lists, PEP databases, and adverse media sources.

The Run KYC Check endpoint screens an entity against multiple risk databases including sanctions lists, PEP (Politically Exposed Persons) records, and adverse media sources. Results are returned immediately for completed checks, or asynchronously if adverse media screening is still processing.

## Endpoint

```
POST /api/v1/monitoring/kyc_search/
```

## Request

### Headers

| Header           | Value               | Required |
| ---------------- | ------------------- | -------- |
| `x-access-token` | Your API secret key | Yes      |
| `Content-Type`   | `application/json`  | Yes      |

### Body Parameters

| Parameter               | Type    | Required | Description                                                                                                     |
| ----------------------- | ------- | -------- | --------------------------------------------------------------------------------------------------------------- |
| `entity_name`           | string  | Yes      | Name of the entity to screen                                                                                    |
| `entity_type`           | string  | No       | Entity type: `"person"`, `"company"`, `"business"`, or `"organization"` (defaults to `person` if none provided) |
| `sources`               | string  | No       | Comma-separated data sources to query (e.g., `"Sanctions, PEPs, Adverse Media"`)                                |
| `continuous_monitoring` | boolean | No       | Enable ongoing monitoring for this entity. Defaults to `false`                                                  |

### Example

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://adhere-api.smartcomply.com/api/v1/monitoring/kyc_search/" \
    -H "x-access-token: YOUR_SECRET_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "entity_name": "John Doe",
      "entity_type": "person",
      "sources": "Sanctions, PEPs, Adverse Media",
      "continuous_monitoring": false,
    }'
  ```
</CodeGroup>

## Response

### 200 OK — Completed

When results are immediately available, the response includes the full KYC result with risk level, PEP findings, sanctions matches, adverse media, and social media profiles.

| Field                               | Type   | Description                                                |
| ----------------------------------- | ------ | ---------------------------------------------------------- |
| `data.id`                           | number | Unique identifier for this KYC request                     |
| `data.entity_name`                  | string | Name of the entity screened                                |
| `data.status`                       | string | Check status: `"completed"` or `"running"`                 |
| `data.result.risk_level`            | string | Assessed risk: `"low"`, `"medium"`, or `"high"`            |
| `data.result.total_hits`            | number | Total flagged matches across all sources                   |
| `data.result.total_blacklist_hits`  | number | Number of blacklist matches                                |
| `data.result.pep_results`           | array  | PEP matches with entity name, country, and classification  |
| `data.result.sanction_results`      | array  | Sanction matches with body, types, and other information   |
| `data.result.adverse_media_results` | array  | Adverse media articles with URL, date, title, and category |
| `data.result.social_media`          | array  | Social media profiles associated with the entity           |

```json theme={null}
{
  "status": "success",
  "data": {
    "id": 6036,
    "entity_name": "Qudratullah Jamal",
    "status": "completed",
    "result": {
      "risk_level": "high",
      "total_hits": 76,
      "total_blacklist_hits": 6,
      "pep_results": [
        {
          "entity_name": "qudratullah jamal",
          "gender": "Not Available",
          "country": "Unknown",
          "pep_types": ["pep-class-1"],
          "other_names": ["qudratullah jamal"],
          "other_information": {
            "recorded_date": "2022-04-27T18:12:14",
            "political_post": ["sanction"]
          }
        }
      ],
      "sanction_results": [
        {
          "entity_name": "QUDRATULLAH JAMAL",
          "recorded_date": "29 Nov. 2011",
          "country": "Afghanistan",
          "sanction_body": null,
          "sanction_types": ["sanction", "warnings"],
          "other_names": [],
          "other_information": {
            "dob": "Approximately 1963",
            "pob": "Gardez, Paktia Province, Afghanistan",
            "title": "Maulavi",
            "designations": "Minister of Information under the Taliban regime"
          }
        }
      ],
      "adverse_media_results": [
        {
          "url": "https://www.opensanctions.org/entities/NK-a8GaVuetYPU5ZaoT48kMch/",
          "date": "2026-03-06T12:58:26Z",
          "title": "Maulavi Qudratullah Jamal - OpenSanctions",
          "types": ["adverse-media-v2-terrorism"],
          "provider": "google_cse",
          "relevance_score": 4
        }
      ],
      "social_media": [
        {
          "bio": "TOLOnews - X",
          "url": "https://x.com/TOLOnews/status/1510158383004930052",
          "platform": "X",
          "provider": "google_cse",
          "description": "Addressing a gathering in Kabul, the deputy minister of commerce and industry, Qudratullah Jamal..."
        }
      ],
      "search_term": "Qudratullah Jamal",
      "date_updated": "2026-03-06 12:58:30"
    }
  },
  "message": "KYC search completed"
}
```

### 400 Bad Request

```json theme={null}
{
  "status": "failed",
  "data": [],
  "message": "Sorry, your check cannot be processed at the moment. Please try again in a few minutes"
}
```

### 401 Unauthorized

```json theme={null}
{
  "status": "failed",
  "message": "Authentication credentials were not provided."
}
```


## OpenAPI

````yaml POST /api/v1/monitoring/kyc_search/
openapi: 3.0.3
info:
  title: Adhere API
  description: >-
    Identity verification, credit checks, transaction monitoring, and loan fraud
    detection across Africa.
  version: 3.0.0
servers:
  - url: https://adhere-api.smartcomply.com
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Nigeria KYC
  - name: Kenya KYC
  - name: Ghana KYC
  - name: Rwanda KYC
  - name: Uganda KYC
  - name: Biometrics
  - name: Individual Credit
  - name: Business Credit
  - name: Transaction Monitoring
  - name: Transaction Screening
  - name: Transaction KYC
  - name: Loan Fraud
  - name: User Journey
paths:
  /api/v1/monitoring/kyc_search/:
    post:
      tags:
        - Transaction KYC
      summary: Run KYC Check
      operationId: runKycCheck
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - entity_name
              properties:
                entity_name:
                  type: string
                  example: John Doe
                entity_type:
                  type: string
                  enum:
                    - person
                    - company
                    - business
                    - organization
                sources:
                  type: string
                  description: Comma-separated sources, e.g. "Sanctions, PEPs"
                continuous_monitoring:
                  type: boolean
                  default: false
      responses:
        '200':
          description: KYC check initiated or completed
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                example: failed
              data:
                type: array
                items: {}
              message:
                type: string
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                example: failed
              message:
                type: string
                example: Authentication credentials were not provided.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-access-token
      description: Your Adhere API secret key

````