Skip to main content
GET
https://sandbox.getcollate.io/api
/
v1
/
containers
/
{id}
GET /v1/containers/{id}
from metadata.sdk import configure
from metadata.sdk.entities import Containers

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

# Get by ID
container = Containers.retrieve("14744329-85c2-499e-b1fa-249fb8162341")
print(f"{container.fullyQualifiedName}: {container.description}")

# Get by ID with fields
container = Containers.retrieve(
    "14744329-85c2-499e-b1fa-249fb8162341",
    fields=["owners", "tags", "dataModel", "children"]
)

# Get by fully qualified name
container = Containers.retrieve_by_name("s3_datalake.analytics-bucket")

# Get by name with fields
container = Containers.retrieve_by_name(
    "s3_datalake.analytics-bucket",
    fields=["owners", "tags", "dataModel", "children"]
)
{
  "id": "14744329-85c2-499e-b1fa-249fb8162341",
  "name": "analytics-bucket",
  "displayName": "Analytics Bucket",
  "fullyQualifiedName": "s3_datalake.analytics-bucket",
  "description": "Primary analytics data lake bucket",
  "version": 0.1,
  "updatedAt": 1769982673032,
  "updatedBy": "admin",
  "service": {
    "id": "d1589e1d-2ab0-431c-a383-15e4be20a106",
    "type": "storageService",
    "name": "s3_datalake",
    "fullyQualifiedName": "s3_datalake",
    "deleted": false
  },
  "serviceType": "S3",
  "prefix": "/analytics/",
  "numberOfObjects": 150000,
  "size": 5368709120,
  "fileFormats": ["parquet", "json"],
  "dataModel": {
    "isPartitioned": true,
    "columns": [
      {"name": "event_id", "dataType": "STRING", "description": "Unique event identifier"},
      {"name": "timestamp", "dataType": "TIMESTAMP", "description": "Event timestamp"},
      {"name": "user_id", "dataType": "STRING", "description": "User identifier"}
    ]
  },
  "fullPath": "s3://analytics-bucket",
  "href": "http://localhost:8585/api/v1/containers/14744329-85c2-499e-b1fa-249fb8162341",
  "deleted": false,
  "owners": [],
  "tags": [],
  "followers": [],
  "votes": {
    "upVotes": 0,
    "downVotes": 0
  },
  "domains": []
}

Retrieve a Container

Get a single container by its unique ID or fully qualified name.

Get by ID

id
string
required
UUID of the container to retrieve.
fields
string
Comma-separated list of fields to include (e.g., owners,tags,followers,votes,extension,domains,dataModel,children,sourceHash).
include
string
default:"non-deleted"
Include all, deleted, or non-deleted entities.

Get by Fully Qualified Name

Use GET /v1/containers/name/{fqn} to retrieve by fully qualified name.
fqn
string
required
Fully qualified name of the container (e.g., s3_datalake.analytics-bucket).
fields
string
Comma-separated list of fields to include: owners, tags, followers, votes, extension, domains, dataModel, children, sourceHash.
include
string
default:"non-deleted"
Include all, deleted, or non-deleted entities.
GET /v1/containers/{id}
from metadata.sdk import configure
from metadata.sdk.entities import Containers

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

# Get by ID
container = Containers.retrieve("14744329-85c2-499e-b1fa-249fb8162341")
print(f"{container.fullyQualifiedName}: {container.description}")

# Get by ID with fields
container = Containers.retrieve(
    "14744329-85c2-499e-b1fa-249fb8162341",
    fields=["owners", "tags", "dataModel", "children"]
)

# Get by fully qualified name
container = Containers.retrieve_by_name("s3_datalake.analytics-bucket")

# Get by name with fields
container = Containers.retrieve_by_name(
    "s3_datalake.analytics-bucket",
    fields=["owners", "tags", "dataModel", "children"]
)
{
  "id": "14744329-85c2-499e-b1fa-249fb8162341",
  "name": "analytics-bucket",
  "displayName": "Analytics Bucket",
  "fullyQualifiedName": "s3_datalake.analytics-bucket",
  "description": "Primary analytics data lake bucket",
  "version": 0.1,
  "updatedAt": 1769982673032,
  "updatedBy": "admin",
  "service": {
    "id": "d1589e1d-2ab0-431c-a383-15e4be20a106",
    "type": "storageService",
    "name": "s3_datalake",
    "fullyQualifiedName": "s3_datalake",
    "deleted": false
  },
  "serviceType": "S3",
  "prefix": "/analytics/",
  "numberOfObjects": 150000,
  "size": 5368709120,
  "fileFormats": ["parquet", "json"],
  "dataModel": {
    "isPartitioned": true,
    "columns": [
      {"name": "event_id", "dataType": "STRING", "description": "Unique event identifier"},
      {"name": "timestamp", "dataType": "TIMESTAMP", "description": "Event timestamp"},
      {"name": "user_id", "dataType": "STRING", "description": "User identifier"}
    ]
  },
  "fullPath": "s3://analytics-bucket",
  "href": "http://localhost:8585/api/v1/containers/14744329-85c2-499e-b1fa-249fb8162341",
  "deleted": false,
  "owners": [],
  "tags": [],
  "followers": [],
  "votes": {
    "upVotes": 0,
    "downVotes": 0
  },
  "domains": []
}

Returns

Returns a container object with all requested fields populated.

Response

id
string
Unique identifier for the container (UUID format).
name
string
Container name.
fullyQualifiedName
string
Fully qualified name in format service.containerName.
displayName
string
Human-readable display name.
description
string
Description of the container in Markdown format.
service
object
Reference to the parent storage service.
serviceType
string
Type of storage service (e.g., S3, GCS, ADLS, CustomStorage).
dataModel
object
Data model with column definitions. Only included when fields contains dataModel.
children
array
Nested child containers. Only included when fields contains children.
version
number
Version number for the entity.
owners
array
List of owners. Only included when fields contains owners.
tags
array
Classification tags. Only included when fields contains tags.
domains
array
Domain assignments. Only included when fields contains domains.

Error Handling

CodeError TypeDescription
401UNAUTHORIZEDInvalid or missing authentication token
403FORBIDDENUser lacks permission to view this container
404NOT_FOUNDContainer with given ID or FQN does not exist