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

# Get Form

> Returns the full configuration of a form or survey for rendering.

# Get Form

Returns the complete form definition including fields, validation rules, and display settings. Used to render the form for user input.

## Authentication

No authentication required for public forms.

## Path Parameters

<ParamField path="formId" type="string" required>
  Unique identifier (GUID) of the form.
</ParamField>

## Query Parameters

<ParamField query="_shape" type="string">
  Comma-separated list of field paths to include in the response. When provided, only the
  specified fields are returned — useful for reducing payload size. Supports nested paths
  using dot notation.
</ParamField>

## Response

Returns the form configuration object with the following fields.

### Form Fields

#### Identity

| Field      | Type     | Description                            |
| ---------- | -------- | -------------------------------------- |
| `Id`       | `number` | Unique numeric identifier for the form |
| `UniqueId` | `string` | Globally unique identifier             |

#### Core

| Field         | Type      | Description                     |
| ------------- | --------- | ------------------------------- |
| `Name`        | `string`  | Form display name               |
| `Description` | `string`  | Form description / instructions |
| `Active`      | `boolean` | Whether the form is active      |

#### Questions

Each form contains an array of question objects:

| Field                   | Type             | Description                              |
| ----------------------- | ---------------- | ---------------------------------------- |
| `Id`                    | `number`         | Question identifier                      |
| `Text`                  | `string`         | Question text                            |
| `Description`           | `string`         | Question description / help text         |
| `QuestionType`          | `string`         | Type of question (e.g. `Text`, `Select`) |
| `AvailableOptions`      | `string`         | Comma-separated list of options          |
| `AvailableOptionsArray` | `string[]`       | Array of option strings                  |
| `DisplayOrder`          | `number \| null` | Sort order of the question               |
| `AllowMultipleOptions`  | `boolean`        | Whether multiple selections are allowed  |
| `IsRequired`            | `boolean`        | Whether the question is required         |

#### Timestamps (from base)

| Field          | Type             | Description                             |
| -------------- | ---------------- | --------------------------------------- |
| `CreatedOn`    | `string`         | Date created (business-local time)      |
| `UpdatedOn`    | `string \| null` | Date last updated (business-local time) |
| `CreatedOnUtc` | `string`         | Date created (UTC)                      |
| `UpdatedOnUtc` | `string \| null` | Date last updated (UTC)                 |

## TypeScript Integration

```typescript theme={null}
import endpoints from '@/api/endpoints'

const response = await httpClient.get(endpoints.forms.show('abc123'))
```
