# Field definition format

Each [record](datasource-records.md) field that a [DataSource application](index.md) can process is uniquely identified by a numeric id, but it’s also normally given a name. The field names and ids are defined in `add-field` configuration items.

**📌 NOTE**\
In a Caplin Platform blade, the field definitions are kept in a configuration file called _fields.conf_ located in the _blade_config_ directory of the blade.

## add-field

Field definitions look like this:

```
add-field Desc       10001
add-field Amt        10002 
add-field Bid        10003
add-field Ask        10004
add-field PriceTime  10005
```

Looking at the first line of this example:

* `add-field` is the configuration item that defines a field.
* `Desc` is the name of the field (this is how the field is identified in client applications to which data is sent from [Liberator](../liberator/index.md) via [StreamLink](../streamlink/index.md)).
* `10001` is the field number (id) that is used to identify the field within DataSource messages passed between DataSource applications.

**Syntax:** `add-field <FieldName> <FieldNumber>`

| Parameter | Type | default | Description |
| --- | --- | --- | --- |
| `FieldName` | string | +[none]+ | The name of the field. Within a particular Caplin Platform installation, each field name must be unique. You can configure multiple ``FieldNumber``s to have the same `FieldName` if necessary, but not vice versa. |
| `FieldNumber` | integer | +[none]+ | The number (id) of the field, between `-65535` and `65535` inclusive. Each field number is unique within a Caplin Platform installation. By convention, you should use positive field numbers; negative ones are reserved for use by Caplin Systems Ltd. |

---

**See also:**

* [Field definitions concepts](datasource-field-definitions.md)
* [Records](datasource-records.md)
* [DataSource For C Configuration Syntax Reference](datasource-configuration-syntax.md)
