Skip to main content
Returns a tabular JSON rows plus matching entities from Cala’s knowledge base. Use knowledge_query (POST /v1/knowledge/query) when you need structured data ready for programmatic use rather than a natural-language answer. Input can be a Cala QL expression or a natural-language question — both produce the same structured response shape.
  • Navigate relationships between entities using dot notation
  • Filter results by applying conditions directly in the path
  • Access nested attributes across multiple entity relationships
  • Get structured, typed responses ready for your applications

Query language syntax

Build queries using dot notation and operators. This syntax works on both knowledge_query and knowledge_search. Chain filters with dots: startups.location=Spain.funding>10M.funding<50M

Example

Startups in Spain with funding between €10M and €50M:
Every response includes two parts:

Structured Results

Typed, filterable data — not paragraphs of text. Each result is a structured object with consistent fields.
13 startups returned — each with company name, sector, funding amount, round type, and year. This is structured data, not text to parse.
Every company in the results is automatically linked to a Cala entity with a unique UUID and type.
Use any entity UUID to get the full profile: POST /v1/entities/e2ce8098-dea6-4fdd-b226-c33923b5efe1 returns everything Cala knows about Amenitiz — founders, executives, HQ, employee count, and more.

Natural-language input also works

You can also send a plain question — the response is still structured rows, not prose:

More query examples

These use the Cala QL syntax. Natural-language questions also work with this endpoint.