---
title: "Get Form"
method: GET
path: "/v2/forms/{formId}"
---

# Get Form

`GET /v2/forms/{formId}`

## Request

- Base URL: `https://pub-api.conversion.ai/api`
- URL: `https://pub-api.conversion.ai/api/v2/forms/{formId}`
- Auth: one of:
  - API key in header `X-API-Key`
  - API key in query parameter `api_key`

Get a tracked, published Conversion-native form by id, including the fields of its published definition. Each field's `fieldId` is the key used to reference the field in the forms JavaScript API and in submission data. `DROPDOWN` and `MULTI_CHECKBOX` fields also list their selectable `options`, so you can map a submitted value back to the option label a visitor saw. A `MULTI_CHECKBOX` submits the values of every ticked option as a single semicolon-separated string, such as `analytics;automation`.

Only tracked, published Conversion-native forms resolve; unknown ids, forms belonging to another workspace, external and ad forms, and untracked, archived, or never-published forms all return a `form_not_found` error.

## Path parameters

- `formId` string, uuid, required

## Response `200`

Form retrieved successfully.

- object
  - `data` object
    - `form` object, required
      - `id` string, uuid, required: The Conversion form id. Use it as the `formId` path parameter of `GET /v2/forms/{formId}`.
      - `name` string, required: The form's display name.
      - `createdAt` string, date-time, required: When the form was created.
      - `updatedAt` string, date-time, required: When the form was last updated.
      - `submissionCount` integer, required: The total number of submissions received by the form.
      - `lastSubmittedAt` string, date-time, nullable, required: When the form last received a submission, or `null` if it has never been submitted.
      - `fields` object[], required: The fields of the published form definition, including hidden fields.
        - `fieldId` string, required: The field's id in the form definition. Use this id to reference the field in the forms JavaScript API; submission data is keyed by it.
        - `name` string, required: The field's name as configured in the form editor, unique within the form. It also labels the field's values in submission data.
        - `type` 'SHORT_ANSWER' | 'LONG_ANSWER' | 'DROPDOWN' | 'NUMBER' | 'EMAIL' | 'PHONE_NUMBER' | 'LINK' | 'SINGLE_CHECKBOX' | 'MULTI_CHECKBOX' | 'HIDDEN', required: The field input type. `DROPDOWN` and `MULTI_CHECKBOX` fields submit option values listed under `options`, a `MULTI_CHECKBOX` joining its ticked values with `;`. `HIDDEN` fields are populated from the page rather than typed by the visitor.
        - `required` boolean, required: Whether the field must be filled to submit. Always `false` for hidden fields.
        - `hidden` boolean, required: Whether the field is a hidden field.
        - `options` object[]: The selectable options of a `DROPDOWN` or `MULTI_CHECKBOX` field, in the order they are configured in the form editor. Omitted for every other field type. A submission carries option values, never labels: a `DROPDOWN` field submits one option value, and a `MULTI_CHECKBOX` field submits the selected option values as a single semicolon-separated string, such as `analytics;automation`. A submitted value that does not match one of these options is rejected.
          - `label` string, required: The option's text as shown on the form. Labels are optional in the form editor; when empty, the form displays `value` instead.
          - `value` string, required: The value a submission carries for the field when this option is selected. Unique within the field.

## Other responses

- `401`: Authentication failed.
- `404`: The requested resource was not found.
- `500`: An unexpected server error occurred.

---

[API](https://skmtc.dev/conversion/apis/conversion-api.md) - [All operations](https://skmtc.dev/conversion/apis/conversion-api/llms.txt) - [OpenAPI document](https://skmtc.dev/conversion/apis/conversion-api/revisions/8422f815402a?raw)
