> For the complete documentation index, see [llms.txt](https://docs.api.intratool.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.api.intratool.de/api-reference/tasks-2/task-field-types.md).

# TaskFieldTypes

## Introduction

`TaskFieldTypes` describe how [TaskFields](/api-reference/tasks-2/task-fields.md) are rendered and which `config` is valid.

The `rich-text` and `description` type values and the `privacy-policy` type's `config.text` value use the shared [Rich Text](/introduction/rich-text.md) HTML format.

## Model Definition

**Alias**

`formFieldType`

## List

List available `TaskFieldTypes`.

**Definition**

<mark style="color:green;">`GET`</mark> `/api/tasks-2/field-types`

**Example Request**

{% tabs %}
{% tab title="PHP" %}

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/tasks-2/field-types', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
```

{% endtab %}
{% endtabs %}

**Example Response**

```json
[
  {
    "id": "boolean",
    "icon_id": 43,
    "default_config": {
      "type": "labeled_buttons",
      "representation": {
        "true": "Ja",
        "false": "Nein"
      }
    },
    "unique": false,
    "relevant": true,
    "sort_number": 2
  },
  {
    "id": "checkbox",
    "icon_id": 74,
    "default_config": {
      "options": {
        "1": {
          "title": "Option 1",
          "value": null
        }
      },
      "inline": false
    },
    "unique": false,
    "relevant": true,
    "sort_number": 4
  }
]
```

## Show

Show one `TaskFieldType`.

**Definition**

<mark style="color:green;">`GET`</mark> `/api/tasks-2/field-types/{formFieldType}`

**Route Parameters**

| Parameter       | Type     | Description                   |
| --------------- | -------- | ----------------------------- |
| `formFieldType` | `string` | Type ID (for example `text`). |

**Example Request**

{% tabs %}
{% tab title="PHP" %}

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/tasks-2/field-types/text', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
```

{% endtab %}
{% endtabs %}

**Example Response**

```json
{
  "id": "text",
  "icon_id": 72,
  "default_config": {
    "scanner": false
  },
  "unique": false,
  "relevant": true,
  "sort_number": 1
}
```

## Allowed type keys

* `text`
* `boolean`
* `rich-text`
* `checkbox`
* `radio`
* `select`
* `datetime`
* `file-upload`
* `entity-select`
* `entities-select`
* `recipient-select`
* `description`
* `privacy-policy`
* `signature`
