# Record Schema

## `TRACE Authentication`

This event is emitted upon mint or creator token transfer and indicates the on-chain authentication to TRACE chips. This is typically auto-emitted by the TRACE contract

```markdown
{
  "trace": {
    "type": "trace_authentication"
  }
}
```

## `Creation`

This event SHOULD only be emitted once and indicates when the physical piece was created. Allows for backdating.

```markdown
{
  "trace": {
    "type": "creation",
    "timestamp": int
  }
}
```

## `Freeform`

Freeform data, typically restricted to the creator.

```markdown
{
  "trace": {
    "type": "freeform"
  }
}
<FREEFORM MARKDOWN DATA>
```

## `Media`

Media to meant to be displayed in a carousel

```markdown
{
  "trace": {
    "type": "media",
    "mime_type": "str",
    "uri": "str"
  }
}
```

## `Sale`

An event indicating a sale

```markdown
{
  "trace": {
    "type": "sale",
    "sold_from": "str",
    "sold_to": "str",
    "sale_type": "str",
    "sold_at": "str",
    "value": "str",
    "timestamp": int,
    "uri": "str"
  }
}
```

## `Trade`

An event indicating a trade

```markdown
{
  "trace": {
    "type": "trade",
    "traded_from": "str",
    "traded_to": "str",
    "timestamp": int
  }
}
```

## Transfer

An event indidicating a generic transfer

```
{
  "trace": {
    "type": "transfer",
    "transfer_from": "str",
    "transfer_to": "str",
    "timestamp": int
  }
}
```

## `Exhibition`

An event indicating an exhibition

```markdown
{
  "trace": {
    "type": "exhibition",
    "timestamp": int,
    "end_timestamp": int,
    "exhibitor": "str",
    "location": "str",
    "uri": "str"
  }
}
```

## `Alteration`

An event indicating an alteration took place

```markdown
{
  "trace": {
    "type": "alteration",
    "timestamp": int
  }
}
<Freeform markdown summarizing alteration>
```

## `LEGAL`

An event indicating that legal copy was attached

```markdown
{
  "trace": {
    "type": "legal"
  }
}
<Freeform markdown for legal purposes>
```

## `Appraisal`

An event indicating that an appraisal took place

```markdown
{
  "trace": {
    "type": "appraisal",
    "appraiser": "str",
    "value": "str",
    "timestamp": int
  }
}
<Freeform markdown for appraisal, which can include links>
```

## `Third Party Authentication`

An event indicating that a 3rd party authenticated the physical asset/artwork

```markdown
{
  "trace": {
    "type": "third_party_authentication",
    "timestamp": int
  }
}
<Freeform markdown describing authentication, which can be used for history of a piece and more>
```


---

# 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://docs.transientlabs.xyz/trace/record-schema.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.
