Skip to content

Collection titles are not unique, preventing tenant-based separation and lookup in VectorAPI #683

@jazzm0

Description

@jazzm0

Describe the Problem/Bug

While working with the VectorApi and performing CRUD operations on collections, I noticed that collection titles are not required to be unique. This creates a significant challenge for our use case, where we intend to separate tenants by assigning each tenant its own collection.

Since titles are not unique, we currently have no reliable way to:

Query a collection by its title

Check whether a collection with a given title already exists

Current Workarounds

The only possible workarounds at the moment are:

Retrieve all collections and manually iterate over them

This becomes inefficient and error-prone as the number of collections grows.

Store a tenant → collectionId mapping on our side

This is not ideal, especially since the create-collection operation does not return the collection ID, which is already tracked in issue #672:
#672

Steps to Reproduce

Although this may not be a “bug” in the strict sense, it is a conceptual limitation that prevents us from using the VectorAPI for tenant isolation. Without unique titles or a way to query by title, it is very difficult to manage collections in a multi-tenant environment.

This is currently a blocker for our implementation.

Expected Behavior

We would greatly appreciate feedback on how collection identity is intended to work and whether one of the following enhancements could be considered:

Enforcing unique collection titles

Allowing lookup by title (e.g., GET /collections?title=)

Returning the collectionId when creating a collection

Adding support for queryable metadata to identify collections

Screenshots

No response

Used Versions

  • Java and Maven version via mvn --version: ...

  • SAP Cloud SDK for AI version: ...

  • Spring Boot or CAP version: ...

    Dependency tree via mvn dependency:tree
Dependency tree here

Code Examples

// Your code here

Stack Trace

No response

Log File

Log file ...

Affected Development Phase

Getting Started

Impact

No Impact

Timeline

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions