# Get worker's KYC details

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

This endpoint allows organizations managing workers on Deel to retrieve detailed KYC verification data using the worker’s profile ID. It provides comprehensive information including verification status, document type, submission, approval, rejection, and expiry dates, supporting compliance monitoring and onboarding workflows
 **Token scopes**: `screenings:read`

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

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: Deel HRIS SCIM API
  version: 1.0.0
paths:
  /screenings/kyc/details:
    get:
      operationId: get-kyc-details
      summary: Get worker's KYC details
      description: >-
        This endpoint allows organizations managing workers on Deel to retrieve
        detailed KYC verification data using the worker’s profile ID. It
        provides comprehensive information including verification status,
        document type, submission, approval, rejection, and expiry dates,
        supporting compliance monitoring and onboarding workflows
         **Token scopes**: `screenings:read`
      tags:
        - subpackage_screenings
      parameters:
        - name: worker_profile_id
          in: query
          description: >-
            Worker's HRIS profile public ID client requests to fetch KYC details
            for. This parameter is mutually exclusive with profile_id
          required: false
          schema:
            type: string
            format: uuid
        - name: contract_id
          in: query
          description: >-
            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
          required: false
          schema:
            type: string
        - name: profile_id
          in: query
          description: >-
            Worker's profile public ID client requests to fetch KYC details for,
            This parameter is mutually exclusive with worker_profile_id 
          required: false
          schema:
            type: string
            format: uuid
        - name: Authorization
          in: header
          description: >
            ## 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)
          required: true
          schema:
            type: string
      responses:
        '200':
          description: KYC details retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/screenings_getKYCDetails_Response_200'
        '400':
          description: Bad request - Invalid worker profile ID
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetWorkersKycDetailsRequestBadRequestError
        '401':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '403':
          description: Forbidden - User not authorized to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetWorkersKycDetailsRequestForbiddenError'
        '404':
          description: >-
            Not Found - We could not extract any profile by the provided hris
            profile
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetWorkersKycDetailsRequestNotFoundError'
        '409':
          description: >-
            Conflict - We found multiple profiles for the provided worker ID.
            Please provide the contract id to resolve KYC details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetWorkersKycDetailsRequestConflictError'
        '500':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
servers:
  - url: https://api.letsdeel.com/rest/v2
  - url: https://api-staging.letsdeel.com/rest/v2
components:
  schemas:
    ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaDataKycStatus:
      type: string
      enum:
        - APPROVED
        - REJECTED
        - PENDING_REVIEW
        - EXPIRED
        - EXPIRING_SOON
        - NOT_SUBMITTED
        - NOT_REQUESTED
      description: The current KYC verification status of the profile
      title: >-
        ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaDataKycStatus
    ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaDataIdentityDocumentType:
      type: string
      enum:
        - DRIVING_LICENSE
        - PASSPORT
        - GOVERNMENT_ID
        - SELFIE_WITH_ID
        - PROOF_OF_RESIDENCY
        - OTHER
      description: The type of identity document used for verification
      title: >-
        ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaDataIdentityDocumentType
    ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        created_at:
          type:
            - string
            - 'null'
          format: date-time
          description: The date and time when the KYC screening was created
        kyc_status:
          $ref: >-
            #/components/schemas/ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaDataKycStatus
          description: The current KYC verification status of the profile
        updated_at:
          type:
            - string
            - 'null'
          format: date-time
          description: The date and time when the KYC screening was last updated
        approval_date:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            The date and time when the KYC screening was approved (null if not
            approved)
        rejection_date:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            The date and time when the KYC screening was rejected (null if not
            rejected or pending review for Veriff)
        expiration_date:
          type:
            - string
            - 'null'
          format: date-time
          description: The date and time when the KYC screening expires (null if no expiry)
        submission_date:
          type:
            - string
            - 'null'
          format: date-time
          description: The date and time when the KYC screening was submitted
        identity_document_name:
          type:
            - string
            - 'null'
          description: >-
            The name of the identity document used for verification (in case of
            other document type)
        identity_document_type:
          oneOf:
            - $ref: >-
                #/components/schemas/ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaDataIdentityDocumentType
            - type: 'null'
          description: The type of identity document used for verification
        identity_document_number:
          type:
            - string
            - 'null'
          description: Number of the submitted document
        document_extracted_last_name:
          type:
            - string
            - 'null'
          description: The last name extracted from the submitted document
        document_extracted_first_name:
          type:
            - string
            - 'null'
          description: The first name extracted from the submitted document
        document_extracted_middle_name:
          type:
            - string
            - 'null'
          description: The middle name extracted from the submitted document
      required:
        - created_at
        - kyc_status
        - updated_at
        - approval_date
        - rejection_date
        - expiration_date
        - submission_date
        - identity_document_type
        - document_extracted_middle_name
      title: ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaData
    screenings_getKYCDetails_Response_200:
      type: object
      properties:
        data:
          $ref: >-
            #/components/schemas/ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaData
      required:
        - data
      title: screenings_getKYCDetails_Response_200
    ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code
        message:
          type: string
          description: Human-readable explanation of the error
      title: ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaErrorsItems
    GetWorkersKycDetailsRequestBadRequestError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaErrorsItems
      title: GetWorkersKycDetailsRequestBadRequestError
    ApiErrorRequest:
      type: object
      properties:
        method:
          type: string
          description: The HTTP method of the failed request
        url:
          type: string
          description: The relative URL of the failed request
        status:
          type: number
          format: double
          description: The status code of the response
        api_req_id:
          type: string
          description: The request ID of the failed request
        docs:
          type: string
          description: >-
            A link to the official documentation for the requested endpoint
            resource
        source:
          type: string
          description: The source handler which produced the returned error
        code:
          type: number
          format: double
          description: The code of the source handler which produced the returned error
      title: ApiErrorRequest
    ApiError:
      type: object
      properties:
        message:
          type: string
          description: A description of the returned error
        path:
          type: string
          description: The JSON path where input validation failed
      title: ApiError
    ApiErrorContainer:
      type: object
      properties:
        request:
          $ref: '#/components/schemas/ApiErrorRequest'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ApiError'
      title: ApiErrorContainer
    GetWorkersKycDetailsRequestForbiddenError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaErrorsItems
      title: GetWorkersKycDetailsRequestForbiddenError
    GetWorkersKycDetailsRequestNotFoundError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaErrorsItems
      title: GetWorkersKycDetailsRequestNotFoundError
    GetWorkersKycDetailsRequestConflictError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/ScreeningsKycDetailsGetResponsesContentApplicationJsonSchemaErrorsItems
      title: GetWorkersKycDetailsRequestConflictError
  securitySchemes:
    deelToken:
      type: http
      scheme: bearer
      description: >
        ## 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)
    oauth2:
      type: http
      scheme: bearer
      description: >-
        Standard OAuth2 security scheme based on
        https://swagger.io/docs/specification/authentication/

```

## SDK Code Examples

```python Expired KYC
import requests

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

querystring = {"worker_profile_id":"6ad9e983-e68f-473d-9d1d-809ae3d18085","contract_id":"3rd4qvw","profile_id":"6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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()
```

```python Approved KYC
import requests

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

querystring = {"worker_profile_id":"6ad9e983-e68f-473d-9d1d-809ae3d18085","contract_id":"3rd4qvw","profile_id":"6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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()
```

```python Rejected KYC
import requests

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

querystring = {"worker_profile_id":"6ad9e983-e68f-473d-9d1d-809ae3d18085","contract_id":"3rd4qvw","profile_id":"6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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()
```

```python Expiring Soon KYC
import requests

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

querystring = {"worker_profile_id":"6ad9e983-e68f-473d-9d1d-809ae3d18085","contract_id":"3rd4qvw","profile_id":"6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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()
```

```python Not Requested KYC
import requests

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

querystring = {"worker_profile_id":"6ad9e983-e68f-473d-9d1d-809ae3d18085","contract_id":"3rd4qvw","profile_id":"6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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()
```

```python Not Submitted KYC
import requests

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

querystring = {"worker_profile_id":"6ad9e983-e68f-473d-9d1d-809ae3d18085","contract_id":"3rd4qvw","profile_id":"6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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()
```

```python Pending Review KYC
import requests

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

querystring = {"worker_profile_id":"6ad9e983-e68f-473d-9d1d-809ae3d18085","contract_id":"3rd4qvw","profile_id":"6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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/v2/screenings/kyc/details?worker_profile_id=6ad9e983-e68f-473d-9d1d-809ae3d18085&contract_id=3rd4qvw&profile_id=6ad9e984-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()
```