# Get a form URL

Retrieve a URL for a form

Endpoint: POST /forms/{form_id}/urls
Version: 1.0
Security: API-Key

## Path parameters:

  - `form_id` (string,null, required)
    A unique identifier of a form, assigned by our system after it is created in the Dashboard
    Example: "d87132ba092d8148ba1891736832d0451ac2"

## Request fields (application/json):

  - `applicant_id` (string)
    A unique identifier of an applicant, that is assigned by our system after an applicant object was created with a “Create an applicant” request

  - `external_applicant_id` (string,null)
    A unique identifier of your user in your system

  - `redirect_url` (string,null)
    The URL in your system to which a user will be redirected after completing and submitting a form

## Response 200 fields (application/json):

  - `form_id` (string,null)
    A unique identifier of a form, assigned by our system after it is created in the Dashboard

  - `form_url` (string)
    A one-time URL to a form that includes a form token. The form remains open for completion via the URL until a user completes it

  - `verification_id` (string,null)
    A unique identifier for a verification, assigned by our system after a verification is created using the “Create a verification" request

  - `form_token` (string)
    A unique token for a form, generated by our system, and included as part of a form URL

  - `verification_attempts_left` (integer,null)
    A number of verification attempts available for a user, set in form settings in the Dashboard. A null value means “not limited”. It equals 0 if set in the settings

## Response 400 fields (application/json):

  - `type` (string)
    Example: "bad_request"

  - `errors` (array)

## Response 402 fields (application/json):

  - `type` (string)
    Example: "insufficient_funds"

  - `errors` (array)

## Response 404 fields (application/json):

  - `body` (object) — one of:
    - Form not found:
      - `type` (string)
        Example: "not_found"
      - `errors` (array)
      - `errors.parameter` (string)
        Example: "form_id"
      - `errors.message` (string)
        Example: "Form was not found"
    - Applicant not found:
      - `type` (string)
        Example: "not_found"
      - `errors` (array)
      - `errors.parameter` (string)
        Example: "applicant_id"
      - `errors.message` (string)
        Example: "Applicant was not found"

## Response 409 fields (application/json):

  - `body` (object)
    - `type` (string)
      Example: "flow"
    - `errors` (array)
    - `errors.parameter` (string)
      Example: "applicant_id"
    - `errors.message` (string)
      Example: "Applicant is not compatible with this form"

## Response 422 fields (application/json):

  - `body` (object) — one of:
    - Invalid form ID:
      - `type` (string)
        Example: "validation"
      - `errors` (array)
      - `errors.parameter` (string)
        Example: "form_id"
      - `errors.message` (string)
        Example: "Form ID is not valid."
    - Invalid applicant ID:
      - `type` (string)
        Example: "validation"
      - `errors` (array)
      - `errors.parameter` (string)
        Example: "applicant_id"
      - `errors.message` (string)
        Example: "Applicant ID is not valid."

## Response 429 fields (application/json):

  - `type` (string)
    Example: "flow"

  - `errors` (array)

  - `errors.parameter` (string)
    Example: "limit_exceeded"

  - `errors.message` (string)
    Example: "Rate limit exceeded"

## Response 500 fields (application/json):

  - `type` (string)
    Example: "internal_server"

  - `errors` (array)


