---
title: "Get Object Store Metadata"
description: "Get the properties of the Object Store for a specific organization and key through a request with the QC API."
canonical: https://www.quantconnect.com/docs/v2/cloud-platform/api-reference/object-store-management/get-object-store-metadata
markdown: https://www.quantconnect.com/docs/v2/cloud-platform/api-reference/object-store-management/get-object-store-metadata.md
language: python
source: https://github.com/QuantConnect/Documentation/tree/master/01%20Cloud%20Platform/99%20API%20Reference/09%20Object%20Store%20Management/02%20Get%20Object%20Store%20Metadata
modified: 2026-10-29
index: https://www.quantconnect.com/llms.txt
---

# Get Object Store Metadata

[Documentation](https://www.quantconnect.com/docs/v2.md) > [Cloud Platform](https://www.quantconnect.com/docs/v2/cloud-platform.md) > [API Reference](https://www.quantconnect.com/docs/v2/cloud-platform/api-reference.md) > [Object Store Management](https://www.quantconnect.com/docs/v2/cloud-platform/api-reference/object-store-management.md) > Get Object Store Metadata

> Code examples are shown in Python. Append `?lang=csharp` to this URL for the C# version of this page.

## Introduction

Get Object Store properties of a specific organization and key. It doesn't work if the key is a directory in the Object Store.

## Request

Get Object Store properties of a specific organization and key. The `/object/properties` API accepts requests in the following format:

| `GetObjectStorePropertiesRequest` Model - Request to get Object Store properties of a specific organization and key. |  |
| --- | --- |
| organizationId | `string required example: 5cad178b20a1d52567b534553413b691` Id of the organization that owns the Object Store. |
| key | `string required example: key1` Key in the Object Store. |
| Example | `{ "organizationId": "5cad178b20a1d52567b534553413b691", "key": "key1" }` |

## Responses

The `/object/properties` API provides a response in the following format:

### 200 Success

| `GetObjectStorePropertiesResponse` Model - Response received when fetching Object Store file properties. |  |
| --- | --- |
| metadata | `ObjectStoreProperties object` Object Store file properties. |
| success | `boolean` Indicate if the API request was successful. |
| errors | `string Array` List of errors with the API call. |
| Example | `{ "metadata": { "key": "string", "modified": "2021-11-26T15:18:27.693Z", "created": "2021-11-26T15:18:27.693Z", "size": 24, "md5": "string", "mime": "string", "preview": "string" }, "success": true, "errors": [ "string" ] }` |

| `ObjectStoreProperties` Model - Object Store file properties. |  |
| --- | --- |
| key | `string` Object Store key. |
| modified | `string($date-time)` Last time it was modified. |
| created | `string($date-time)` Date this project was created. |
| size | `number example: 24` Object Store file size. |
| md5 | `string` MD5 (hashing algorithm) hash authentication code. |
| mime | `string` MIME type. |
| preview | `string` Preview of the Object Store file content. |
| Example | `{ "key": "string", "modified": "2021-11-26T15:18:27.693Z", "created": "2021-11-26T15:18:27.693Z", "size": 24, "md5": "string", "mime": "string", "preview": "string" }` |

### 401 Authentication Error

| `UnauthorizedError` Model - Unauthorized response from the API. Key is missing, invalid, or timestamp is too old for hash. |  |
| --- | --- |
| www_authenticate | `string` Header |

## Examples

The following example demonstates uploading, getting, deleting, and listing Object Store objects through the cloud API.

```
from base64 import b64encode
from hashlib import sha256
from time import time
from requests import get, post
BASE_URL = 'https://www.quantconnect.com/api/v2/'

# You need to replace these with your actual credentials.
# You can request your credentials at https://www.quantconnect.com/settings/
# You can find our organization ID at https://www.quantconnect.com/organization/
USER_ID = 0
API_TOKEN = '____'
ORGANIZATION_ID = '____'

def get_headers():
    # Get timestamp
    timestamp = f'{int(time())}'
    time_stamped_token = f'{API_TOKEN}:{timestamp}'.encode('utf-8')

    # Get hased API token
    hashed_token = sha256(time_stamped_token).hexdigest()
    authentication = f'{USER_ID}:{hashed_token}'.encode('utf-8')
    authentication = b64encode(authentication).decode('ascii')

    # Create headers dictionary.
    return {
        'Authorization': f'Basic {authentication}',
        'Timestamp': timestamp
    }

# Authenticate to verify credentials
response = post(f'{BASE_URL}/authenticate', headers = get_headers())
print(response.json())

# --------------------

# The key of the object wishes to manipulate
key = "..."

### Upload Object Store File
# Send a POST request to the /object/set endpoint to upload a file
response = post(f'{BASE_URL}/object/set', headers=get_headers(),
                data={"organizationId": ORGANIZATION_ID, "key": key},  # Organization ID and key for the object
                files={"objectData": b"Hello, world!"})  # File content as bytes
# Parse the JSON response into python managable dict
result = response.json()
# Check if the request was successful and print the result
if result['success']:
    print("Object Store File Uploaded Successfully:")
    print(result)

### Get Object Store Metadata
# Prepare data payload to get object metadata
payload = {
    "organizationId": ORGANIZATION_ID,  # ID of the organization
    "key": key  # Key of the object to get metadata for
}
# Send a POST request to the /object/properties endpoint to get metadata
response = post(f'{BASE_URL}/object/properties', headers=get_headers(), json=payload)
# Parse the JSON response into python managable dict
result = response.json()
# Check if the request was successful and print the metadata
if result['success']:
    print("Object Store Metadata:")
    print(result)

### Get Object Store File
# Prepare data payload to retrieve the object
payload = {
    "organizationId": ORGANIZATION_ID,  # ID of the organization
    "keys": [key]  # List of keys to retrieve (single key in this case)
}
# Send a POST request to the /object/get endpoint to get the object
response = post(f'{BASE_URL}/object/get', headers=get_headers(), json=payload)
# Parse the JSON response into python managable dict
result = response.json()
# Check if the request was successful and print the file content
if result['success']:
    print("Object Store File Content:")
    print(result)

### Delete Object Store File
# Prepare data payload to delete the object
payload = {
    "organizationId": ORGANIZATION_ID,  # ID of the organization
    "key": key  # Key of the object to delete
}
# Send a POST request to the /object/delete endpoint to delete the object
response = post(f'{BASE_URL}/object/delete', headers=get_headers(), json=payload)
# Parse the JSON response into python managable dict
result = response.json()
# Check if the request was successful and print the result
if result['success']:
    print("Object Store File Deleted Successfully:")
    print(result)

### List Object Store Files
# Define an empty path to list all objects (replace with specific path if needed)
path = ""
# Prepare data payload to list objects
payload = {
    "organizationId": ORGANIZATION_ID,  # ID of the organization
    "path": path  # Path to list objects from
}
# Send a POST request to the /object/list endpoint to list objects
response = post(f'{BASE_URL}/object/list', headers=get_headers(), json=payload)
# Parse the JSON response into python managable dict
result = response.json()
# Check if the request was successful and print the list
if result['success']:
    print("List of Object Store Files:")
    print(result)
```
