GET /v1/containers
from metadata.sdk import configure
from metadata.sdk.entities import Containers
configure(
host="https://your-company.getcollate.io/api",
jwt_token="your-jwt-token"
)
# List first page
containers = Containers.list(limit=50)
for c in containers.data:
print(f"{c.fullyQualifiedName}")
# List all with auto-pagination
for c in Containers.list_all():
print(f"{c.fullyQualifiedName}")
# Filter by storage service
containers = Containers.list(
service="s3_datalake",
fields=["owners", "tags", "dataModel"],
limit=50
)
for c in containers.data:
print(f"{c.fullyQualifiedName}")
if c.owners:
print(f" Owners: {[o.name for o in c.owners]}")
if c.tags:
print(f" Tags: {[t.tagFQN for t in c.tags]}")
import static org.openmetadata.sdk.fluent.Containers.*;
// List first page
var result = Containers.list()
.limit(50)
.execute();
for (var c : result.getData()) {
System.out.println(c.getFullyQualifiedName());
}
// Filter by storage service with fields
var result = Containers.list()
.service("s3_datalake")
.fields("owners", "tags", "dataModel")
.limit(50)
.execute();
for (var c : result.getData()) {
System.out.println(c.getFullyQualifiedName());
}
# List all
curl "{base_url}/api/v1/containers?limit=50" \
-H "Authorization: Bearer {access_token}"
# Filter by storage service
curl "{base_url}/api/v1/containers?service=s3_datalake&limit=50" \
-H "Authorization: Bearer {access_token}"
# With fields
curl "{base_url}/api/v1/containers?service=s3_datalake&fields=owners,tags,dataModel,children&limit=50" \
-H "Authorization: Bearer {access_token}"
{
"data": [
{
"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"],
"href": "http://localhost:8585/api/v1/containers/14744329-85c2-499e-b1fa-249fb8162341",
"deleted": false,
"owners": [],
"tags": [],
"followers": [],
"votes": {
"upVotes": 0,
"downVotes": 0
},
"domains": []
}
],
"paging": {
"after": "...",
"total": 5
}
}
List Containers
List all container entities with optional filtering by storage service, data type, owner, tag, domain, and pagination support via the Collate REST API.
GET
/
v1
/
containers
GET /v1/containers
from metadata.sdk import configure
from metadata.sdk.entities import Containers
configure(
host="https://your-company.getcollate.io/api",
jwt_token="your-jwt-token"
)
# List first page
containers = Containers.list(limit=50)
for c in containers.data:
print(f"{c.fullyQualifiedName}")
# List all with auto-pagination
for c in Containers.list_all():
print(f"{c.fullyQualifiedName}")
# Filter by storage service
containers = Containers.list(
service="s3_datalake",
fields=["owners", "tags", "dataModel"],
limit=50
)
for c in containers.data:
print(f"{c.fullyQualifiedName}")
if c.owners:
print(f" Owners: {[o.name for o in c.owners]}")
if c.tags:
print(f" Tags: {[t.tagFQN for t in c.tags]}")
import static org.openmetadata.sdk.fluent.Containers.*;
// List first page
var result = Containers.list()
.limit(50)
.execute();
for (var c : result.getData()) {
System.out.println(c.getFullyQualifiedName());
}
// Filter by storage service with fields
var result = Containers.list()
.service("s3_datalake")
.fields("owners", "tags", "dataModel")
.limit(50)
.execute();
for (var c : result.getData()) {
System.out.println(c.getFullyQualifiedName());
}
# List all
curl "{base_url}/api/v1/containers?limit=50" \
-H "Authorization: Bearer {access_token}"
# Filter by storage service
curl "{base_url}/api/v1/containers?service=s3_datalake&limit=50" \
-H "Authorization: Bearer {access_token}"
# With fields
curl "{base_url}/api/v1/containers?service=s3_datalake&fields=owners,tags,dataModel,children&limit=50" \
-H "Authorization: Bearer {access_token}"
{
"data": [
{
"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"],
"href": "http://localhost:8585/api/v1/containers/14744329-85c2-499e-b1fa-249fb8162341",
"deleted": false,
"owners": [],
"tags": [],
"followers": [],
"votes": {
"upVotes": 0,
"downVotes": 0
},
"domains": []
}
],
"paging": {
"after": "...",
"total": 5
}
}
List Containers
List all containers with optional filtering and pagination.Query Parameters
string
Filter by storage service fully qualified name.
integer
default:"10"
Maximum number of results to return (max: 1000000).
string
Cursor for backward pagination.
string
Cursor for forward pagination.
string
Comma-separated list of fields to include:
owners, tags, followers, votes, extension, domains, dataModel, children, sourceHash. See Supported Fields below.string
default:"non-deleted"
Include
all, deleted, or non-deleted entities.GET /v1/containers
from metadata.sdk import configure
from metadata.sdk.entities import Containers
configure(
host="https://your-company.getcollate.io/api",
jwt_token="your-jwt-token"
)
# List first page
containers = Containers.list(limit=50)
for c in containers.data:
print(f"{c.fullyQualifiedName}")
# List all with auto-pagination
for c in Containers.list_all():
print(f"{c.fullyQualifiedName}")
# Filter by storage service
containers = Containers.list(
service="s3_datalake",
fields=["owners", "tags", "dataModel"],
limit=50
)
for c in containers.data:
print(f"{c.fullyQualifiedName}")
if c.owners:
print(f" Owners: {[o.name for o in c.owners]}")
if c.tags:
print(f" Tags: {[t.tagFQN for t in c.tags]}")
import static org.openmetadata.sdk.fluent.Containers.*;
// List first page
var result = Containers.list()
.limit(50)
.execute();
for (var c : result.getData()) {
System.out.println(c.getFullyQualifiedName());
}
// Filter by storage service with fields
var result = Containers.list()
.service("s3_datalake")
.fields("owners", "tags", "dataModel")
.limit(50)
.execute();
for (var c : result.getData()) {
System.out.println(c.getFullyQualifiedName());
}
# List all
curl "{base_url}/api/v1/containers?limit=50" \
-H "Authorization: Bearer {access_token}"
# Filter by storage service
curl "{base_url}/api/v1/containers?service=s3_datalake&limit=50" \
-H "Authorization: Bearer {access_token}"
# With fields
curl "{base_url}/api/v1/containers?service=s3_datalake&fields=owners,tags,dataModel,children&limit=50" \
-H "Authorization: Bearer {access_token}"
{
"data": [
{
"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"],
"href": "http://localhost:8585/api/v1/containers/14744329-85c2-499e-b1fa-249fb8162341",
"deleted": false,
"owners": [],
"tags": [],
"followers": [],
"votes": {
"upVotes": 0,
"downVotes": 0
},
"domains": []
}
],
"paging": {
"after": "...",
"total": 5
}
}
Returns
Returns a paginated list of container objects. By default, only basic fields are included. Use thefields parameter to request additional data.
Response
array
Array of container objects.
Show properties
Show properties
string
Unique identifier for the container (UUID format).
string
Container name.
string
Fully qualified name in format
service.containerName.string
Human-readable display name.
object
Reference to the parent storage service.
string
Type of storage service (e.g., S3, GCS, ADLS, CustomStorage).
string
Path prefix for objects in the container.
number
Number of objects stored in the container.
number
Total size of the container in bytes.
array
List of file formats stored in the container.
array
List of owners assigned to the container. Only included when
fields contains owners.array
Classification tags applied. Only included when
fields contains tags.array
Domain assignments for governance. Only included when
fields contains domains.array
Users following this container. Only included when
fields contains followers.object
User votes and ratings. Only included when
fields contains votes.object
Data model describing the schema of files. Only included when
fields contains dataModel.array
Nested child containers. Only included when
fields contains children.object
Custom properties. Only included when
fields contains extension.object
Supported Fields
The following fields can be requested via thefields query parameter:
| Field | Description |
|---|---|
owners | Owner references (users and teams) |
tags | Classification tags |
followers | Users following the container |
votes | User votes and ratings |
extension | Custom property values |
domains | Domain assignments for governance |
dataModel | Data model with column definitions |
children | Nested child containers |
sourceHash | Hash for change detection |
Error Handling
| Code | Error Type | Description |
|---|---|---|
401 | UNAUTHORIZED | Invalid or missing authentication token |
403 | FORBIDDEN | User lacks permission to list containers |
Was this page helpful?
⌘I