# Get KYC Reliance Status
GET https://api-gateway-stg.transak.com/api/v2/kyc/share-token-status
The **Get KYC Reliance Status** is an **authenticated API call** that validates the KYC Shared token from SumSub by providing the appropriate status. This API is mandatory in the KYC Reliance process to sync the KYC details from the Partner system to Transak. Below is the status that explains the various KYC Reliance statuses in detail.
### KYC Reliance Status Types
| **State** | **Description** |
| --- | --- |
| **IMPORTED** | Triggered when **KYC Reliance data** is successfully fetched, but not successfully processed from Transak. Use **Get KYC Steps** API to process or find the missing details. |
| **DONE** | Final state indicating the **KYC Reliance process is completed** successfully (WHEN forms\[\] is empty, meaning there are no pending or missing KYC details) |
| **FAILED** | Indicates the **KYC Reliance process has failed** due to validation or processing errors. The partner has to redo the KYC token generation process by providing the required details.
Note: Use **Get KYC Steps** to find the missing details. |
| **INITIALIZED** | Indicates that the Transak system received the KYC share token. This is the initial status field that can be triggered only when the KYC share token is passed in the **Get KYC Reliance Quote** API.
Note: This status will barely be noticed as it is an interim state before **IMPORTED**. |
| **VALIDATED** | This intermediate status between **IMPORTED** and **DONE** means that the Transak system validates the fields. |
>
Note:
In an ideal scenario, only **IMPORTED**, **DONE** and **FAILED** are primarily used.
Reference: https://docs.transak.com/api/whitelabel/kyc-reliance/get-kyc-reliance-status
## OpenAPI Specification
```yaml
openapi: 3.1.0
info:
title: whitelabel-api
version: 1.0.0
paths:
/api/v2/kyc/share-token-status:
get:
operationId: get-kyc-reliance-status
summary: Get KYC Reliance Status
description: >-
The **Get KYC Reliance Status** is an **authenticated API call** that
validates the KYC Shared token from SumSub by providing the appropriate
status. This API is mandatory in the KYC Reliance process to sync the
KYC details from the Partner system to Transak. Below is the status that
explains the various KYC Reliance statuses in detail.
### KYC Reliance Status Types
| **State** | **Description** |
| --- | --- |
| **IMPORTED** | Triggered when **KYC Reliance data** is successfully
fetched, but not successfully processed from Transak. Use **Get KYC
Steps** API to process or find the missing details. |
| **DONE** | Final state indicating the **KYC Reliance process is
completed** successfully (WHEN forms\[\] is empty, meaning there are no
pending or missing KYC details) |
| **FAILED** | Indicates the **KYC Reliance process has failed** due to
validation or processing errors. The partner has to redo the KYC token
generation process by providing the required details.
Note:
Use **Get KYC Steps** to find the missing details. |
| **INITIALIZED** | Indicates that the Transak system received the KYC
share token. This is the initial status field that can be triggered only
when the KYC share token is passed in the **Get KYC Reliance Quote**
API.
Note: This status will barely be noticed as it is an
interim state before **IMPORTED**. |
| **VALIDATED** | This intermediate status between **IMPORTED** and
**DONE** means that the Transak system validates the fields. |
>
Note:
In an ideal scenario, only **IMPORTED**, **DONE** and **FAILED** are
primarily used.
tags:
- subpackage_kycReliance
parameters:
- name: quoteId
in: query
description: Quote ID received from the Get KYC Reliance Quote API.
required: true
schema:
type: string
default: YOUR_QUOTED_ID
- name: kycShareTokenProvider
in: query
description: KYC provider used to generate the share token (for example, SUMSUB).
required: true
schema:
type: string
default: SUMSUB
- name: kycShareToken
in: query
description: KYC share token generated by the selected provider.
required: true
schema:
type: string
default: sumsub-share-token-12345
- name: authorization
in: header
description: >-
Authorization token is the accessToken received from the API -`
api/v2/auth/verify`
required: true
schema:
type: string
default: YOUR_USER_AUTH_TOKEN
responses:
'200':
description: 200 - Successfully Imported
content:
application/json:
schema:
$ref: >-
#/components/schemas/KYC
Reliance_get-kyc-reliance-status_Response_200
'400':
description: 400 - No KYC Request Found
content:
application/json:
schema:
$ref: >-
#/components/schemas/Get-kyc-reliance-statusRequestBadRequestError
'401':
description: 401 - Unauthorized
content:
application/json:
schema:
$ref: >-
#/components/schemas/Get-kyc-reliance-statusRequestUnauthorizedError
'500':
description: 500 - Internal Server Error
content:
application/json:
schema:
$ref: >-
#/components/schemas/Get-kyc-reliance-statusRequestInternalServerError
servers:
- url: https://api-gateway-stg.transak.com
components:
schemas:
ApiV2KycShareTokenStatusGetResponsesContentApplicationJsonSchemaData:
type: object
properties:
shareTokenStatus:
type: string
required:
- shareTokenStatus
title: ApiV2KycShareTokenStatusGetResponsesContentApplicationJsonSchemaData
KYC Reliance_get-kyc-reliance-status_Response_200:
type: object
properties:
data:
$ref: >-
#/components/schemas/ApiV2KycShareTokenStatusGetResponsesContentApplicationJsonSchemaData
required:
- data
title: KYC Reliance_get-kyc-reliance-status_Response_200
ApiV2KycShareTokenStatusGetResponsesContentApplicationJsonSchemaError:
type: object
properties:
statusCode:
type: integer
message:
type: string
required:
- statusCode
- message
title: ApiV2KycShareTokenStatusGetResponsesContentApplicationJsonSchemaError
Get-kyc-reliance-statusRequestBadRequestError:
type: object
properties:
error:
$ref: >-
#/components/schemas/ApiV2KycShareTokenStatusGetResponsesContentApplicationJsonSchemaError
required:
- error
title: Get-kyc-reliance-statusRequestBadRequestError
Get-kyc-reliance-statusRequestUnauthorizedError:
type: object
properties:
error:
$ref: >-
#/components/schemas/ApiV2KycShareTokenStatusGetResponsesContentApplicationJsonSchemaError
required:
- error
title: Get-kyc-reliance-statusRequestUnauthorizedError
Get-kyc-reliance-statusRequestInternalServerError:
type: object
properties:
error:
$ref: >-
#/components/schemas/ApiV2KycShareTokenStatusGetResponsesContentApplicationJsonSchemaError
required:
- error
title: Get-kyc-reliance-statusRequestInternalServerError
```
## SDK Code Examples
```python Success
import requests
url = "https://api-gateway-stg.transak.com/api/v2/kyc/share-token-status"
querystring = {"quoteId":"YOUR_QUOTED_ID","kycShareTokenProvider":"SUMSUB","kycShareToken":"sumsub-share-token-12345"}
headers = {"authorization": "YOUR_USER_AUTH_TOKEN"}
response = requests.get(url, headers=headers, params=querystring)
print(response.json())
```
```javascript Success
const url = 'https://api-gateway-stg.transak.com/api/v2/kyc/share-token-status?quoteId=YOUR_QUOTED_ID&kycShareTokenProvider=SUMSUB&kycShareToken=sumsub-share-token-12345';
const options = {method: 'GET', headers: {authorization: 'YOUR_USER_AUTH_TOKEN'}};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
```
```go Success
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-gateway-stg.transak.com/api/v2/kyc/share-token-status?quoteId=YOUR_QUOTED_ID&kycShareTokenProvider=SUMSUB&kycShareToken=sumsub-share-token-12345"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "YOUR_USER_AUTH_TOKEN")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
```
```ruby Success
require 'uri'
require 'net/http'
url = URI("https://api-gateway-stg.transak.com/api/v2/kyc/share-token-status?quoteId=YOUR_QUOTED_ID&kycShareTokenProvider=SUMSUB&kycShareToken=sumsub-share-token-12345")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = 'YOUR_USER_AUTH_TOKEN'
response = http.request(request)
puts response.read_body
```
```java Success
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;
HttpResponse response = Unirest.get("https://api-gateway-stg.transak.com/api/v2/kyc/share-token-status?quoteId=YOUR_QUOTED_ID&kycShareTokenProvider=SUMSUB&kycShareToken=sumsub-share-token-12345")
.header("authorization", "YOUR_USER_AUTH_TOKEN")
.asString();
```
```php Success
request('GET', 'https://api-gateway-stg.transak.com/api/v2/kyc/share-token-status?quoteId=YOUR_QUOTED_ID&kycShareTokenProvider=SUMSUB&kycShareToken=sumsub-share-token-12345', [
'headers' => [
'authorization' => 'YOUR_USER_AUTH_TOKEN',
],
]);
echo $response->getBody();
```
```csharp Success
using RestSharp;
var client = new RestClient("https://api-gateway-stg.transak.com/api/v2/kyc/share-token-status?quoteId=YOUR_QUOTED_ID&kycShareTokenProvider=SUMSUB&kycShareToken=sumsub-share-token-12345");
var request = new RestRequest(Method.GET);
request.AddHeader("authorization", "YOUR_USER_AUTH_TOKEN");
IRestResponse response = client.Execute(request);
```
```swift Success
import Foundation
let headers = ["authorization": "YOUR_USER_AUTH_TOKEN"]
let request = NSMutableURLRequest(url: NSURL(string: "https://api-gateway-stg.transak.com/api/v2/kyc/share-token-status?quoteId=YOUR_QUOTED_ID&kycShareTokenProvider=SUMSUB&kycShareToken=sumsub-share-token-12345")! 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()
```