---
title: "SourceField"
description: "a field of a source object"
section: concepts
address: /concepts/sourcefield
contract: 0476e35e6e275db5
---

# SourceField

a field of a source object

[figure: SourceField is a value at none scope. The drawing shows its fields and the objects that they point at.]

| property | value |
|---|---|
| kind | value |
| scope | none |
| key | none |
| store | none |
| family | sources |



## Fields


| field | type | required | note |
|---|---|---|---|
| `name` | `text` | yes |  |
| `type` | `one of text \| count \| number \| money \| share \| chance \| time \| date \| duration \| bool \| hash \| id \| json \| address \| bytes \| free-form` | yes | one of the register's primitives, or free-form for what lands in the payload |
| `required` | `bool` | yes |  |
| `code_system` | `text` | no | the registered code system a coded field's value belongs to, so a mapping resolves it to a code |
| `declared` | `text` | no | the source's own description of the field, in its words, when it has one |
| `path` | `text` | no | where in the artefact's record the field is read when it is not a key of the record: a key, a.b for a nested field, list[key=value].field for an item of a list of named pairs, or literal:<value> for a value the object declares itself |



## Routes that use it
No route takes or returns SourceField directly. The record holds it, and the objects that point at it reach it.
