> 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-default-value-sources.md).

# TaskFieldDefaultValueSources

## Introduction

`TaskFieldDefaultValueSources` define prefilled values for [TaskFields](/api-reference/tasks-2/task-fields.md).

## \[Adm.] Create

**Definition**

<mark style="color:yellow;">`POST`</mark> `/api/administration/tasks-2/templates/fields/default-value-sources`

**Request Keys**

| Key                  | Type            | Default      | Description                                                                  |
| -------------------- | --------------- | ------------ | ---------------------------------------------------------------------------- |
| `source_type`\*      | string          | -            | Allowed values: `formFieldValue`, `systemVariable`.                          |
| `form_field_id`\*    | integer         | -            | Target [TaskField](/api-reference/tasks-2/task-fields.md) ID.                |
| `config`             | object          | type default | Source-specific configuration.                                               |
| `source_entity_type` | string \| null  | `null`       | Morph alias of source entity (typically `formField` for field-value source). |
| `source_entity_id`   | integer \| null | `null`       | Source entity ID (required with `source_entity_type`).                       |
| `sort_number`        | integer         | auto         | Evaluation order per field.                                                  |

Keys with `*` are required.

**Example Request**

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('POST', '/api/administration/tasks-2/templates/fields/default-value-sources', [
    'headers' => ['Authorization' => "Bearer {accessToken}"],
    'json' => [
        'form_field_id' => 33,
        'source_type' => 'systemVariable',
        'config' => [
            'variable_key' => 'system.user.id',
            'variable_filter' => null
        ]
    ]
]);
```

**Example Response**

```json
{
  "status": "success",
  "data": {
    "id": 52,
    "form_field_id": 33,
    "source_type": "systemVariable",
    "config": {
      "variable_key": "system.user.id",
      "variable_filter": null
    },
    "source_entity_type": null,
    "source_entity_id": null,
    "sort_number": 1
  }
}
```

## \[Adm.] Update

**Definition**

<mark style="color:blue;">`PUT`</mark> `/api/administration/tasks-2/templates/fields/default-value-sources/{defaultValueSource}`

**Request Keys**

| Key                  | Type            | Description                                           |
| -------------------- | --------------- | ----------------------------------------------------- |
| `source_type`        | string          | New source type (`formFieldValue`, `systemVariable`). |
| `form_field_id`      | integer         | New target field ID.                                  |
| `config`             | object          | Updated source configuration.                         |
| `source_entity_type` | string \| null  | New source entity type.                               |
| `source_entity_id`   | integer \| null | New source entity ID.                                 |
| `sort_number`        | integer         | New evaluation order.                                 |

**Example Request**

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('PUT', '/api/administration/tasks-2/templates/fields/default-value-sources/52', [
    'headers' => ['Authorization' => "Bearer {accessToken}"],
    'json' => [
        'source_type' => 'formFieldValue',
        'source_entity_type' => 'formField',
        'source_entity_id' => 33
    ]
]);
```

**Example Response**

```json
{
  "status": "success",
  "data": {
    "id": 52,
    "form_field_id": 33,
    "source_type": "formFieldValue",
    "config": {},
    "source_entity_type": "formField",
    "source_entity_id": 33,
    "sort_number": 1
  }
}
```

## \[Adm.] Delete

**Definition**

<mark style="color:red;">`DELETE`</mark> `/api/administration/tasks-2/templates/fields/default-value-sources/{defaultValueSource}`

**Request Keys**

No additional request keys.

**Example Request**

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('DELETE', '/api/administration/tasks-2/templates/fields/default-value-sources/52', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
```

**Example Response**

```json
{
  "status": "success",
  "data": null
}
```

## Runtime default values for task executions

Resolved default values for a specific execution are returned by:

**Definition**

<mark style="color:green;">`GET`</mark> `/api/tasks-2/executions/{taskExecution}/default-values`

**Request Keys**

| Key             | Type    | Default | Description       |
| --------------- | ------- | ------- | ----------------- |
| `taskExecution` | integer | -       | Task execution ID |

**Example Request**

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

**Example Response**

```json
{
  "33": {
    "value": "2"
  }
}
```
