API referenceEndpoints

Network search

Natural-language search across your org's combined network.

POST /api/v1/search/network

Run 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

FieldTypeRequiredDescription
querystringyesNatural-language search query.
networks("user" | "advocate" | "organization")[]noNetworks to include. Default: all three.
strictnessnumberno1=relaxed (default), 2=normal, 3=strict.
asUserIdstringnoUser 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.
limitnumberno1-50, default 20.
mode"auto" | "vector" | "neo4j" | "prisma"noSearch 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/network
const 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.

On this page