Skip to main content
GET
https://sandbox.getcollate.io/api
/
v1
/
searchIndexes
GET /v1/searchIndexes
from metadata.sdk import configure
from metadata.sdk.entities import SearchIndexes

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

# List first page
indexes = SearchIndexes.list(limit=50)
for si in indexes.data:
    print(f"{si.fullyQualifiedName}")

# List all with auto-pagination
for si in SearchIndexes.list_all():
    print(f"{si.fullyQualifiedName}")

# Filter by service
indexes = SearchIndexes.list(
    service="elasticsearch_sample",
    fields=["owners", "tags", "domain"],
    limit=50
)

for si in indexes.data:
    print(f"{si.fullyQualifiedName}")
    if si.owners:
        print(f"  Owners: {[o.name for o in si.owners]}")
    if si.tags:
        print(f"  Tags: {[t.tagFQN for t in si.tags]}")
{
  "data": [
    {
      "id": "f5b0fa81-f241-4508-9219-dae31dcced18",
      "name": "table_search_index",
      "fullyQualifiedName": "elasticsearch_sample.table_search_index",
      "displayName": "TableSearchIndex",
      "version": 0.1,
      "updatedAt": 1769982670810,
      "updatedBy": "admin",
      "service": {
        "id": "search-service-id",
        "type": "searchService",
        "name": "elasticsearch_sample",
        "fullyQualifiedName": "elasticsearch_sample",
        "deleted": false
      },
      "serviceType": "ElasticSearch",
      "fields": [
        {"name": "name", "dataType": "TEXT"},
        {"name": "description", "dataType": "TEXT"}
      ],
      "deleted": false,
      "owners": [],
      "tags": [],
      "domains": []
    }
  ],
  "paging": {
    "after": "...",
    "total": 5
  }
}

List Search Indexes

List all search indexes with optional filtering and pagination.

Query Parameters

service
string
Filter by search service fully qualified name.
limit
integer
default:"10"
Maximum number of results to return (max: 1000000).
before
string
Cursor for backward pagination.
after
string
Cursor for forward pagination.
fields
string
Comma-separated list of fields to include: owners, tags, followers, votes, extension, domains, sourceHash. See Supported Fields below.
include
string
default:"non-deleted"
Include all, deleted, or non-deleted entities.
GET /v1/searchIndexes
from metadata.sdk import configure
from metadata.sdk.entities import SearchIndexes

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

# List first page
indexes = SearchIndexes.list(limit=50)
for si in indexes.data:
    print(f"{si.fullyQualifiedName}")

# List all with auto-pagination
for si in SearchIndexes.list_all():
    print(f"{si.fullyQualifiedName}")

# Filter by service
indexes = SearchIndexes.list(
    service="elasticsearch_sample",
    fields=["owners", "tags", "domain"],
    limit=50
)

for si in indexes.data:
    print(f"{si.fullyQualifiedName}")
    if si.owners:
        print(f"  Owners: {[o.name for o in si.owners]}")
    if si.tags:
        print(f"  Tags: {[t.tagFQN for t in si.tags]}")
{
  "data": [
    {
      "id": "f5b0fa81-f241-4508-9219-dae31dcced18",
      "name": "table_search_index",
      "fullyQualifiedName": "elasticsearch_sample.table_search_index",
      "displayName": "TableSearchIndex",
      "version": 0.1,
      "updatedAt": 1769982670810,
      "updatedBy": "admin",
      "service": {
        "id": "search-service-id",
        "type": "searchService",
        "name": "elasticsearch_sample",
        "fullyQualifiedName": "elasticsearch_sample",
        "deleted": false
      },
      "serviceType": "ElasticSearch",
      "fields": [
        {"name": "name", "dataType": "TEXT"},
        {"name": "description", "dataType": "TEXT"}
      ],
      "deleted": false,
      "owners": [],
      "tags": [],
      "domains": []
    }
  ],
  "paging": {
    "after": "...",
    "total": 5
  }
}

Returns

Returns a paginated list of search index objects. By default, only basic fields are included. Use the fields parameter to request additional data.

Response

data
array
Array of search index objects.
paging
object
Pagination information.

Supported Fields

The following fields can be requested via the fields query parameter:
FieldDescription
ownersOwner references (users and teams)
tagsClassification tags
followersUsers following the search index
votesUser votes and ratings
extensionCustom property values
domainsDomain assignments for governance
sourceHashHash for change detection

Error Handling

CodeError TypeDescription
401UNAUTHORIZEDInvalid or missing authentication token
403FORBIDDENUser lacks permission to list search indexes