# IDs

## Source Connector

### Content ID

ID for a content that is **unique** and **does not change** when the content is updated.&#x20;

### Version ID

An ID that **changes when the content updates**. Or if the system does not create that type of ID, this should match the content id.&#x20;

### Immutable ID

Hash of a system id (inode, content id, etc.) and modification date for a content. It is an id that captures a point in time.&#x20;

## Content Diffuser

### Content Hash

Equal to the [**Local ID**](#local-id)

### Version Hash

Equal to the [**Immutable ID**](#immutable-id).&#x20;

### Local ID

A hash of the endpoint ID + all version hashes.&#x20;

## Motation

### Motation ID

Motation ID for a Content Motation object matches [Local ID](https://app.gitbook.com/o/-MVpwTaDdujLKEm8rmOA/s/-MW_6b8AnMjM58FWM_iK/~/changes/cDQahIthzKonBBqcPs81/connectors/ids#local-id) from Content Diffuser. Motation Objects related to Content Motation will have the Local ID + Motation Object type.&#x20;

The Motation ID is used for retrieving Motation objects from diesel.

### Impulse ID

Impulse IDs are used for individual IDs in a Motation file. They are a segmented and hashed ID.&#x20;

example:&#x20;

```
9a0364b9e99bb480dd25e1f0284c8555.8af9d1b0bd2cf6b81743e2d9081d2901
```

The left of the `.` is a hash of the location of the id. Such as "Content" or "Relationship". There is an enum in the impulse-id go module which is a list of all possible locations.&#x20;

The right of the `.` is a hash of the endpoint ID + the ID in the raw data from the system.&#x20;

## Destination Connector

### Content ID

ID for a content that is **unique** and **does not change** when the content is updated.&#x20;

### Field ID

An ID for a field that is unique within the definition.&#x20;
