API referenceEndpoints
Network search
Natural-language search across your org's combined network.
POST /api/v1/search/networkRun an intelligent natural-language search across your team's combined network. Best for queries like "product managers in fintech in NYC" or "CTOs at Series B startups in London".
This endpoint uses OpenAI for query parsing. Expect 1-3 seconds latency.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
query | string | yes | Natural-language search query. |
networks | ("user" | "advocate" | "organization")[] | no | Networks to include. Default: all three. |
strictness | number | no | 1=relaxed (default), 2=normal, 3=strict. |
asUserId | string | no | User id or person id of the organization member whose perspective should be used for user and advocate networks. Defaults to the authenticated MCP user when available, otherwise the oldest admin. |
limit | number | no | 1-50, default 20. |
mode | "auto" | "vector" | "neo4j" | "prisma" | no | Search engine selection. Default "auto"; leave it unset unless you need to pin an engine. |
Example
curl -X POST -H "Authorization: Bearer $KEY" \-H "Content-Type: application/json" \-d '{"query":"product managers in fintech in NYC","strictness":2}' \https://app.usehomie.com/api/v1/search/networkconst res = await fetch("https://app.usehomie.com/api/v1/search/network", {method: "POST",headers: { Authorization: `Bearer ${KEY}`, "Content-Type": "application/json",},body: JSON.stringify({ query: "product managers in fintech in NYC", strictness: 2,}),});const { data, meta } = await res.json();Response
{
"data": [
{
"person": { "id": "...", "name": "...", "position": "..." },
"currentCompany": { "id": "...", "name": "..." },
"warmness": 62,
"connectionSources": [{ "type": "organization", "name": "Sarah" }]
}
],
"meta": {
"searchTerms": ["product manager", "fintech", "New York"],
"totalCount": 12,
"returnedCount": 12,
"backend": "neo4j-vector"
}
}backend reports the engine that produced the result: neo4j-vector, neo4j-keyword, or prisma. When automatic mode has to switch engines, meta.fallback contains the original engine and the reason:
{
"fallback": {
"from": "neo4j-vector",
"reason": "Vector search is not configured"
}
}Pinned modes return a validation error instead of falling back when the selected engine is unavailable.