> This page is for API, version 2026-01-01 (Stable) (default).
> For other versions, use one of these documentation indexes:
> - 2026-01-01 (Stable) (default): https://developer.deel.com/api/stable/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developer.deel.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer.deel.com/_mcp/server.

# Get worker's KYC details

GET https://api.letsdeel.com/rest/screenings/kyc/details

Retrieves KYC verification details for a worker identified by `worker_profile_id` or `profile_id`; these two parameters are mutually exclusive. `contract_id` is required when multiple profiles are associated with the worker.

 **Token scopes**: `screenings:read`

Reference: https://developer.deel.com/api/endpoints/screenings/get-kyc-details

## Authentication

- `Authorization` header (bearer token, required) — ## Authentication The Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail. ```curl curl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \ -H 'Authorization: Bearer YOUR-TOKEN-HERE' ``` [Learn more about authentication](/api/authentication)
- `Authorization` header (bearer token, required) — Standard OAuth2 security scheme based on https://swagger.io/docs/specification/authentication/

## Servers

- `https://api.letsdeel.com/rest` (Production, default)
- `https://api-staging.letsdeel.com/rest` (Demo)

## Request

### Query parameters

- `worker_profile_id` (string, optional) — Worker's HRIS profile public ID client requests to fetch KYC details for. This parameter is mutually exclusive with profile_id
- `contract_id` (string, optional) — Worker's contract ID. This parameter is required in case there are multiple profiles associated to the target worker. For example, when worker used to work for the former company he had another profile ID. So we need contract ID to properly resolve profile's KYC details. In case this parameter is not provided and multiple associated profiles are found, exception with 409 status code will be thrown
- `profile_id` (string, optional) — Worker's profile public ID client requests to fetch KYC details for, This parameter is mutually exclusive with worker_profile_id

## Response

### 200

KYC details retrieved successfully

- `data` (ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaData, required)

## Errors

### 400 Bad Request Error

Bad request - Invalid worker profile ID

- `errors` (ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaErrors, optional)

### 401 Unauthorized Error

Operation failed.

- `request` (ApiErrorRequest, optional)
- `errors` (list of ApiError, optional)

### 403 Forbidden Error

Forbidden - User not authorized to access this resource

- `errors` (ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaErrors, optional)

### 404 Not Found Error

Not Found - We could not extract any profile by the provided hris profile

- `errors` (list of ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaErrorsItems, optional)

### 409 Conflict Error

Conflict - We found multiple profiles for the provided worker ID. Please provide the contract id to resolve KYC details

- `errors` (ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaErrors, optional)

### 412 Precondition Failed Error

Precondition Failed - Could not extract contractor ID from the contract

- `errors` (ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaErrors, optional)

### 500 Internal Server Error

Operation failed.

- `request` (ApiErrorRequest, optional)
- `errors` (list of ApiError, optional)

## Types

### ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaData

- `created_at` (string, required, nullable) — The date and time when the KYC screening was created
- `kyc_status` (enum, required) — The current KYC verification status of the profile
  - Allowed values: `APPROVED`, `REJECTED`, `PENDING_REVIEW`, `EXPIRED`, `EXPIRING_SOON`, `NOT_SUBMITTED`, `NOT_REQUESTED`
- `updated_at` (string, required, nullable) — The date and time when the KYC screening was last updated
- `approval_date` (string, required, nullable) — The date and time when the KYC screening was approved (null if not approved)
- `rejection_date` (string, required, nullable) — The date and time when the KYC screening was rejected (null if not rejected or pending review for Veriff)
- `expiration_date` (string, required, nullable) — The date and time when the KYC screening expires (null if no expiry)
- `submission_date` (string, required, nullable) — The date and time when the KYC screening was submitted
- `identity_document_type` (enum, required, nullable) — The type of identity document used for verification
  - Allowed values: `DRIVING_LICENSE`, `PASSPORT`, `GOVERNMENT_ID`, `SELFIE_WITH_ID`, `PROOF_OF_RESIDENCY`, `OTHER`
- `document_extracted_middle_name` (string, required, nullable) — The middle name extracted from the submitted document
- `identity_document_name` (string, optional, nullable) — The name of the identity document used for verification (in case of other document type)
- `identity_document_number` (string, optional, nullable) — Number of the submitted document
- `document_extracted_last_name` (string, optional, nullable) — The last name extracted from the submitted document
- `document_extracted_first_name` (string, optional, nullable) — The first name extracted from the submitted document

### ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaErrors

### ApiErrorRequest

- `method` (string, optional) — The HTTP method of the failed request
- `url` (string, optional) — The relative URL of the failed request
- `status` (double, optional) — The status code of the response
- `api_req_id` (string, optional) — The request ID of the failed request
- `docs` (string, optional) — A link to the official documentation for the requested endpoint resource
- `source` (string, optional) — The source handler which produced the returned error
- `code` (double, optional) — The code of the source handler which produced the returned error

### ApiError

- `message` (string, optional) — A description of the returned error
- `path` (string, optional) — The JSON path where input validation failed

### ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaErrorsItems

- `code` (string, optional) — Machine-readable error code
- `message` (string, optional) — Human-readable explanation of the error

## Examples

### Expired KYC

**Response**

```json
{
  "data": {
    "created_at": "2024-01-15T07:30:00Z",
    "kyc_status": "EXPIRED",
    "updated_at": "2025-01-15T17:30:00Z",
    "approval_date": "2024-01-16T14:20:00Z",
    "rejection_date": null,
    "expiration_date": "2024-01-10T10:30:00Z",
    "submission_date": "2024-01-15T10:30:00Z",
    "identity_document_type": "GOVERNMENT_ID",
    "document_extracted_middle_name": "M",
    "identity_document_number": "DL789012",
    "document_extracted_last_name": "Doe",
    "document_extracted_first_name": "John"
  }
}
```

**SDK Code**

```python Expired KYC
import requests

url = "https://api.letsdeel.com/rest/screenings/kyc/details"

querystring = {"contract_id":"3rd4qvw","profile_id":"6ad9e984-e68f-473d-9d1d-809ae3d18085","worker_profile_id":"6ad9e983-e68f-473d-9d1d-809ae3d18085"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript Expired KYC
const url = 'https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Expired KYC
package main

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

func main() {

	url := "https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Expired KYC
require 'uri'
require 'net/http'

url = URI("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

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

```java Expired KYC
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Expired KYC
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Expired KYC
using RestSharp;

var client = new RestClient("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Expired KYC
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Approved KYC

**Response**

```json
{
  "data": {
    "created_at": "2024-01-15T07:30:00Z",
    "kyc_status": "APPROVED",
    "updated_at": "2025-01-15T17:30:00Z",
    "approval_date": "2024-01-16T14:20:00Z",
    "rejection_date": null,
    "expiration_date": "2025-01-15T10:30:00Z",
    "submission_date": "2024-01-15T10:30:00Z",
    "identity_document_type": "DRIVING_LICENSE",
    "document_extracted_middle_name": null,
    "identity_document_number": "DL789012",
    "document_extracted_last_name": "Doe",
    "document_extracted_first_name": "John"
  }
}
```

**SDK Code**

```python Approved KYC
import requests

url = "https://api.letsdeel.com/rest/screenings/kyc/details"

querystring = {"contract_id":"3rd4qvw","profile_id":"6ad9e984-e68f-473d-9d1d-809ae3d18085","worker_profile_id":"6ad9e983-e68f-473d-9d1d-809ae3d18085"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript Approved KYC
const url = 'https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Approved KYC
package main

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

func main() {

	url := "https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Approved KYC
require 'uri'
require 'net/http'

url = URI("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

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

```java Approved KYC
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Approved KYC
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Approved KYC
using RestSharp;

var client = new RestClient("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Approved KYC
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Rejected KYC

**Response**

```json
{
  "data": {
    "created_at": "2024-01-15T07:30:00Z",
    "kyc_status": "REJECTED",
    "updated_at": "2025-01-15T17:30:00Z",
    "approval_date": null,
    "rejection_date": "2024-01-16T14:20:00Z",
    "expiration_date": "2025-01-15T10:30:00Z",
    "submission_date": "2024-01-15T10:30:00Z",
    "identity_document_type": "PASSPORT",
    "document_extracted_middle_name": "M",
    "identity_document_number": "DL789012",
    "document_extracted_last_name": "Doe",
    "document_extracted_first_name": "John"
  }
}
```

**SDK Code**

```python Rejected KYC
import requests

url = "https://api.letsdeel.com/rest/screenings/kyc/details"

querystring = {"contract_id":"3rd4qvw","profile_id":"6ad9e984-e68f-473d-9d1d-809ae3d18085","worker_profile_id":"6ad9e983-e68f-473d-9d1d-809ae3d18085"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript Rejected KYC
const url = 'https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Rejected KYC
package main

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

func main() {

	url := "https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Rejected KYC
require 'uri'
require 'net/http'

url = URI("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

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

```java Rejected KYC
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Rejected KYC
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Rejected KYC
using RestSharp;

var client = new RestClient("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Rejected KYC
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Expiring Soon KYC

**Response**

```json
{
  "data": {
    "created_at": "2024-01-15T07:30:00Z",
    "kyc_status": "EXPIRING_SOON",
    "updated_at": "2025-01-15T17:30:00Z",
    "approval_date": "2024-01-16T14:20:00Z",
    "rejection_date": null,
    "expiration_date": "2024-01-20T10:30:00Z",
    "submission_date": "2024-01-15T10:30:00Z",
    "identity_document_type": "SELFIE_WITH_ID",
    "document_extracted_middle_name": null,
    "identity_document_number": "DL789012",
    "document_extracted_last_name": "Doe",
    "document_extracted_first_name": "John"
  }
}
```

**SDK Code**

```python Expiring Soon KYC
import requests

url = "https://api.letsdeel.com/rest/screenings/kyc/details"

querystring = {"contract_id":"3rd4qvw","profile_id":"6ad9e984-e68f-473d-9d1d-809ae3d18085","worker_profile_id":"6ad9e983-e68f-473d-9d1d-809ae3d18085"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript Expiring Soon KYC
const url = 'https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Expiring Soon KYC
package main

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

func main() {

	url := "https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Expiring Soon KYC
require 'uri'
require 'net/http'

url = URI("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

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

```java Expiring Soon KYC
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Expiring Soon KYC
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Expiring Soon KYC
using RestSharp;

var client = new RestClient("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Expiring Soon KYC
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Not Requested KYC

**Response**

```json
{
  "data": {
    "created_at": null,
    "kyc_status": "NOT_REQUESTED",
    "updated_at": null,
    "approval_date": null,
    "rejection_date": null,
    "expiration_date": null,
    "submission_date": null,
    "identity_document_type": null,
    "document_extracted_middle_name": null,
    "identity_document_number": null,
    "document_extracted_last_name": null,
    "document_extracted_first_name": null
  }
}
```

**SDK Code**

```python Not Requested KYC
import requests

url = "https://api.letsdeel.com/rest/screenings/kyc/details"

querystring = {"contract_id":"3rd4qvw","profile_id":"6ad9e984-e68f-473d-9d1d-809ae3d18085","worker_profile_id":"6ad9e983-e68f-473d-9d1d-809ae3d18085"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript Not Requested KYC
const url = 'https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Not Requested KYC
package main

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

func main() {

	url := "https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Not Requested KYC
require 'uri'
require 'net/http'

url = URI("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

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

```java Not Requested KYC
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Not Requested KYC
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Not Requested KYC
using RestSharp;

var client = new RestClient("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Not Requested KYC
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Not Submitted KYC

**Response**

```json
{
  "data": {
    "created_at": null,
    "kyc_status": "NOT_SUBMITTED",
    "updated_at": null,
    "approval_date": null,
    "rejection_date": null,
    "expiration_date": null,
    "submission_date": null,
    "identity_document_type": null,
    "document_extracted_middle_name": null,
    "identity_document_number": null,
    "document_extracted_last_name": null,
    "document_extracted_first_name": null
  }
}
```

**SDK Code**

```python Not Submitted KYC
import requests

url = "https://api.letsdeel.com/rest/screenings/kyc/details"

querystring = {"contract_id":"3rd4qvw","profile_id":"6ad9e984-e68f-473d-9d1d-809ae3d18085","worker_profile_id":"6ad9e983-e68f-473d-9d1d-809ae3d18085"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript Not Submitted KYC
const url = 'https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Not Submitted KYC
package main

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

func main() {

	url := "https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Not Submitted KYC
require 'uri'
require 'net/http'

url = URI("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

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

```java Not Submitted KYC
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Not Submitted KYC
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Not Submitted KYC
using RestSharp;

var client = new RestClient("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Not Submitted KYC
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Pending Review KYC

**Response**

```json
{
  "data": {
    "created_at": "2024-01-15T07:30:00Z",
    "kyc_status": "PENDING_REVIEW",
    "updated_at": "2025-01-15T17:30:00Z",
    "approval_date": null,
    "rejection_date": null,
    "expiration_date": null,
    "submission_date": "2024-01-15T10:30:00Z",
    "identity_document_type": "OTHER",
    "document_extracted_middle_name": null,
    "identity_document_name": "My custom document",
    "identity_document_number": "DL789012",
    "document_extracted_last_name": "Doe",
    "document_extracted_first_name": "John"
  }
}
```

**SDK Code**

```python Pending Review KYC
import requests

url = "https://api.letsdeel.com/rest/screenings/kyc/details"

querystring = {"contract_id":"3rd4qvw","profile_id":"6ad9e984-e68f-473d-9d1d-809ae3d18085","worker_profile_id":"6ad9e983-e68f-473d-9d1d-809ae3d18085"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript Pending Review KYC
const url = 'https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Pending Review KYC
package main

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

func main() {

	url := "https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Pending Review KYC
require 'uri'
require 'net/http'

url = URI("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

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

```java Pending Review KYC
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Pending Review KYC
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Pending Review KYC
using RestSharp;

var client = new RestClient("https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Pending Review KYC
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.letsdeel.com/rest/screenings/kyc/details?contract_id=3rd4qvw&profile_id=6ad9e984-e68f-473d-9d1d-809ae3d18085&worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```