I'm using Qdrant in a cluster setup and want to define a payload_schema for a collection. I want to ensure that the structure of my payload is recognized and listed in the collection metadata.
Here’s what I’ve done so far:
I added a point to my collection using the following payload structure:
{
"payload": {
"text": "some string",
"created_at": "2025-06-26T10:00:00Z",
"context": "some context string"
}
}
In this case, I'm only using two data types: string and datetime.
The point gets added successfully, and everything works at the point level. However, when I run a GET /collections/my_collection, the returned metadata shows:
...
"payload_schema": {}
...
So it looks like the schema is not being inferred or stored, even though the payload was accepted.
My questions:
How can I explicitly define the payload_schema so that it appears in the collection metadata?
Is the payload schema auto-generated based on inserted points, or do I need to set it manually?
Can I define the schema via API or UI in a clustered environment?
Is this behavior expected, or am I missing a step?
Thanks in advance for any help or documentation references!
You do not have to define the schema; Qdrant is schemaless. You just need to add the "with_payload : true"
parameter to your request.