# Objects

## 1. Complete Data Set

This is the structure of the complete data set holding your API key and a database of all content entries associated with your API key.

This data set is retrieved by making the [`/query`](/api/queries.md#get-entries) API call.

{% tabs %}
{% tab title="Object" %}

```
{
  "apiKey": "API_KEY",    // Your API Key
  "db": {                 // A collection of all content entries                
    ...
  }
}
```

{% endtab %}

{% tab title="Example" %}

```
{
  "apiKey": "API_KEY",
  "db": {
    "edc343c7-37d3-4132-9cd7-52c4902b24c7": {
      "id": "edc343c7-37d3-4132-9cd7-52c4902b24c7",
      "target": {
        "id": "0c63d1f8-8038-478b-8b60-df6cedeff5cb",
        "type": "BRICK_TARGET",
        "holograms": [
          "0839a395-4a48-47d1-b819-a923184a7314"
        ]
      },
      "hologram": {
        "filename": "Skyscraper.obj",
        "storageID": "d686a655-e800-430d-bfd2-e38cdfb0c9e9",
        "textureFilenames": [
          "Skyscraper_BaseColor.png"
        ],
        "textureStorageIDs": [
          "f9b43711-cf79-44e5-90c5-ac781c8d9288"
        ],
        "materialFilename": "Skyscraper.mtl",
        "materialStorageID": "891d0b32-4f4b-4f7d-a2e2-d5922611928d",
        "id": "0839a395-4a48-47d1-b819-a923184a7314",
        "type": "MODEL_HOLOGRAM",
        "targetID": "0c63d1f8-8038-478b-8b60-df6cedeff5cb"
      },
      "sdks": [
        true,
        true,
        false,
        true,
        false,
        false,
        false,
        true,
        true
      ],
      "additionalData": {
        "qrWebXRStorageID": "5ead9dc6-0b11-4133-b342-d43ac95d1116",
        "qrARjsStorageFilename": "qr_arjs_blue-water-4646.png",
        "qrARjsTargetStorageFilename": "qr_arjs_blue-water-4646.patt",
        "vuforiaHologramStorageID": "7068cd74-6c9f-4106-9326-585c56fa4475",
        "glbHologramStorageID": "d686a655-e800-430d-bfd2-e38cdfb0c9e9.glb",
        "qrARjsMarkerStorageFilename": "marker_qr_arjs_blue-water-4646.png",
        "source": "Skyscraper by Poly by Google, CC-BY, https://poly.google.com/view/dIsZyy2FUY-",
        "qrARjsTargetStorageID": "e85b7db2-42a9-4f76-aacc-8f7be4a5e05f",
        "usdzHologramStorageID": "d686a655-e800-430d-bfd2-e38cdfb0c9e9.usdz",
        "qrARjsStorageID": "f78b7b84-979d-4dfc-b478-e369b560a623",
        "accessHistory": "[\"1587253959697\",\"1587254928553\",\"1587254944219\",\"1587254945465\"]",
        "createdAt": "1587253959697",
        "qrWebXRStorageFilename": "qr_webxr_blue-water-4646.png",
        "usdzHologramStorageFilename": "Skyscraper.usdz",
        "vuforiaHologramStorageFilename": "Skyscraper.h",
        "lastAccessed": "1587254945465",
        "qrARjsMarkerStorageID": "343df194-e7ae-4c34-adbf-5718542aca37",
        "glbHologramStorageFilename": "Skyscraper.glb"
      }
    }
  }
}
```

{% endtab %}
{% endtabs %}

## 2. Entries Database

This is the structure of the collection of all content entries associated with your API key.

This database is retrieved by making the [`/query`](/api/queries.md#get-entries) API call and referring to its `db` component.

{% tabs %}
{% tab title="Object" %}

```
"db": {                 // A collection of all content entries                
    "ENTRY_ID_1": {       // First content entry
      ...
    }
    "ENTRY_ID_2": {       // Second content entry
      ...
    }
    ...                   // Additonal content entries
  }
```

{% endtab %}

{% tab title="Example" %}

```
"db": {
    "edc343c7-37d3-4132-9cd7-52c4902b24c7": {
      "id": "edc343c7-37d3-4132-9cd7-52c4902b24c7",
      "target": {
        "id": "0c63d1f8-8038-478b-8b60-df6cedeff5cb",
        "type": "BRICK_TARGET",
        "holograms": [
          "0839a395-4a48-47d1-b819-a923184a7314"
        ]
      },
      "hologram": {
        "filename": "Skyscraper.obj",
        "storageID": "d686a655-e800-430d-bfd2-e38cdfb0c9e9",
        "textureFilenames": [
          "Skyscraper_BaseColor.png"
        ],
        "textureStorageIDs": [
          "f9b43711-cf79-44e5-90c5-ac781c8d9288"
        ],
        "materialFilename": "Skyscraper.mtl",
        "materialStorageID": "891d0b32-4f4b-4f7d-a2e2-d5922611928d",
        "id": "0839a395-4a48-47d1-b819-a923184a7314",
        "type": "MODEL_HOLOGRAM",
        "targetID": "0c63d1f8-8038-478b-8b60-df6cedeff5cb"
      },
      "sdks": [
        true,
        true,
        false,
        true,
        false,
        false,
        false,
        true,
        true
      ],
      "additionalData": {
        "qrWebXRStorageID": "5ead9dc6-0b11-4133-b342-d43ac95d1116",
        "qrARjsStorageFilename": "qr_arjs_blue-water-4646.png",
        "qrARjsTargetStorageFilename": "qr_arjs_blue-water-4646.patt",
        "vuforiaHologramStorageID": "7068cd74-6c9f-4106-9326-585c56fa4475",
        "glbHologramStorageID": "d686a655-e800-430d-bfd2-e38cdfb0c9e9.glb",
        "qrARjsMarkerStorageFilename": "marker_qr_arjs_blue-water-4646.png",
        "source": "Skyscraper by Poly by Google, CC-BY, https://poly.google.com/view/dIsZyy2FUY-",
        "qrARjsTargetStorageID": "e85b7db2-42a9-4f76-aacc-8f7be4a5e05f",
        "usdzHologramStorageID": "d686a655-e800-430d-bfd2-e38cdfb0c9e9.usdz",
        "qrARjsStorageID": "f78b7b84-979d-4dfc-b478-e369b560a623",
        "accessHistory": "[\"1587253959697\",\"1587254928553\",\"1587254944219\",\"1587254945465\",\"1587254963484\"]",
        "createdAt": "1587253959697",
        "qrWebXRStorageFilename": "qr_webxr_blue-water-4646.png",
        "usdzHologramStorageFilename": "Skyscraper.usdz",
        "vuforiaHologramStorageFilename": "Skyscraper.h",
        "lastAccessed": "1587254963484",
        "qrARjsMarkerStorageID": "343df194-e7ae-4c34-adbf-5718542aca37",
        "glbHologramStorageFilename": "Skyscraper.glb"
      }
    }
  }
```

{% endtab %}
{% endtabs %}

## 3. Content Entries

This is the structure of a single content entry in the database associated with your API key.

This content entry is retrieved by making the [`/query`](/api/queries.md#get-entries) API call and referring to the`db['ENTRY_ID']` component.

{% tabs %}
{% tab title="Object" %}

```
"ENTRY_ID": {             // First content entry
      "id": "ENTRY_ID",     // Content entry ID
      "hologram": {         // The hologram
        ...
      },
      "target": {           // The target
        ...
      },
      "additionalData": {   // The metadata sscocaite with this entry
        ...
      },
      "sdks": [             // A list of SDK supporting this content
        ...
      ]
    }
```

{% endtab %}

{% tab title="Example" %}

```
"edc343c7-37d3-4132-9cd7-52c4902b24c7": {
      "id": "edc343c7-37d3-4132-9cd7-52c4902b24c7",
      "target": {
        "id": "0c63d1f8-8038-478b-8b60-df6cedeff5cb",
        "type": "BRICK_TARGET",
        "holograms": [
          "0839a395-4a48-47d1-b819-a923184a7314"
        ]
      },
      "hologram": {
        "filename": "Skyscraper.obj",
        "storageID": "d686a655-e800-430d-bfd2-e38cdfb0c9e9",
        "textureFilenames": [
          "Skyscraper_BaseColor.png"
        ],
        "textureStorageIDs": [
          "f9b43711-cf79-44e5-90c5-ac781c8d9288"
        ],
        "materialFilename": "Skyscraper.mtl",
        "materialStorageID": "891d0b32-4f4b-4f7d-a2e2-d5922611928d",
        "id": "0839a395-4a48-47d1-b819-a923184a7314",
        "type": "MODEL_HOLOGRAM",
        "targetID": "0c63d1f8-8038-478b-8b60-df6cedeff5cb"
      },
      "additionalData": {
        "qrWebXRStorageID": "5ead9dc6-0b11-4133-b342-d43ac95d1116",
        "qrARjsStorageFilename": "qr_arjs_blue-water-4646.png",
        "qrARjsTargetStorageFilename": "qr_arjs_blue-water-4646.patt",
        "vuforiaHologramStorageID": "7068cd74-6c9f-4106-9326-585c56fa4475",
        "glbHologramStorageID": "d686a655-e800-430d-bfd2-e38cdfb0c9e9.glb",
        "qrARjsMarkerStorageFilename": "marker_qr_arjs_blue-water-4646.png",
        "source": "Skyscraper by Poly by Google, CC-BY, https://poly.google.com/view/dIsZyy2FUY-",
        "qrARjsTargetStorageID": "e85b7db2-42a9-4f76-aacc-8f7be4a5e05f",
        "usdzHologramStorageID": "d686a655-e800-430d-bfd2-e38cdfb0c9e9.usdz",
        "qrARjsStorageID": "f78b7b84-979d-4dfc-b478-e369b560a623",
        "accessHistory": "[\"1587253959697\",\"1587254928553\",\"1587254944219\",\"1587254945465\",\"1587254963484\",\"1587255480604\",\"1587255693450\"]",
        "createdAt": "1587253959697",
        "qrWebXRStorageFilename": "qr_webxr_blue-water-4646.png",
        "usdzHologramStorageFilename": "Skyscraper.usdz",
        "vuforiaHologramStorageFilename": "Skyscraper.h",
        "lastAccessed": "1587255693450",
        "qrARjsMarkerStorageID": "343df194-e7ae-4c34-adbf-5718542aca37",
        "glbHologramStorageFilename": "Skyscraper.glb"
      },
      "sdks": [
        true,
        true,
        false,
        true,
        false,
        false,
        false,
        true,
        true
      ]
    }
```

{% endtab %}
{% endtabs %}

## 4. Assets

This is the structure of a single asset inside a single content entry in the database based on type.

This asset is retrieved by making the [`/query`](/api/queries.md#get-entries) API call and referring to the`db['ENTRY_ID']['hologram']` component.

### Any Type of Asset

This is data available for any asset of any type.

{% tabs %}
{% tab title="Object" %}

```
"hologram": {
  "id": "HOLOGRAM_ID",          // Hologram ID
  "type": "HOLOGRAM_TYPE",      // Hologram type, e.g. MODEL_HOLOGRAM, VIDEO_HOLOGRAM, or IMAGE_HOLOGRAM
  "targetID": "TARGET_ID",      // The ID of the associated target
  "filename": "FILENAME",       // The filename of the hologram
  "storageID": "STORAGE_ID"     // The storage ID of the hologram file
},
```

{% endtab %}

{% tab title="Example" %}

```
"hologram": {
  "id": "9d45a992-4f27-4559-9eef-6cec05f79ce7",
  "type": "VIDEO_HOLOGRAM",
  "targetID": "7daa5469-2ac7-40f6-8823-814ac2e596f8",
  "filename": "big_buck_bunny.mp4",
  "storageID": "fa67df18-2a60-4bb6-a7b6-3d5d6a80c6d8"
},
```

{% endtab %}
{% endtabs %}

### Model Assets

This is data available for model assets.

{% tabs %}
{% tab title="Object" %}

```
"hologram": {
        "id": "HOLOGRAM_ID",                      // Hologram ID
        "type": "MODEL_HOLOGRAM",                 // Hologram type
        "targetID": "TARGET_ID",                  // The ID of the associated target
        "filename": "FILENAME",                   // The filename of the hologram
        "storageID": "STORAGE_ID",                // The storage ID of the hologram file
        "textureFilenames": [                     // A collection of the filenames of the hologram's texture files
          "TEXTURE_FILENAME_1",                      // The filename of the first texture file
          "TEXTURE_FILENAME_2",                      // The filename of the second texture file
          ...                                        // Additional texture files
        ],
        "textureStorageIDs": [                     // A collection of the storage IDs of the hologram's texture files
          "TEXTURE_STORAGE_ID_1",                    // The storage ID of the first texture file
          "TEXTURE_STORAGE_ID_2",                    // The storage ID of the second texture file
          ...                                        // Additional texture files
        ],
        "materialFilename": "MATERIAL_FILENAME",   // The filename of the hologram's material file
        "materialStorageID": "MATERIAL STORAGE_ID" // The storage ID of the hologram's material file
      },
```

{% endtab %}

{% tab title="Example" %}

```
"hologram": {
        "id": "0839a395-4a48-47d1-b819-a923184a7314",
        "type": "MODEL_HOLOGRAM",
        "targetID": "0c63d1f8-8038-478b-8b60-df6cedeff5cb",
        "filename": "Skyscraper.obj",
        "storageID": "d686a655-e800-430d-bfd2-e38cdfb0c9e9",
        "textureFilenames": [
          "Skyscraper_BaseColor.png"
        ],
        "textureStorageIDs": [
          "f9b43711-cf79-44e5-90c5-ac781c8d9288"
        ],
        "materialFilename": "Skyscraper.mtl",
        "materialStorageID": "891d0b32-4f4b-4f7d-a2e2-d5922611928d"
      },
```

{% endtab %}
{% endtabs %}

### Video Assets

&#x20;This is data available for video assets.

{% tabs %}
{% tab title="Object" %}

```
"hologram": {
  "id": "HOLOGRAM_ID",          // Hologram ID
  "type": "VIDEO_HOLOGRAM",      // Hologram type
  "targetID": "TARGET_ID",      // The ID of the associated target
  "filename": "FILENAME",       // The filename of the hologram
  "storageID": "STORAGE_ID"     // The storage ID of the hologram file
},
```

{% endtab %}

{% tab title="Example" %}

```
"hologram": {
  "id": "9d45a992-4f27-4559-9eef-6cec05f79ce7",
  "type": "VIDEO_HOLOGRAM",
  "targetID": "7daa5469-2ac7-40f6-8823-814ac2e596f8",
  "filename": "big_buck_bunny.mp4",
  "storageID": "fa67df18-2a60-4bb6-a7b6-3d5d6a80c6d8"
},
```

{% endtab %}
{% endtabs %}

### Image Assets

This is data available for image assets.

{% tabs %}
{% tab title="Object" %}

```
"hologram": {
  "id": "HOLOGRAM_ID",          // Hologram ID
  "type": "VIDEO_HOLOGRAM",     // Hologram type; same as for video holograms
  "targetID": "TARGET_ID",      // The ID of the associated target
  "filename": "FILENAME",       // The filename of the hologram
  "storageID": "STORAGE_ID"     // The storage ID of the hologram file
},
```

{% endtab %}

{% tab title="Example" %}

```
"hologram": {
  "id": "9d45a992-4f27-4559-9eef-6cec05f79ce7",
  "type": "VIDEO_HOLOGRAM",
  "targetID": "7daa5469-2ac7-40f6-8823-814ac2e596f8",
  "filename": "air.png",
  "storageID": "fa67df18-2a60-4bb6-a7b6-3d5d6a80c6d8"
},
```

{% endtab %}
{% endtabs %}

## 5. Targets

This is the structure of a single target inside a single content entry in the database based on type.

This target is retrieved by making the [`/query`](/api/queries.md#get-entries) API call and referring to the`db['ENTRY_ID']['target']` component.

### Any Type of Target

This is data available for any target of any type.

{% tabs %}
{% tab title="Object" %}

```
"target": {
  "id": "TARGET_ID",           // Target ID
  "type": "TARGET_TYPE",       // Target type, e.g. BRICK_TARGET, GEOLOCATION_TARGET, or IMAGE_TARGET
  "holograms": [               // A collection of IDs of holograms associated with this target
    "HOLOGRAM_ID_1",             // The ID of the first holograms
    "HOLOGRAM_ID_2",             // The ID of the second holograms
    ...                          // Additional holograms
  ]
},
```

{% endtab %}

{% tab title="Example" %}

```
"target": {
  "id": "0c63d1f8-8038-478b-8b60-df6cedeff5cb",
  "type": "BRICK_TARGET",
  "holograms": [
    "0839a395-4a48-47d1-b819-a923184a7314"
  ]
},
```

{% endtab %}
{% endtabs %}

### Surface Targets

This is the data available for surface targets.

{% tabs %}
{% tab title="Object" %}

```
"target": {
  "id": "TARGET_ID",           // Target ID
  "type": "BRICK_TARGET",      // Target type
  "holograms": [               // A collection of IDs of holograms associated with this target
    "HOLOGRAM_ID_1",             // The ID of the first holograms
    "HOLOGRAM_ID_2",             // The ID of the second holograms
    ...                          // Additional holograms
  ]
},
```

{% endtab %}

{% tab title="Example" %}

```
"target": {
  "id": "0c63d1f8-8038-478b-8b60-df6cedeff5cb",
  "type": "BRICK_TARGET",
  "holograms": [
    "0839a395-4a48-47d1-b819-a923184a7314"
  ]
},
```

{% endtab %}
{% endtabs %}

### Location Targets

{% tabs %}
{% tab title="Object" %}

```
"target": {
  "id": "TARGET_ID",           // Target ID
  "type": "GEOLOCATION_TARGET",// Target type
  "holograms": [               // A collection of IDs of holograms associated with this target
    "HOLOGRAM_ID_1",             // The ID of the first holograms
    "HOLOGRAM_ID_2",             // The ID of the second holograms
    ...                          // Additional holograms
  ],
  "country": "COUNTRY",       // The location's country, e.g. US
  "city": "CITY",             // The location's country, e.g. New York
  "place": "NAME",            // The location's name, e.g Times Square 
  "latitude": ##.######,      // The location's latitude coordinate
  "longitude": ##.######      // The location's longitude coordinate
},
```

{% endtab %}

{% tab title="Example" %}

```
"target": {
  "id": "803d5d89-1615-455d-ad49-15c69bfc3f4f",
  "type": "GEOLOCATION_TARGET",
  "holograms": [
    "303ee6b8-f63a-4827-99d5-073dad8569f6"
  ],
  "country": "US",
  "city": "New York",
  "place": "Times Square",
  "latitude": 40.713055,
  "longitude": -74.007225
},

```

{% endtab %}
{% endtabs %}

### Image Targets

{% tabs %}
{% tab title="Object" %}

```
"target": {
  "id": "TARGET_ID",           // Target ID
  "type": "BRICK_TARGET",      // Target type
  "holograms": [               // A collection of IDs of holograms associated with this target
    "HOLOGRAM_ID_1",             // The ID of the first holograms
    "HOLOGRAM_ID_2",             // The ID of the second holograms
    ...                          // Additional holograms
  ]
  "filename": "FILENAME",      // The filename of the image file
  "storageID": "STORAGE_ID"    // The storage ID of the image file
},
```

{% endtab %}

{% tab title="Example" %}

```
"target": {
  "id": "935a9bb9-3cbd-4c42-a899-68dc41567e7a",
  "type": "IMAGE_TARGET",
  "holograms": [
    "b963bce7-41be-4d15-9713-2d63f1917132"
  ],
  "filename": "air.png",
  "storageID": "f41ab59d-f4df-422c-830a-63fe4e7107f0",
},
```

{% endtab %}
{% endtabs %}

## 6. Metadata

This is the structure of the metadata of a single content entry in the database.

This metadata is retrieved by making the [/get](/api/data.md#get-metadata-of-an-entry) API call.

Alternatively, this metadata is retrieved by making the [`/query`](/api/queries.md#get-entries) API call and referring to the`db['ENTRY_ID']['additionalData']` component.&#x20;

A specific value can be retrieved by referring to the`db['ENTRY_ID']['additionalData'][KEY]` or `db['ENTRY_ID']['additionalData'].KEY`.

{% tabs %}
{% tab title="Object" %}

```
"additionalData": {
        "KEY_1": "VALUE_1",    // The first metadata entry, i.e. pair of key and value
        "KEY_2": "VALUE_2",    // The second metadata entry, i.e. another pair of key and value
        ...                    // Additional metadata entries , i.e. more pairs of keys and values
      },
```

{% endtab %}

{% tab title="Example" %}

```
"additionalData": {
        "qrWebXRStorageID": "5ead9dc6-0b11-4133-b342-d43ac95d1116",
        "qrARjsStorageFilename": "qr_arjs_blue-water-4646.png",
        "qrARjsTargetStorageFilename": "qr_arjs_blue-water-4646.patt",
        "vuforiaHologramStorageID": "7068cd74-6c9f-4106-9326-585c56fa4475",
        "glbHologramStorageID": "d686a655-e800-430d-bfd2-e38cdfb0c9e9.glb",
        "qrARjsMarkerStorageFilename": "marker_qr_arjs_blue-water-4646.png",
        "source": "Skyscraper by Poly by Google, CC-BY, https://poly.google.com/view/dIsZyy2FUY-",
        "qrARjsTargetStorageID": "e85b7db2-42a9-4f76-aacc-8f7be4a5e05f",
        "usdzHologramStorageID": "d686a655-e800-430d-bfd2-e38cdfb0c9e9.usdz",
        "qrARjsStorageID": "f78b7b84-979d-4dfc-b478-e369b560a623",
        "accessHistory": "[\"1587253959697\",\"1587254928553\",\"1587254944219\",\"1587254945465\",\"1587254963484\",\"1587255480604\",\"1587255693450\"]",
        "createdAt": "1587253959697",
        "qrWebXRStorageFilename": "qr_webxr_blue-water-4646.png",
        "usdzHologramStorageFilename": "Skyscraper.usdz",
        "vuforiaHologramStorageFilename": "Skyscraper.h",
        "lastAccessed": "1587255693450",
        "qrARjsMarkerStorageID": "343df194-e7ae-4c34-adbf-5718542aca37",
        "glbHologramStorageFilename": "Skyscraper.glb"
      },
```

{% endtab %}
{% endtabs %}

## 7. Supported SDKs

This is the structure of the supported SDK array of a single content entry in the database.

{% tabs %}
{% tab title="Object" %}

```
"sdks": [
        true/false,     // Vuforia support
        true/false,     // ARCore support
        true/false,     // ARKit support
        true/false,     // Unity support
        true/false,     // EasyAR support
        true/false,     // Wikitude support
        true/false,     // Kudan support
        true/false,     // WebXR support
        true/false      // AR.JS support
      ],
```

{% endtab %}

{% tab title="Example" %}

```
"sdks": [
        true,
        true,
        false,
        true,
        false,
        false,
        false,
        true,
        true
      ],
```

{% endtab %}
{% endtabs %}


---

# 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.echo3d.com/api/objects.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.
