> For the complete documentation index, see [llms.txt](https://motivlabs.gitbook.io/impulse-dev-manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://motivlabs.gitbook.io/impulse-dev-manual/motation/domain-motation.md).

# Domain Motation

## What is Domain Motation?

The domain Motation object is a dependency of a content Motation. It defines any domains related to a content Motation.

## Structure

Below is the structure of the domain Motation object and what each attribute is for. Every source connector that supports domain Motation objects must create a domain Motation with the required fields. And every destination connector supports domain Motation objects must support a domain Motation with only the required fields.&#x20;

* systems (\*array | required) The system that the Motation came from.
  * name (\*string | required) Name of the system.
  * date (\*string | required) Date the Motation was built from the system.
  * version (\*string | optional) Version of the system.
* domains (\*array | required) List of domains associated with a content Motation.&#x20;
  * id (\*object | required) ID of the domain.&#x20;
    * value (\*string | required) Single ID of the domain. Always an Impulse ID.&#x20;
    * label (\*string | optional) Label of the ID.&#x20;
  * name (\*string | required) Name of the domain.&#x20;
  * URI (\*string | required) URI of the domain.&#x20;
  * active (\*boolean | optional) Whether the domain is active or not.&#x20;
  * description (\*string | optional) Description of the domain.&#x20;
  * systemDomain (\*bolean | optional) Whether the domain is the primary system domain.&#x20;
  * defaultDomain (\*boolean | optional) Whether the domain is the default domain.&#x20;
  * keywords (\*array string | optional) Keywords related to the domain.&#x20;
  * aliases (\*array string | optional) Aliases of the domain.&#x20;
  * system (\*object | optional) Key/Value repository specific values.&#x20;
* key (\*object | required) Used to create a unique ID based on a hash of values from fields.&#x20;
  * fields (\*array | required) The fields in the domain Motation to use to build the hash.&#x20;
    * name (\*string | required) Name of the field to use in the hash ID.&#x20;
    * id (\*object | required) ID of the field.
      * value (\*string | required) Single ID of the field.
      * label (\*string | optional) Label of the field.&#x20;
* audit (\*array | required)
  * date (\*string | required) Date the raw data was picked up.
  * user (\*object | optional) User that picked up the definition.&#x20;
    * id (\*object | required) ID of the user.
      * value (\*string | required) Single ID value for the user. Always Impulse ID.&#x20;
      * label (\*string | optional) Label for the ID.&#x20;
    * name (\*string | optional) Name associated with the user.&#x20;
    * email (\*string | optional) Email associated with the user.&#x20;
    * username (\*string | optional) Username associated with the user.&#x20;
