> ## Documentation Index
> Fetch the complete documentation index at: https://readme.amana-dev.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get KYC form

> Get the questions and sections of a KYC form.

## Path parameters

<ParamField path="formId" type="string" required>
  ID of the KYC form.
</ParamField>

## Query parameters

<ParamField query="lang" type="string" default="en">
  Language code for the returned content, for example en or ar.
</ParamField>

## Response

`200` Success.

<ResponseField name="id" type="string" />

<ResponseField name="sections" type="object[]">
  <Expandable title="properties">
    <ResponseField name="id" type="string" />

    <ResponseField name="title" type="string" />

    <ResponseField name="order" type="number" />

    <ResponseField name="questions" type="object[]">
      <Expandable title="properties">
        <ResponseField name="locale" type="string" />

        <ResponseField name="name" type="string" />

        <ResponseField name="label" type="string" />

        <ResponseField name="default_value" type="string" />

        <ResponseField name="type" type="enum<string>">
          Available options: `text`, `select`, `checkbox`, `dob`, `caption`, `hidden`, `file`, `radio`, `number`, `document`
        </ResponseField>

        <ResponseField name="required" type="boolean" />

        <ResponseField name="order" type="number" />

        <ResponseField name="answer_logic" type="object[]">
          <Expandable title="properties">
            <ResponseField name="name" type="string" />

            <ResponseField name="condition" type="string" />
          </Expandable>
        </ResponseField>

        <ResponseField name="show_if" type="string" />

        <ResponseField name="options" type="object[]">
          <Expandable title="properties">
            <ResponseField name="value" type="string" />

            <ResponseField name="label" type="string" />

            <ResponseField name="metadata" type="object" />
          </Expandable>
        </ResponseField>

        <ResponseField name="published" type="boolean" />
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

## Possible Errors

| Error | Possible cause | What to do |
| - | - | - |
| 400 | Invalid or missing field | Check the request against the schema. |
| 403 | IP not whitelisted, or account restricted | Confirm your IP is whitelisted; otherwise contact Amana. |
| 429 / 5xx | Rate limit, or temporary issue on our side | Retry with backoff; contact support if it persists. |

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://gateway.amana.io/kyc/{formId}'
  ```

  ```python Python theme={null}
  import requests

  url = "https://gateway.amana.io/kyc/{formId}"
  headers = {}

  response = requests.request("GET", url, headers=headers)
  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://gateway.amana.io/kyc/{formId}', {
    method: 'GET',
    headers: {},
  });
  console.log(await response.json());
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "<string>",
    "sections": [
      {
        "id": "<string>",
        "title": "<string>",
        "order": 123.45,
        "questions": [
          {
            "locale": "<string>",
            "name": "<string>",
            "label": "<string>",
            "default_value": "<string>",
            "type": "text",
            "required": true,
            "order": 123.45,
            "answer_logic": [],
            "show_if": "<string>",
            "options": [
              {}
            ],
            "published": true
          }
        ]
      }
    ]
  }
  ```

  ```json 400 theme={null}
  {
    "error": "<string>",
    "message": "<string>",
    "details": {}
  }
  ```

  ```json 403 theme={null}
  {
    "error": "<string>",
    "message": "<string>"
  }
  ```

  ```json 429 theme={null}
  {
    "error": "<string>",
    "message": "<string>"
  }
  ```

  ```json 500 theme={null}
  {
    "error": "<string>",
    "message": "<string>"
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.