Search
Search your clone's digital mind for relevant chunks or content. Use these endpoints to power custom search experiences, RAG pipelines, or content discovery features.
Search for relevant data from your clone's digital mind. Supports semantic search, keyword/phrase matching, and optional scoping to specific content sources.
Endpoint: POST /v3/search/query
Request body:
query
string[]
Yes
Semantic search strings (e.g. questions or topics)
keywords
string[]
No
Keyword or phrase strings for exact-match (BM25) boosting
content
string[]
No
Content descriptions to scope results to matching sources
contentIds
string[]
No
Direct content IDs to filter results to specific sources
limit
number
No
Max chunks to return (1–50, default 10)
tag
string
No
Access tier tag (e.g. PUBLIC, PREMIUM). Defaults to broadest access.
How search works:
querystrings are used for semantic (meaning-based) search.keywordsare routed through hybrid search for better exact-phrase matching via BM25. When both are provided, results are merged and deduplicated, keeping the highest-scoring passages.
Content scoping: Use
contentto describe the sources you want to search within (e.g.["Series A fundraising podcast"]). The API resolves these descriptions to matching content and restricts the chunk search to those sources. Alternatively, passcontentIdsdirectly if you already know the content IDs.
Example request:
curl -X POST https://api.delphi.ai/v3/search/query \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"query": ["What is your advice on building a startup?"],
"keywords": ["fundraising", "Series A"],
"limit": 5
}'Example response:
Response fields:
chunks
object[]
Matching passages from the knowledge base
chunks[].text
string
The passage text
chunks[].sources
object[]
Content sources this passage belongs to
chunks[].sources[].contentId
string
Unique ID of the content source
chunks[].sources[].title
string
Title of the content source
chunks[].createdTime
string
When the passage was created
chunks[].editedTime
string
When the passage was last updated
content
object[]
Deduplicated list of all content sources referenced by the chunks
The
contentarray includes full metadata for every content source that appears in the chunk results. Use this to display source cards, links, or attribution without making additional API calls.
Example: scoped search
Search only within specific content by providing descriptions:
Or filter by known content IDs:
Search content sources
Search for content sources (documents, articles, podcasts, etc.) in the knowledge base by title or description. Use this to discover what content is available before performing a chunk search.
Endpoint: POST /v3/search/content
Request body:
query
string[]
Yes
Content search strings (titles, descriptions, topics)
tag
string
No
Access tier tag (e.g. PUBLIC, PREMIUM). Defaults to broadest access.
Example request:
Example response:
Content item fields:
contentId
string
Unique identifier for the content source
title
string
Title of the content
contentType
string
Type of content (e.g. podcast, article, pdf, video)
summary
string
Brief summary of the content (may be null)
metaData
object
Additional metadata (varies by content type)
createdTime
string
When the content was added
editedTime
string
When the content was last updated
Use content search to build a content catalog or let users browse available sources before diving into specific passages with
/v3/search/query.
Last updated