---
title: "Fuzzy search → the single closest company (hydrated like /full)"
method: GET
path: "/api/v1/ackdb/entities/search"
tags: ["ackDB"]
---

# Fuzzy search → the single closest company (hydrated like /full)

`GET /api/v1/ackdb/entities/search`

## Request

- Base URL: `http://localhost:3009`
- URL: `http://localhost:3009/api/v1/ackdb/entities/search`
- Auth: HTTP bearer

Per-field fuzzy search returning the **single closest company**, fully hydrated exactly like `/entities/full` (entity, identity links, traits, contacts, plus paginated events / raw payloads / conversations / files) — plus a `matchedOn` block explaining the hit. The fuzzy sibling of `/entities/full` and the company analog of `/contacts/search`: send whichever field(s) you're searching — `q` (across name + all identity links), `name`, `domain`, `identity` (any identity-link value, optionally pinned with `identityType`); at least one required, all **ANDed**. Ranked case-insensitive **substring** per field (exact > prefix > contains, score = sum of per-field tiers) and returns exactly one company. No match → 404. Accepts the same collection controls as `/entities/full` (`eventsLimit`, `rawLimit`, `conversationsLimit`, `filesLimit` + their filters, `contacts=false`, `conversationSummary=false`, and `*Limit=0` to omit a collection).

## Query parameters

- `q` string
- `name` string
- `domain` string
- `identity` string
- `identityType` string
- `contactLimit` integer

## Response `200`

The closest company, hydrated like GET /entities/full, plus a matchedOn block.

- object
  - `data` object, required: Same shape as GET /entities/full `data`: entity, identityLinks, traits, contacts (+ contactCount when contactLimit is set), events, rawPayloads, conversations, files, conversationSummary.
  - `matchedOn` object, required: Why this company was picked — the strongest-matching provided field. `field` is `name`/`identity_link` for `q`-only searches, or the param name (`name`/`domain`/`identity`) for per-field searches.
    - `field` 'name' | 'identity_link' | 'domain' | 'identity', required
    - `value` string, required
    - `tier` 'exact' | 'prefix' | 'contains', required

## Other responses

- `404`: No company matches the given fields.
- `422`: None of `q`, `name`, `domain`, `identity` provided.

---

[API](https://skmtc.dev/floqer/apis/floqer-public-api.md) - [All operations](https://skmtc.dev/floqer/apis/floqer-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/floqer/apis/floqer-public-api/revisions/fce50dc07b20?raw)
