> For a complete page index, fetch https://docs.transak.com/llms.txt # Get Additional Requirements GET https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements **Get Additional Requirements** is an **authenticated API call** that dynamically returns the **KYC forms a user needs to complete** based on the **quote ID**. Since Transak supports **multi-level KYC** across different countries, this API helps determine the additional KYC requirements for a user before proceeding with transactions. The **quote ID** must be passed when calling this API, as it determines the required **KYC level (Simple KYC, Standard KYC, etc.)**. The response includes a list of **required KYC forms**, such as: - **Purpose of Usage** → Required for compliance with Transak’s regulations. - **ID Proof** → Only required for **Standard KYC**. If the user is under **Simple KYC**, ID proof is not required. - **SSN** -> Only required for US users As per the **quote ID**, the system dynamically returns the appropriate KYC forms for the user to complete. **Example Usage** Reference: https://docs.transak.com/api/whitelabel/kyc/get-additional-requirements ## Request ### Query parameters - `metadata[quoteId]` (string, required) — Quote Id generated from api/v2/lookup/quotes - `apiKey` (string, required) — Your API key from the Transak Dashboard. ### Headers - `x-user-ip` (string, required) — End user's originating IP. More details [here](/guides/mandatory-security-changes#user-ip-header-in-apis) - `x-api-key` (string, required) — Partner API Key present in Transak Dashboard. - `authorization` (string, optional) — Authorization token is the accessToken received from the API -` api/v2/auth/verify` Note: This is not applicable for [Auth Reliance Flows](/features/auth-reliance) - `x-user-identifier` (string, optional) — Your authenticated user Email Id address. Note: This is applicable only for [Auth Reliance Flows](/features/auth-reliance) - `x-access-token` (string, optional) — Your Partner Access Token. Please refer [here](/guides/how-to-create-partner-access-token) for a tutorial on generating your access token. Note: This is applicable only for [Auth Reliance Flows](/features/auth-reliance) ## Response ### 200 200 - With Documents Proof - `data` (ApiV2KycAdditionalRequirementsGetResponsesContentApplicationJsonSchemaData, required) ## Errors ### 400 Bad Request Error 400 - Invalid Quote Id - `error` (ApiV2KycAdditionalRequirementsGetResponsesContentApplicationJsonSchemaError, required) ### 401 Unauthorized Error 401 - Unauthorized - `error` (ApiV2KycAdditionalRequirementsGetResponsesContentApplicationJsonSchemaError, required) ### 404 Not Found Error 404 - User Not Found - `error` (ApiV2KycAdditionalRequirementsGetResponsesContentApplicationJsonSchemaError, required) ### 500 Internal Server Error 500 - Internal Server Error - `error` (ApiV2KycAdditionalRequirementsGetResponsesContentApplicationJsonSchemaError, required) ## Types ### ApiV2KycAdditionalRequirementsGetResponsesContentApplicationJsonSchemaData - `formsRequired` (list of ApiV2KycAdditionalRequirementsGetResponsesContentApplicationJsonSchemaDataFormsRequiredItems, required) ### ApiV2KycAdditionalRequirementsGetResponsesContentApplicationJsonSchemaError - `statusCode` (integer, required) - `message` (string, required) ### ApiV2KycAdditionalRequirementsGetResponsesContentApplicationJsonSchemaDataFormsRequiredItems - `type` (string, required) - `metadata` (ApiV2KycAdditionalRequirementsGetResponsesContentApplicationJsonSchemaDataFormsRequiredItemsMetadata, optional) ### ApiV2KycAdditionalRequirementsGetResponsesContentApplicationJsonSchemaDataFormsRequiredItemsMetadata - `expiresAt` (string, optional) - `kycUrl` (string, optional) - `workFlowRunId` (string, optional) - `options` (list of ApiV2KycAdditionalRequirementsGetResponsesContentApplicationJsonSchemaDataFormsRequiredItemsMetadataOptionsItems, optional) - `documentProofOptions` (list of ApiV2KycAdditionalRequirementsGetResponsesContentApplicationJsonSchemaDataFormsRequiredItemsMetadataDocumentProofOptionsItems, optional) ### ApiV2KycAdditionalRequirementsGetResponsesContentApplicationJsonSchemaDataFormsRequiredItemsMetadataOptionsItems - `name` (string, required) - `value` (string, required) ### ApiV2KycAdditionalRequirementsGetResponsesContentApplicationJsonSchemaDataFormsRequiredItemsMetadataDocumentProofOptionsItems - `name` (string, required) - `value` (string, required) ## Examples ### Additional Document Proof Required **Response** ```json { "data": { "formsRequired": [ { "type": "DOCUMENT_PROOF", "metadata": { "options": [], "documentProofOptions": [ { "name": "Payslip", "value": "PAYSLIP" }, { "name": "Bank Statement", "value": "BANK_STATEMENT_RECENT" }, { "name": "Residential Address", "value": "RESIDENTIAL_ADDRESS" } ] } } ] } } ``` **SDK Code** ```python Additional Document Proof Required import requests url = "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements" querystring = {"apiKey":"","metadata[quoteId]":""} headers = { "x-api-key": "", "x-user-ip": "" } response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript Additional Document Proof Required const url = 'https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D='; const options = {method: 'GET', headers: {'x-api-key': '', 'x-user-ip': ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go Additional Document Proof Required package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("x-api-key", "") req.Header.Add("x-user-ip", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Additional Document Proof Required require 'uri' require 'net/http' url = URI("https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["x-api-key"] = '' request["x-user-ip"] = '' response = http.request(request) puts response.read_body ``` ```java Additional Document Proof Required 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/additional-requirements?apiKey=&metadata%5BquoteId%5D=") .header("x-api-key", "") .header("x-user-ip", "") .asString(); ``` ```php Additional Document Proof Required request('GET', 'https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=', [ 'headers' => [ 'x-api-key' => '', 'x-user-ip' => '', ], ]); echo $response->getBody(); ``` ```csharp Additional Document Proof Required using RestSharp; var client = new RestClient("https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D="); var request = new RestRequest(Method.GET); request.AddHeader("x-api-key", ""); request.AddHeader("x-user-ip", ""); IRestResponse response = client.Execute(request); ``` ```swift Additional Document Proof Required import Foundation let headers = [ "x-api-key": "", "x-user-ip": "" ] let request = NSMutableURLRequest(url: NSURL(string: "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=")! 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() ``` ### Purpose of Usage **Response** ```json { "data": { "formsRequired": [ { "type": "PURPOSE_OF_USAGE" } ] } } ``` **SDK Code** ```python Purpose of Usage import requests url = "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements" querystring = {"apiKey":"","metadata[quoteId]":""} headers = { "x-api-key": "", "x-user-ip": "" } response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript Purpose of Usage const url = 'https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D='; const options = {method: 'GET', headers: {'x-api-key': '', 'x-user-ip': ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go Purpose of Usage package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("x-api-key", "") req.Header.Add("x-user-ip", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Purpose of Usage require 'uri' require 'net/http' url = URI("https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["x-api-key"] = '' request["x-user-ip"] = '' response = http.request(request) puts response.read_body ``` ```java Purpose of Usage 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/additional-requirements?apiKey=&metadata%5BquoteId%5D=") .header("x-api-key", "") .header("x-user-ip", "") .asString(); ``` ```php Purpose of Usage request('GET', 'https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=', [ 'headers' => [ 'x-api-key' => '', 'x-user-ip' => '', ], ]); echo $response->getBody(); ``` ```csharp Purpose of Usage using RestSharp; var client = new RestClient("https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D="); var request = new RestRequest(Method.GET); request.AddHeader("x-api-key", ""); request.AddHeader("x-user-ip", ""); IRestResponse response = client.Execute(request); ``` ```swift Purpose of Usage import Foundation let headers = [ "x-api-key": "", "x-user-ip": "" ] let request = NSMutableURLRequest(url: NSURL(string: "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=")! 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() ``` ### ID Proof Required **Response** ```json { "data": { "formsRequired": [ { "type": "PURPOSE_OF_USAGE" }, { "type": "IDPROOF", "metadata": { "expiresAt": "Tue, 22 Apr 2025 03:33:51 GMT", "kycUrl": "https://eu.onfido.app/l/e28138ac-15a9-4427-8dde-33f4ed1b0945", "workFlowRunId": "f7a73b14-6c25-433e-802d-1ca4ac0ececa" } } ] } } ``` **SDK Code** ```python ID Proof Required import requests url = "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements" querystring = {"apiKey":"","metadata[quoteId]":""} headers = { "x-api-key": "", "x-user-ip": "" } response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript ID Proof Required const url = 'https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D='; const options = {method: 'GET', headers: {'x-api-key': '', 'x-user-ip': ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go ID Proof Required package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("x-api-key", "") req.Header.Add("x-user-ip", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby ID Proof Required require 'uri' require 'net/http' url = URI("https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["x-api-key"] = '' request["x-user-ip"] = '' response = http.request(request) puts response.read_body ``` ```java ID Proof Required 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/additional-requirements?apiKey=&metadata%5BquoteId%5D=") .header("x-api-key", "") .header("x-user-ip", "") .asString(); ``` ```php ID Proof Required request('GET', 'https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=', [ 'headers' => [ 'x-api-key' => '', 'x-user-ip' => '', ], ]); echo $response->getBody(); ``` ```csharp ID Proof Required using RestSharp; var client = new RestClient("https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D="); var request = new RestRequest(Method.GET); request.AddHeader("x-api-key", ""); request.AddHeader("x-user-ip", ""); IRestResponse response = client.Execute(request); ``` ```swift ID Proof Required import Foundation let headers = [ "x-api-key": "", "x-user-ip": "" ] let request = NSMutableURLRequest(url: NSURL(string: "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=")! 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() ``` ### With US SSN **Response** ```json { "data": { "formsRequired": [ { "type": "PURPOSE_OF_USAGE" }, { "type": "IDPROOF", "metadata": { "expiresAt": "Tue, 22 Apr 2025 03:33:51 GMT", "kycUrl": "https://eu.onfido.app/l/e28138ac-15a9-4427-8dde-33f4ed1b0945", "workFlowRunId": "f7a73b14-6c25-433e-802d-1ca4ac0ececa" } }, { "type": "US_SSN" } ] } } ``` **SDK Code** ```python With US SSN import requests url = "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements" querystring = {"apiKey":"","metadata[quoteId]":""} headers = { "x-api-key": "", "x-user-ip": "" } response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript With US SSN const url = 'https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D='; const options = {method: 'GET', headers: {'x-api-key': '', 'x-user-ip': ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go With US SSN package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("x-api-key", "") req.Header.Add("x-user-ip", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby With US SSN require 'uri' require 'net/http' url = URI("https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["x-api-key"] = '' request["x-user-ip"] = '' response = http.request(request) puts response.read_body ``` ```java With US SSN 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/additional-requirements?apiKey=&metadata%5BquoteId%5D=") .header("x-api-key", "") .header("x-user-ip", "") .asString(); ``` ```php With US SSN request('GET', 'https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=', [ 'headers' => [ 'x-api-key' => '', 'x-user-ip' => '', ], ]); echo $response->getBody(); ``` ```csharp With US SSN using RestSharp; var client = new RestClient("https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D="); var request = new RestRequest(Method.GET); request.AddHeader("x-api-key", ""); request.AddHeader("x-user-ip", ""); IRestResponse response = client.Execute(request); ``` ```swift With US SSN import Foundation let headers = [ "x-api-key": "", "x-user-ip": "" ] let request = NSMutableURLRequest(url: NSURL(string: "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=")! 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() ``` ### With Source of Income **Response** ```json { "data": { "formsRequired": [ { "type": "SOURCE_OF_INCOME", "metadata": { "options": [ { "name": "Salary payments", "value": "salary_payment" }, { "name": "Savings", "value": "savings" }, { "name": "Property sale", "value": "property_sale" }, { "name": "Sale of crypto", "value": "sale_of_crypto" }, { "name": "Inheritance", "value": "inheritance" }, { "name": "Pension", "value": "pension" }, { "name": "Loan", "value": "loan" }, { "name": "Dividends", "value": "dividends" }, { "name": "Gift or donation", "value": "gift_or_donation" }, { "name": "Income from services provided", "value": "income_from_services_provided" }, { "name": "Stock/Share sale", "value": "stock_share_sale" } ], "documentProofOptions": [] } } ] } } ``` **SDK Code** ```python With Source of Income import requests url = "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements" querystring = {"apiKey":"","metadata[quoteId]":""} headers = { "x-api-key": "", "x-user-ip": "" } response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript With Source of Income const url = 'https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D='; const options = {method: 'GET', headers: {'x-api-key': '', 'x-user-ip': ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go With Source of Income package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("x-api-key", "") req.Header.Add("x-user-ip", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby With Source of Income require 'uri' require 'net/http' url = URI("https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["x-api-key"] = '' request["x-user-ip"] = '' response = http.request(request) puts response.read_body ``` ```java With Source of Income 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/additional-requirements?apiKey=&metadata%5BquoteId%5D=") .header("x-api-key", "") .header("x-user-ip", "") .asString(); ``` ```php With Source of Income request('GET', 'https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=', [ 'headers' => [ 'x-api-key' => '', 'x-user-ip' => '', ], ]); echo $response->getBody(); ``` ```csharp With Source of Income using RestSharp; var client = new RestClient("https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D="); var request = new RestRequest(Method.GET); request.AddHeader("x-api-key", ""); request.AddHeader("x-user-ip", ""); IRestResponse response = client.Execute(request); ``` ```swift With Source of Income import Foundation let headers = [ "x-api-key": "", "x-user-ip": "" ] let request = NSMutableURLRequest(url: NSURL(string: "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=")! 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() ``` ### With Documnets Proof **Response** ```json { "data": { "formsRequired": [ { "type": "DOCUMENT_PROOF", "metadata": { "options": [], "documentProofOptions": [ { "name": "Payslip", "value": "PAYSLIP" }, { "name": "Bank Statement", "value": "BANK_STATEMENT_RECENT" }, { "name": "Residential Address", "value": "RESIDENTIAL_ADDRESS" } ] } } ] } } ``` **SDK Code** ```python With Documnets Proof import requests url = "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements" querystring = {"apiKey":"","metadata[quoteId]":""} headers = { "x-api-key": "", "x-user-ip": "" } response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript With Documnets Proof const url = 'https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D='; const options = {method: 'GET', headers: {'x-api-key': '', 'x-user-ip': ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go With Documnets Proof package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("x-api-key", "") req.Header.Add("x-user-ip", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby With Documnets Proof require 'uri' require 'net/http' url = URI("https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["x-api-key"] = '' request["x-user-ip"] = '' response = http.request(request) puts response.read_body ``` ```java With Documnets Proof 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/additional-requirements?apiKey=&metadata%5BquoteId%5D=") .header("x-api-key", "") .header("x-user-ip", "") .asString(); ``` ```php With Documnets Proof request('GET', 'https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=', [ 'headers' => [ 'x-api-key' => '', 'x-user-ip' => '', ], ]); echo $response->getBody(); ``` ```csharp With Documnets Proof using RestSharp; var client = new RestClient("https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D="); var request = new RestRequest(Method.GET); request.AddHeader("x-api-key", ""); request.AddHeader("x-user-ip", ""); IRestResponse response = client.Execute(request); ``` ```swift With Documnets Proof import Foundation let headers = [ "x-api-key": "", "x-user-ip": "" ] let request = NSMutableURLRequest(url: NSURL(string: "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=")! 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() ``` ### FCA **Response** ```json { "data": { "formsRequired": [ { "type": "PURPOSE_OF_USAGE" }, { "type": "FCA", "metadata": { "status": "RISK_ASSESSMENT_PENDING" } } ] } } ``` **SDK Code** ```python FCA import requests url = "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements" querystring = {"apiKey":"","metadata[quoteId]":""} headers = { "x-api-key": "", "x-user-ip": "" } response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript FCA const url = 'https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D='; const options = {method: 'GET', headers: {'x-api-key': '', 'x-user-ip': ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go FCA package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("x-api-key", "") req.Header.Add("x-user-ip", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby FCA require 'uri' require 'net/http' url = URI("https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["x-api-key"] = '' request["x-user-ip"] = '' response = http.request(request) puts response.read_body ``` ```java FCA 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/additional-requirements?apiKey=&metadata%5BquoteId%5D=") .header("x-api-key", "") .header("x-user-ip", "") .asString(); ``` ```php FCA request('GET', 'https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=', [ 'headers' => [ 'x-api-key' => '', 'x-user-ip' => '', ], ]); echo $response->getBody(); ``` ```csharp FCA using RestSharp; var client = new RestClient("https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D="); var request = new RestRequest(Method.GET); request.AddHeader("x-api-key", ""); request.AddHeader("x-user-ip", ""); IRestResponse response = client.Execute(request); ``` ```swift FCA import Foundation let headers = [ "x-api-key": "", "x-user-ip": "" ] let request = NSMutableURLRequest(url: NSURL(string: "https://api-gateway-stg.transak.com/api/v2/kyc/additional-requirements?apiKey=&metadata%5BquoteId%5D=")! 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() ```