# Version 2.1

## Attributes

<mark style="color:red;">`*`</mark> is required.

<table><thead><tr><th width="255">Attribute</th><th width="464">Description</th><th width="204">data format</th><th width="374">Example</th></tr></thead><tbody><tr><td>$schema<mark style="color:red;">*</mark></td><td>URL to the schema json the given metadata follows. Fixed value for Metadata Version 2.1 in example value.</td><td>URL</td><td><a href="https://api.startrail.io/api/v1/schema/registry-record-metadata.v2.1.schema.json">https://api.startrail.io/api/v1/schema/registry-record-metadata.v2.1.schema.json</a></td></tr><tr><td>$schemaIntegrity<mark style="color:red;">*</mark></td><td>sha256 Hash of the normalized metadata schema. Fixed value for Metadata Version 2.1 in example value.</td><td>SHA Hash Hex String</td><td>sha256-15f8e99eb9d4292287282942db2f2de9bbcc4761c555c6f7da23feec010c1221</td></tr><tr><td>chipUIDs</td><td>Array containing the list of the Chip UIDs of a physical artwork</td><td>Array of Strings</td><td>["1234567890abcdef"]</td></tr><tr><td>startbahnCertICTagUIDs</td><td>Define it as same as chipUIDs. Deprecated.</td><td>Array of Strings</td><td>["1234567890abcdef"]</td></tr><tr><td>title<mark style="color:red;">*</mark></td><td>Flexible language description object for title of the work.</td><td>Language Object (see at the bottom of the table)</td><td><p>{</p><p>"en": "A title",</p><p>"ja": "タイトル",</p><p>"zh": "一个标题"</p><p>}</p></td></tr><tr><td>size</td><td>Object describing the size</td><td>object</td><td><p>{ "width": 200.0,</p><p>"height": 400.0,</p><p>"depth": 12.4,</p><p>"unit": "pixel",</p><p>"flexibleDescription":</p><p>{</p><p>"en": "flexibleDescription comes here",</p><p>"ja": "自由だーーー"</p><p>}</p><p>}</p></td></tr><tr><td>size.height</td><td>height dimension number.</td><td>number</td><td>10.5</td></tr><tr><td>size.width</td><td>width dimension number.</td><td>number</td><td>10.5</td></tr><tr><td>size.depth</td><td>depth dimension number.</td><td>number</td><td>10.5</td></tr><tr><td>size.unit</td><td>string specifying the unit of the dimensional numbers.</td><td>enumerated String with one of the following values. ["mm","cm","m","in","ft","pixel"]</td><td>mm</td></tr><tr><td>size.flexibleDescription</td><td>Alternative way to describe the size of the artwork, if the others dont apply.</td><td>Language Object (see at the bottom of the table)</td><td><p>{</p><p>"en": "flexibleDescription comes here",</p><p>"ja": "自由だーーー"</p><p>}</p></td></tr><tr><td>medium<mark style="color:red;">*</mark></td><td>Flexible language description object for the medium.</td><td>Language Object (see at the bottom of the table)</td><td><p>{</p><p>"en": "Oil on canvas",</p><p>"ja": "キャンバスに油彩",</p><p>"zh": "布面油画"</p><p>}</p></td></tr><tr><td>edition</td><td>Edition details</td><td>object</td><td><p>{</p><p>"uniqueness": "unique work",</p><p>"proofType": "ED",</p><p>"number": 1,</p><p>"totalNumber": 3,</p><p>"note": { "en": "some extra notes " }</p><p>}</p></td></tr><tr><td>edition.note</td><td>Note to add details to the Edition information</td><td>Language Object (see at the bottom of the table)</td><td><p>{</p><p>"en": "note comes here",</p><p>"ja": "自由だーーー"</p><p>}</p></td></tr><tr><td>edition.uniqueness</td><td>Uniqueness of artwork</td><td>enumerated String with one of the following values ["unique work", "non unique work", "unknown"]</td><td>unique work</td></tr><tr><td>edition.proofType</td><td><p>Proof type of edition: -ED Edition<br>-AP Artist Proof<br>-TP Trial Proof<br>-SP Special Proof<br>-HC Hors de Commerce<br>-Open Edition</p><p><br>Need to add it when the artwork is edition work.</p></td><td>enumerated String with one of the following values ["ED","AP","TP","SP","HC", "Open Edition"]</td><td>ED</td></tr><tr><td>edition.number</td><td>Edition number (out of total editions)</td><td>number (integer)</td><td>1</td></tr><tr><td>edition.totalNumber</td><td>Total number of editions</td><td>number (integer)</td><td>3</td></tr><tr><td>contractTerms</td><td>Object with contract details</td><td>Object</td><td><p>{</p><p>"royaltyRate": 15.7,</p><p>"fileURL": "https://startrail.io/whitepaper/startrail_wp_en_v1.1.pdf"</p><p>}</p></td></tr><tr><td>contractTerms.royaltyRate</td><td>Royalty rate percentage.</td><td>number (integer)</td><td>15.7</td></tr><tr><td>contractTerms.fileURL</td><td>URL where the contract terms file is stored</td><td>URL</td><td>https://startrail.io/whitepaper/startrail_wp_en_v1.1.pdf</td></tr><tr><td>thumbnailURL<mark style="color:red;">*</mark></td><td>URL where the artwork thumbnail is stored</td><td>URL</td><td><a href="https://storage.googleapis.com/opensea-prod.appspot.com/puffs/3.png">https://storage.googleapis.com/opensea-prod.appspot.com/puffs/3.png</a></td></tr><tr><td>isDigital</td><td>boolean indicator to specify that the work is a digital artwork.</td><td>boolean</td><td>true</td></tr><tr><td>digitalDataHash</td><td><mark style="color:red;">DEPRECATED</mark></td><td>-</td><td>-</td></tr><tr><td>digitalComponents</td><td><p><strong>ISSUE API USER should leave it UNDEFINED.</strong><br></p><p>Array of Digital file objects to specify digital components</p></td><td>Array of Digital File Objects (see at the bottom of the table)</td><td><p>[{</p><p>"hash": "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5",</p><p>"category": "artwork"</p><p>}]</p></td></tr><tr><td>attachmentFiles</td><td><p><strong>ISSUE API USER should leave it UNDEFINED.</strong><br></p><p>Array of Digital file objects to specify attachment files.</p></td><td>Array of Digital File Objects (see at the bottom of the table)</td><td>[{ "hash": "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5", "category": "certificate" }]</td></tr><tr><td>name<mark style="color:red;">*</mark></td><td><p>name for external Marketplaces such as Opensea.<br></p><p>OpenSea will show text that filled here regardless of the language.<br><br>If <code>name</code> is not defined by client, it will be auto-filled with thumbnailURL value.</p></td><td>string</td><td>An example of title</td></tr><tr><td>description</td><td><p>Description for external Marketplaces such as Opensea<br></p><p>Please refer to explanation for name field<br></p><p>If description is not designated, it will be auto-filled with size, medium, edition, contractTerms.fileURL.</p></td><td>string</td><td>Description of example NFT</td></tr><tr><td>image<mark style="color:red;">*</mark></td><td><p>Image URL for external Marketplaces such as Opensea.<br></p><p>If <code>image</code> is not defined by client, it will be auto-filled with thumbnailURL value.</p></td><td>URL</td><td><a href="https://storage.googleapis.com/opensea-prod.appspot.com/puffs/3.png">https://storage.googleapis.com/opensea-prod.appspot.com/puffs/3.png</a></td></tr><tr><td>external_url</td><td><p>External reference URL used for OpenSea.</p><p>if metadata.external_url is designated, it can have different URL from payload.externalUrls . if metadata.external_url is NOT designated, it will have the first URL from payload.externalUrls .</p></td><td>URL</td><td><a href="https://openseacreatures.io/3">https://openseacreatures.io/3</a></td></tr><tr><td>yearOfCreation<mark style="color:red;">*</mark></td><td>Flexible language description object for the year of the creation</td><td>Language Object (see at the bottom of the table)</td><td><p>{</p><p>"en": "around 2010-2020",</p><p>"ja": "2010年から2020年頃"</p><p>}</p></td></tr></tbody></table>

### Object

<table><thead><tr><th width="255">Attribute</th><th width="464">Description</th><th width="204">data format</th><th width="374">Example</th></tr></thead><tbody><tr><td>&#x3C;Language Object></td><td>An object specifying multiple supported languages. The property names are two letter letter language codes from BCP-47, such as en or ja.</td><td>Each property name: 2 char string from BCP-47, value: string</td><td><p>{</p><p>"en": "A title",</p><p>"ja": "タイトル",</p><p>"zh": "一个标题"</p><p>}</p></td></tr><tr><td>&#x3C;Digital File Object></td><td>An object providing details of digital files.</td><td>Object</td><td>{ "hash": "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5", "category": "artwork", "URL":"https://some.url.com/file", "name":"filename.jpg" }</td></tr><tr><td>&#x3C;Digital File Object>.hash</td><td><p>ISSUE API USER should leave it UNDEFINED</p><p>sha256 Hash Hex String of the file.</p></td><td>sha256 Hash Hex String</td><td>sha256-f63238ce3b8c4f8a99fb453d716d5451f75508c2e403a58af0412014187e7a61</td></tr><tr><td>&#x3C;Digital File Object>.category</td><td>String describing the category of the file.</td><td>String to describe the category. Supported values in Startrail PORT: ”certificate”, “for_authenticity”,”artwork”,”installation”</td><td>artwork</td></tr><tr><td>&#x3C;Digital File Object>.URL</td><td>url where the file can be accessed</td><td>URL</td><td></td></tr><tr><td>&#x3C;Digital File Object>.name</td><td>name of the file</td><td>string</td><td></td></tr></tbody></table>

### Changes From the Previous Version

1. Deprecate `startbahnCertICTagUIDs` . This field should be defined as same as `chipUIDs`.
2. Change of `$schema`
3. Change of `$schemaIntegrity`

## Complete Example

```json
{
  "$schema": "https://api.startrail.io/api/v1/schema/registry-record-metadata.v2.1.schema.json",
  "$schemaIntegrity": "sha256-15f8e99eb9d4292287282942db2f2de9bbcc4761c555c6f7da23feec010c1221",
  "startbahnCertICTagUIDs": [
    "1234567890abcdef"
  ],
  "chipUIDs": [
    "1234567890abcdef"
  ],
  "title": {
    "en": "A title",
    "ja": "タイトル",
    "zh": "一个标题"
  },
  "size": {
    "width": 200.0,
    "height": 400.0,
    "depth": 12.4,
    "unit": "pixel",
    "flexibleDescription": {
      "en": "flexibleDescription comes here",
      "ja": "自由だーーー"
    }
  },
  "medium": {
    "en": "Oil on canvas",
    "ja": "キャンバスに油彩",
    "zh": "布面油画"
  },
  "edition": {
    "uniqueness": "unique work",
    "proofType": "ED",
    "number": 1,
    "totalNumber": 3,
    "note": {
      "en": "some extra notes in 1 or more languages"
    }
  },
  "contractTerms": {
    "royaltyRate": 15.7,
    "fileURL": "https://startrail.io/whitepaper/startrail_wp_en_v1.1.pdf"
  },
  "note": {
    "en": "note",
    "zh": "注意"
  },
  "thumbnailURL": "https://storage.googleapis.com/opensea-prod.appspot.com/puffs/3.png",
  "yearOfCreation": {
    "en": "around 2010-2020",
    "ja": "2010年から2020年頃"
  },
  "isDigital": true,
  "digitalDataHash": "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5",
  "digitalComponents": [{
    "hash": "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5",
    "category": "artwork"
  }],
  "attachmentFiles": [{
    "hash": "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5",
    "category": "artwork"
  }],
  "name": "some nft name",
  "description": "some nft description",
  "image": "https://storage.googleapis.com/opensea-prod.appspot.com/puffs/3.png",
  "external_url": "https://openseacreatures.io/3"
}
```


---

# 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.startrail.io/metadata-schema/startrail-registry-srr/version-2.1.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.
