> For a complete page index, fetch https://docs.transak.com/llms.txt

# Submit FCA Requirements

POST https://api-gateway-stg.transak.com/api/v2/user/fca-requirements
Content-Type: application/json

The **Submit FCA Requirements** is an **authenticated POST API call** that submits a user's FCA compliance data for the current step. The request body varies based on the user's FCA status — categorization answers, investor agreement signature, or risk assessment responses.

Call [Get FCA Status](/api/whitelabel/fca/get-fca-status) to determine the current step, then [Get FCA Requirements](/api/whitelabel/fca/get-fca-requirements) to fetch the form data before submitting answers with this endpoint.

Use the **status** selector in the request body to switch between categorization, agreement, and risk assessment payloads. Use the **Examples** dropdown to load a matching request and response pair for each flow.

Reference: https://docs.transak.com/api/whitelabel/fca/submit-fca-requirements

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: whitelabel-api
  version: 1.0.0
paths:
  /api/v2/user/fca-requirements:
    post:
      operationId: submit-fca-requirements
      summary: Submit FCA Requirements
      description: >-
        The **Submit FCA Requirements** is an **authenticated POST API call**
        that submits a user's FCA compliance data for the current step. The
        request body varies based on the user's FCA status — categorization
        answers, investor agreement signature, or risk assessment responses.


        Call [Get FCA Status](/api/whitelabel/fca/get-fca-status) to determine
        the current step, then [Get FCA
        Requirements](/api/whitelabel/fca/get-fca-requirements) to fetch the
        form data before submitting answers with this endpoint.


        Use the **status** selector in the request body to switch between
        categorization, agreement, and risk assessment payloads. Use the
        **Examples** dropdown to load a matching request and response pair for
        each flow.
      tags:
        - subpackage_fca
      parameters:
        - name: authorization
          in: header
          description: >-
            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)
          required: false
          schema:
            type: string
        - name: x-user-identifier
          in: header
          description: >-
            Your authenticated user Email Id address.


            Note: This is applicable only for [Auth Reliance
            Flows](/features/auth-reliance)
          required: false
          schema:
            type: string
        - name: x-access-token
          in: header
          description: >
            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)
          required: false
          schema:
            type: string
      responses:
        '200':
          description: 200 - Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FcaRequirementsSubmitResponse'
        '400':
          description: 400 - Bad Request
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Submit-fca-requirementsRequestBadRequestError
        '401':
          description: 401 - Unauthorized
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Submit-fca-requirementsRequestUnauthorizedError
        '404':
          description: 404 - User Not Found
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Submit-fca-requirementsRequestNotFoundError
        '500':
          description: 500 - Internal Server Error
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Submit-fca-requirementsRequestInternalServerError
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FcaRequirementsSubmitRequest'
servers:
  - url: https://api-gateway-stg.transak.com
components:
  schemas:
    FcaCategorizationAnswer:
      type: object
      properties:
        questionId:
          type: string
        answerId:
          type: string
      required:
        - questionId
        - answerId
      title: FcaCategorizationAnswer
    FcaCategorizationData:
      type: object
      properties:
        answers:
          type: array
          items:
            $ref: '#/components/schemas/FcaCategorizationAnswer'
      required:
        - answers
      title: FcaCategorizationData
    FcaAgreementData:
      type: object
      properties:
        signature:
          type: string
      required:
        - signature
      title: FcaAgreementData
    FcaRiskAssessmentAnswer:
      type: object
      properties:
        answerId:
          type: string
        questionId:
          type: string
      required:
        - answerId
        - questionId
      title: FcaRiskAssessmentAnswer
    FcaRiskAssessmentData:
      type: object
      properties:
        assessmentSetId:
          type: string
        test:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/FcaRiskAssessmentAnswer'
        currentAttempt:
          type: string
      required:
        - assessmentSetId
        - test
        - currentAttempt
      title: FcaRiskAssessmentData
    FcaRequirementsSubmitRequest:
      oneOf:
        - type: object
          properties:
            status:
              type: string
              enum:
                - CATEGORIZATION_PENDING
              description: 'Discriminator value: CATEGORIZATION_PENDING'
            data:
              $ref: '#/components/schemas/FcaCategorizationData'
          required:
            - status
            - data
          description: CATEGORIZATION_PENDING variant
        - type: object
          properties:
            status:
              type: string
              enum:
                - AGREEMENT_PENDING
              description: 'Discriminator value: AGREEMENT_PENDING'
            data:
              $ref: '#/components/schemas/FcaAgreementData'
          required:
            - status
            - data
          description: AGREEMENT_PENDING variant
        - type: object
          properties:
            status:
              type: string
              enum:
                - RISK_ASSESSMENT_PENDING
              description: 'Discriminator value: RISK_ASSESSMENT_PENDING'
            data:
              $ref: '#/components/schemas/FcaRiskAssessmentData'
          required:
            - status
            - data
          description: RISK_ASSESSMENT_PENDING variant
        - type: object
          properties:
            status:
              type: string
              enum:
                - RISK_ASSESSMENT_FAILED
              description: 'Discriminator value: RISK_ASSESSMENT_FAILED'
            data:
              $ref: '#/components/schemas/FcaRiskAssessmentData'
          required:
            - status
            - data
          description: RISK_ASSESSMENT_FAILED variant
      discriminator:
        propertyName: status
      title: FcaRequirementsSubmitRequest
    FcaCategorizationSubmitResultDataResult:
      type: string
      enum:
        - HIGH_NET_WORTH_INVESTOR
        - CONTINUE_TO_SET_B
        - RESTRICTED_INVESTOR
      description: Categorization outcome returned after submitting answers.
      title: FcaCategorizationSubmitResultDataResult
    FcaCategorizationSubmitResultData:
      type: object
      properties:
        result:
          $ref: '#/components/schemas/FcaCategorizationSubmitResultDataResult'
          description: Categorization outcome returned after submitting answers.
      required:
        - result
      title: FcaCategorizationSubmitResultData
    FcaAgreementSubmitResultDataResult:
      type: string
      enum:
        - signed
      description: Agreement submission outcome.
      title: FcaAgreementSubmitResultDataResult
    FcaAgreementSubmitResultData:
      type: object
      properties:
        result:
          $ref: '#/components/schemas/FcaAgreementSubmitResultDataResult'
          description: Agreement submission outcome.
      required:
        - result
      title: FcaAgreementSubmitResultData
    FcaRiskAssessmentSubmitResultDataStatus:
      type: string
      enum:
        - PASS
        - FAIL
      description: Risk assessment outcome.
      title: FcaRiskAssessmentSubmitResultDataStatus
    FcaRiskAssessmentSubmitResultData:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/FcaRiskAssessmentSubmitResultDataStatus'
          description: Risk assessment outcome.
      required:
        - status
      title: FcaRiskAssessmentSubmitResultData
    FcaRequirementsSubmitResponseData:
      oneOf:
        - $ref: '#/components/schemas/FcaCategorizationSubmitResultData'
        - $ref: '#/components/schemas/FcaAgreementSubmitResultData'
        - $ref: '#/components/schemas/FcaRiskAssessmentSubmitResultData'
      title: FcaRequirementsSubmitResponseData
    FcaRequirementsSubmitResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/FcaRequirementsSubmitResponseData'
      required:
        - data
      title: FcaRequirementsSubmitResponse
    ApiV2UserFcaRequirementsPostResponsesContentApplicationJsonSchemaError:
      type: object
      properties:
        statusCode:
          type: integer
        message:
          type: string
      required:
        - statusCode
        - message
      title: ApiV2UserFcaRequirementsPostResponsesContentApplicationJsonSchemaError
    Submit-fca-requirementsRequestBadRequestError:
      type: object
      properties:
        error:
          $ref: >-
            #/components/schemas/ApiV2UserFcaRequirementsPostResponsesContentApplicationJsonSchemaError
      required:
        - error
      title: Submit-fca-requirementsRequestBadRequestError
    Submit-fca-requirementsRequestUnauthorizedError:
      type: object
      properties:
        error:
          $ref: >-
            #/components/schemas/ApiV2UserFcaRequirementsPostResponsesContentApplicationJsonSchemaError
      required:
        - error
      title: Submit-fca-requirementsRequestUnauthorizedError
    Submit-fca-requirementsRequestNotFoundError:
      type: object
      properties:
        error:
          $ref: >-
            #/components/schemas/ApiV2UserFcaRequirementsPostResponsesContentApplicationJsonSchemaError
      required:
        - error
      title: Submit-fca-requirementsRequestNotFoundError
    Submit-fca-requirementsRequestInternalServerError:
      type: object
      properties:
        error:
          $ref: >-
            #/components/schemas/ApiV2UserFcaRequirementsPostResponsesContentApplicationJsonSchemaError
      required:
        - error
      title: Submit-fca-requirementsRequestInternalServerError

```

## SDK Code Examples

```python Categorization High Net Worth Investor
import requests

url = "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements"

payload = {
    "status": "CATEGORIZATION_PENDING",
    "data": { "answers": [
            {
                "questionId": "HNI_Q1",
                "answerId": "A"
            },
            {
                "questionId": "HNI_Q2",
                "answerId": "A"
            }
        ] }
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Categorization High Net Worth Investor
const url = 'https://api-gateway-stg.transak.com/api/v2/user/fca-requirements';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"status":"CATEGORIZATION_PENDING","data":{"answers":[{"questionId":"HNI_Q1","answerId":"A"},{"questionId":"HNI_Q2","answerId":"A"}]}}'
};

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

```go Categorization High Net Worth Investor
package main

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

func main() {

	url := "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements"

	payload := strings.NewReader("{\n  \"status\": \"CATEGORIZATION_PENDING\",\n  \"data\": {\n    \"answers\": [\n      {\n        \"questionId\": \"HNI_Q1\",\n        \"answerId\": \"A\"\n      },\n      {\n        \"questionId\": \"HNI_Q2\",\n        \"answerId\": \"A\"\n      }\n    ]\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

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

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

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

}
```

```ruby Categorization High Net Worth Investor
require 'uri'
require 'net/http'

url = URI("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"status\": \"CATEGORIZATION_PENDING\",\n  \"data\": {\n    \"answers\": [\n      {\n        \"questionId\": \"HNI_Q1\",\n        \"answerId\": \"A\"\n      },\n      {\n        \"questionId\": \"HNI_Q2\",\n        \"answerId\": \"A\"\n      }\n    ]\n  }\n}"

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

```java Categorization High Net Worth Investor
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")
  .header("Content-Type", "application/json")
  .body("{\n  \"status\": \"CATEGORIZATION_PENDING\",\n  \"data\": {\n    \"answers\": [\n      {\n        \"questionId\": \"HNI_Q1\",\n        \"answerId\": \"A\"\n      },\n      {\n        \"questionId\": \"HNI_Q2\",\n        \"answerId\": \"A\"\n      }\n    ]\n  }\n}")
  .asString();
```

```php Categorization High Net Worth Investor
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api-gateway-stg.transak.com/api/v2/user/fca-requirements', [
  'body' => '{
  "status": "CATEGORIZATION_PENDING",
  "data": {
    "answers": [
      {
        "questionId": "HNI_Q1",
        "answerId": "A"
      },
      {
        "questionId": "HNI_Q2",
        "answerId": "A"
      }
    ]
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Categorization High Net Worth Investor
using RestSharp;

var client = new RestClient("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"status\": \"CATEGORIZATION_PENDING\",\n  \"data\": {\n    \"answers\": [\n      {\n        \"questionId\": \"HNI_Q1\",\n        \"answerId\": \"A\"\n      },\n      {\n        \"questionId\": \"HNI_Q2\",\n        \"answerId\": \"A\"\n      }\n    ]\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Categorization High Net Worth Investor
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  "status": "CATEGORIZATION_PENDING",
  "data": ["answers": [
      [
        "questionId": "HNI_Q1",
        "answerId": "A"
      ],
      [
        "questionId": "HNI_Q2",
        "answerId": "A"
      ]
    ]]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

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 Categorization Continue to Set B
import requests

url = "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements"

payload = {
    "status": "CATEGORIZATION_PENDING",
    "data": { "answers": [
            {
                "questionId": "HNI_Q1",
                "answerId": "B"
            },
            {
                "questionId": "HNI_Q2",
                "answerId": "B"
            }
        ] }
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Categorization Continue to Set B
const url = 'https://api-gateway-stg.transak.com/api/v2/user/fca-requirements';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"status":"CATEGORIZATION_PENDING","data":{"answers":[{"questionId":"HNI_Q1","answerId":"B"},{"questionId":"HNI_Q2","answerId":"B"}]}}'
};

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

```go Categorization Continue to Set B
package main

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

func main() {

	url := "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements"

	payload := strings.NewReader("{\n  \"status\": \"CATEGORIZATION_PENDING\",\n  \"data\": {\n    \"answers\": [\n      {\n        \"questionId\": \"HNI_Q1\",\n        \"answerId\": \"B\"\n      },\n      {\n        \"questionId\": \"HNI_Q2\",\n        \"answerId\": \"B\"\n      }\n    ]\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

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

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

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

}
```

```ruby Categorization Continue to Set B
require 'uri'
require 'net/http'

url = URI("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"status\": \"CATEGORIZATION_PENDING\",\n  \"data\": {\n    \"answers\": [\n      {\n        \"questionId\": \"HNI_Q1\",\n        \"answerId\": \"B\"\n      },\n      {\n        \"questionId\": \"HNI_Q2\",\n        \"answerId\": \"B\"\n      }\n    ]\n  }\n}"

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

```java Categorization Continue to Set B
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")
  .header("Content-Type", "application/json")
  .body("{\n  \"status\": \"CATEGORIZATION_PENDING\",\n  \"data\": {\n    \"answers\": [\n      {\n        \"questionId\": \"HNI_Q1\",\n        \"answerId\": \"B\"\n      },\n      {\n        \"questionId\": \"HNI_Q2\",\n        \"answerId\": \"B\"\n      }\n    ]\n  }\n}")
  .asString();
```

```php Categorization Continue to Set B
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api-gateway-stg.transak.com/api/v2/user/fca-requirements', [
  'body' => '{
  "status": "CATEGORIZATION_PENDING",
  "data": {
    "answers": [
      {
        "questionId": "HNI_Q1",
        "answerId": "B"
      },
      {
        "questionId": "HNI_Q2",
        "answerId": "B"
      }
    ]
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Categorization Continue to Set B
using RestSharp;

var client = new RestClient("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"status\": \"CATEGORIZATION_PENDING\",\n  \"data\": {\n    \"answers\": [\n      {\n        \"questionId\": \"HNI_Q1\",\n        \"answerId\": \"B\"\n      },\n      {\n        \"questionId\": \"HNI_Q2\",\n        \"answerId\": \"B\"\n      }\n    ]\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Categorization Continue to Set B
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  "status": "CATEGORIZATION_PENDING",
  "data": ["answers": [
      [
        "questionId": "HNI_Q1",
        "answerId": "B"
      ],
      [
        "questionId": "HNI_Q2",
        "answerId": "B"
      ]
    ]]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

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 Categorization Restricted Investor
import requests

url = "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements"

payload = {
    "status": "CATEGORIZATION_PENDING",
    "data": { "answers": [
            {
                "questionId": "RI_Q1",
                "answerId": "A"
            },
            {
                "questionId": "RI_Q2",
                "answerId": "A"
            }
        ] }
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Categorization Restricted Investor
const url = 'https://api-gateway-stg.transak.com/api/v2/user/fca-requirements';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"status":"CATEGORIZATION_PENDING","data":{"answers":[{"questionId":"RI_Q1","answerId":"A"},{"questionId":"RI_Q2","answerId":"A"}]}}'
};

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

```go Categorization Restricted Investor
package main

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

func main() {

	url := "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements"

	payload := strings.NewReader("{\n  \"status\": \"CATEGORIZATION_PENDING\",\n  \"data\": {\n    \"answers\": [\n      {\n        \"questionId\": \"RI_Q1\",\n        \"answerId\": \"A\"\n      },\n      {\n        \"questionId\": \"RI_Q2\",\n        \"answerId\": \"A\"\n      }\n    ]\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

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

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

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

}
```

```ruby Categorization Restricted Investor
require 'uri'
require 'net/http'

url = URI("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"status\": \"CATEGORIZATION_PENDING\",\n  \"data\": {\n    \"answers\": [\n      {\n        \"questionId\": \"RI_Q1\",\n        \"answerId\": \"A\"\n      },\n      {\n        \"questionId\": \"RI_Q2\",\n        \"answerId\": \"A\"\n      }\n    ]\n  }\n}"

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

```java Categorization Restricted Investor
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")
  .header("Content-Type", "application/json")
  .body("{\n  \"status\": \"CATEGORIZATION_PENDING\",\n  \"data\": {\n    \"answers\": [\n      {\n        \"questionId\": \"RI_Q1\",\n        \"answerId\": \"A\"\n      },\n      {\n        \"questionId\": \"RI_Q2\",\n        \"answerId\": \"A\"\n      }\n    ]\n  }\n}")
  .asString();
```

```php Categorization Restricted Investor
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api-gateway-stg.transak.com/api/v2/user/fca-requirements', [
  'body' => '{
  "status": "CATEGORIZATION_PENDING",
  "data": {
    "answers": [
      {
        "questionId": "RI_Q1",
        "answerId": "A"
      },
      {
        "questionId": "RI_Q2",
        "answerId": "A"
      }
    ]
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Categorization Restricted Investor
using RestSharp;

var client = new RestClient("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"status\": \"CATEGORIZATION_PENDING\",\n  \"data\": {\n    \"answers\": [\n      {\n        \"questionId\": \"RI_Q1\",\n        \"answerId\": \"A\"\n      },\n      {\n        \"questionId\": \"RI_Q2\",\n        \"answerId\": \"A\"\n      }\n    ]\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Categorization Restricted Investor
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  "status": "CATEGORIZATION_PENDING",
  "data": ["answers": [
      [
        "questionId": "RI_Q1",
        "answerId": "A"
      ],
      [
        "questionId": "RI_Q2",
        "answerId": "A"
      ]
    ]]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

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 Agreement Pending
import requests

url = "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements"

payload = {
    "status": "AGREEMENT_PENDING",
    "data": { "signature": "John Doe" }
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Agreement Pending
const url = 'https://api-gateway-stg.transak.com/api/v2/user/fca-requirements';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"status":"AGREEMENT_PENDING","data":{"signature":"John Doe"}}'
};

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

```go Agreement Pending
package main

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

func main() {

	url := "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements"

	payload := strings.NewReader("{\n  \"status\": \"AGREEMENT_PENDING\",\n  \"data\": {\n    \"signature\": \"John Doe\"\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

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

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

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

}
```

```ruby Agreement Pending
require 'uri'
require 'net/http'

url = URI("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"status\": \"AGREEMENT_PENDING\",\n  \"data\": {\n    \"signature\": \"John Doe\"\n  }\n}"

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

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

HttpResponse<String> response = Unirest.post("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")
  .header("Content-Type", "application/json")
  .body("{\n  \"status\": \"AGREEMENT_PENDING\",\n  \"data\": {\n    \"signature\": \"John Doe\"\n  }\n}")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api-gateway-stg.transak.com/api/v2/user/fca-requirements', [
  'body' => '{
  "status": "AGREEMENT_PENDING",
  "data": {
    "signature": "John Doe"
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Agreement Pending
using RestSharp;

var client = new RestClient("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"status\": \"AGREEMENT_PENDING\",\n  \"data\": {\n    \"signature\": \"John Doe\"\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Agreement Pending
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  "status": "AGREEMENT_PENDING",
  "data": ["signature": "John Doe"]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

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 Risk Assessment Pending
import requests

url = "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements"

payload = {
    "status": "RISK_ASSESSMENT_PENDING",
    "data": {
        "assessmentSetId": "SET_A",
        "test": { "section1": [
                {
                    "answerId": "A",
                    "questionId": "SET_A_Q2"
                },
                {
                    "answerId": "A",
                    "questionId": "SET_A_Q10"
                },
                {
                    "answerId": "A",
                    "questionId": "SET_A_Q6"
                },
                {
                    "answerId": "A",
                    "questionId": "SET_A_Q1"
                },
                {
                    "answerId": "A",
                    "questionId": "SET_A_Q8"
                }
            ] },
        "currentAttempt": "section1"
    }
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Risk Assessment Pending
const url = 'https://api-gateway-stg.transak.com/api/v2/user/fca-requirements';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"status":"RISK_ASSESSMENT_PENDING","data":{"assessmentSetId":"SET_A","test":{"section1":[{"answerId":"A","questionId":"SET_A_Q2"},{"answerId":"A","questionId":"SET_A_Q10"},{"answerId":"A","questionId":"SET_A_Q6"},{"answerId":"A","questionId":"SET_A_Q1"},{"answerId":"A","questionId":"SET_A_Q8"}]},"currentAttempt":"section1"}}'
};

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

```go Risk Assessment Pending
package main

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

func main() {

	url := "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements"

	payload := strings.NewReader("{\n  \"status\": \"RISK_ASSESSMENT_PENDING\",\n  \"data\": {\n    \"assessmentSetId\": \"SET_A\",\n    \"test\": {\n      \"section1\": [\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q2\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q10\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q6\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q1\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q8\"\n        }\n      ]\n    },\n    \"currentAttempt\": \"section1\"\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

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

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

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

}
```

```ruby Risk Assessment Pending
require 'uri'
require 'net/http'

url = URI("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"status\": \"RISK_ASSESSMENT_PENDING\",\n  \"data\": {\n    \"assessmentSetId\": \"SET_A\",\n    \"test\": {\n      \"section1\": [\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q2\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q10\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q6\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q1\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q8\"\n        }\n      ]\n    },\n    \"currentAttempt\": \"section1\"\n  }\n}"

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

```java Risk Assessment Pending
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")
  .header("Content-Type", "application/json")
  .body("{\n  \"status\": \"RISK_ASSESSMENT_PENDING\",\n  \"data\": {\n    \"assessmentSetId\": \"SET_A\",\n    \"test\": {\n      \"section1\": [\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q2\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q10\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q6\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q1\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q8\"\n        }\n      ]\n    },\n    \"currentAttempt\": \"section1\"\n  }\n}")
  .asString();
```

```php Risk Assessment Pending
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api-gateway-stg.transak.com/api/v2/user/fca-requirements', [
  'body' => '{
  "status": "RISK_ASSESSMENT_PENDING",
  "data": {
    "assessmentSetId": "SET_A",
    "test": {
      "section1": [
        {
          "answerId": "A",
          "questionId": "SET_A_Q2"
        },
        {
          "answerId": "A",
          "questionId": "SET_A_Q10"
        },
        {
          "answerId": "A",
          "questionId": "SET_A_Q6"
        },
        {
          "answerId": "A",
          "questionId": "SET_A_Q1"
        },
        {
          "answerId": "A",
          "questionId": "SET_A_Q8"
        }
      ]
    },
    "currentAttempt": "section1"
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Risk Assessment Pending
using RestSharp;

var client = new RestClient("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"status\": \"RISK_ASSESSMENT_PENDING\",\n  \"data\": {\n    \"assessmentSetId\": \"SET_A\",\n    \"test\": {\n      \"section1\": [\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q2\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q10\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q6\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q1\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q8\"\n        }\n      ]\n    },\n    \"currentAttempt\": \"section1\"\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Risk Assessment Pending
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  "status": "RISK_ASSESSMENT_PENDING",
  "data": [
    "assessmentSetId": "SET_A",
    "test": ["section1": [
        [
          "answerId": "A",
          "questionId": "SET_A_Q2"
        ],
        [
          "answerId": "A",
          "questionId": "SET_A_Q10"
        ],
        [
          "answerId": "A",
          "questionId": "SET_A_Q6"
        ],
        [
          "answerId": "A",
          "questionId": "SET_A_Q1"
        ],
        [
          "answerId": "A",
          "questionId": "SET_A_Q8"
        ]
      ]],
    "currentAttempt": "section1"
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

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 Risk Assessment Failed
import requests

url = "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements"

payload = {
    "status": "RISK_ASSESSMENT_FAILED",
    "data": {
        "assessmentSetId": "SET_A",
        "test": { "section1": [
                {
                    "answerId": "A",
                    "questionId": "SET_A_Q2"
                },
                {
                    "answerId": "A",
                    "questionId": "SET_A_Q10"
                },
                {
                    "answerId": "A",
                    "questionId": "SET_A_Q6"
                },
                {
                    "answerId": "A",
                    "questionId": "SET_A_Q1"
                },
                {
                    "answerId": "A",
                    "questionId": "SET_A_Q8"
                }
            ] },
        "currentAttempt": "section1"
    }
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Risk Assessment Failed
const url = 'https://api-gateway-stg.transak.com/api/v2/user/fca-requirements';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"status":"RISK_ASSESSMENT_FAILED","data":{"assessmentSetId":"SET_A","test":{"section1":[{"answerId":"A","questionId":"SET_A_Q2"},{"answerId":"A","questionId":"SET_A_Q10"},{"answerId":"A","questionId":"SET_A_Q6"},{"answerId":"A","questionId":"SET_A_Q1"},{"answerId":"A","questionId":"SET_A_Q8"}]},"currentAttempt":"section1"}}'
};

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

```go Risk Assessment Failed
package main

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

func main() {

	url := "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements"

	payload := strings.NewReader("{\n  \"status\": \"RISK_ASSESSMENT_FAILED\",\n  \"data\": {\n    \"assessmentSetId\": \"SET_A\",\n    \"test\": {\n      \"section1\": [\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q2\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q10\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q6\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q1\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q8\"\n        }\n      ]\n    },\n    \"currentAttempt\": \"section1\"\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

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

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

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

}
```

```ruby Risk Assessment Failed
require 'uri'
require 'net/http'

url = URI("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"status\": \"RISK_ASSESSMENT_FAILED\",\n  \"data\": {\n    \"assessmentSetId\": \"SET_A\",\n    \"test\": {\n      \"section1\": [\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q2\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q10\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q6\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q1\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q8\"\n        }\n      ]\n    },\n    \"currentAttempt\": \"section1\"\n  }\n}"

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

```java Risk Assessment Failed
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")
  .header("Content-Type", "application/json")
  .body("{\n  \"status\": \"RISK_ASSESSMENT_FAILED\",\n  \"data\": {\n    \"assessmentSetId\": \"SET_A\",\n    \"test\": {\n      \"section1\": [\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q2\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q10\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q6\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q1\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q8\"\n        }\n      ]\n    },\n    \"currentAttempt\": \"section1\"\n  }\n}")
  .asString();
```

```php Risk Assessment Failed
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api-gateway-stg.transak.com/api/v2/user/fca-requirements', [
  'body' => '{
  "status": "RISK_ASSESSMENT_FAILED",
  "data": {
    "assessmentSetId": "SET_A",
    "test": {
      "section1": [
        {
          "answerId": "A",
          "questionId": "SET_A_Q2"
        },
        {
          "answerId": "A",
          "questionId": "SET_A_Q10"
        },
        {
          "answerId": "A",
          "questionId": "SET_A_Q6"
        },
        {
          "answerId": "A",
          "questionId": "SET_A_Q1"
        },
        {
          "answerId": "A",
          "questionId": "SET_A_Q8"
        }
      ]
    },
    "currentAttempt": "section1"
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Risk Assessment Failed
using RestSharp;

var client = new RestClient("https://api-gateway-stg.transak.com/api/v2/user/fca-requirements");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"status\": \"RISK_ASSESSMENT_FAILED\",\n  \"data\": {\n    \"assessmentSetId\": \"SET_A\",\n    \"test\": {\n      \"section1\": [\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q2\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q10\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q6\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q1\"\n        },\n        {\n          \"answerId\": \"A\",\n          \"questionId\": \"SET_A_Q8\"\n        }\n      ]\n    },\n    \"currentAttempt\": \"section1\"\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Risk Assessment Failed
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  "status": "RISK_ASSESSMENT_FAILED",
  "data": [
    "assessmentSetId": "SET_A",
    "test": ["section1": [
        [
          "answerId": "A",
          "questionId": "SET_A_Q2"
        ],
        [
          "answerId": "A",
          "questionId": "SET_A_Q10"
        ],
        [
          "answerId": "A",
          "questionId": "SET_A_Q6"
        ],
        [
          "answerId": "A",
          "questionId": "SET_A_Q1"
        ],
        [
          "answerId": "A",
          "questionId": "SET_A_Q8"
        ]
      ]],
    "currentAttempt": "section1"
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api-gateway-stg.transak.com/api/v2/user/fca-requirements")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

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()
```