# 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;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://motivlabs.gitbook.io/impulse-dev-manual/motation/domain-motation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
