---
title: "Get the full entity object by identity link"
method: GET
path: "/api/v1/ackdb/entities/full"
tags: ["ackDB"]
---

# Get the full entity object by identity link

`GET /api/v1/ackdb/entities/full`

## Request

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

Resolve an entity by an identity-link **value** (pass just `externalIdValue` - a domain, slack_channel_id, stripe_customer_id, email, …; `externalIdType` and `source` are optional disambiguators) and return the complete entity object in one response: entity, identity links, traits, contacts, plus paginated windows over events, raw payloads, conversations, and files. Each high-volume collection is independently tunable (`*Limit`/`*Offset` + filters) and returns latest-first with a `total`, so callers can page the long tail. A bare call returns a complete-but-bounded object; set a collection's `*Limit=0` to omit it. Differs from `/entities/{entityId}/profile` (keyed by entityId, last 10 events only).

## Query parameters

- `externalIdValue` string, required
- `externalIdType` string
- `source` string
- `eventsLimit` integer
- `eventsOffset` integer
- `eventsSource` string
- `eventsType` string
- `eventsSince` string, date-time
- `eventsUntil` string, date-time
- `rawLimit` integer
- `rawOffset` integer
- `conversationsLimit` integer
- `conversationsOffset` integer
- `conversationsSource` string
- `conversationsTopic` string
- `conversationsSentiment` string
- `conversationsSince` string, date-time
- `conversationsUntil` string, date-time
- `filesLimit` integer
- `filesOffset` integer
- `filesSource` string
- `filesType` string
- `filesProcessed` boolean
- `contacts` boolean
- `conversationSummary` boolean

## Response `200`

The full entity object. A collection key is present only when its `*Limit` > 0 (and `conversationSummary` only when threads exist).

- object
  - `data` object, required
    - `entity` AckdbEntity, required: A company/account entity in ackDB's entity store.
      - `entityId` string, required: Internal ULID identifier for the entity.
      - `name` string, required: Human-readable entity name (e.g. company name). May be null for auto-created entities.
      - `createdAt` string, date-time, required: When the entity was first created.
      - `updatedAt` string, date-time, required: When the entity was last updated.
    - `identityLinks` AckdbIdentityLink[], required
      - `entityId` string, required: The entity this link belongs to.
      - `source` string, required: Source system (e.g. slack, stripe).
      - `externalIdType` string, required: Type of external ID (e.g. slack_channel_id).
      - `externalIdValue` string, required: The actual external ID value.
      - `confidence` number, required: Confidence score of the link (0-1). 1.0 = verified.
      - `linkedAt` string, date-time, required: When this identity link was created.
    - `traits` AckdbEntityTrait[], required
      - `entityId` string, required: The entity this trait belongs to.
      - `traitKey` string, required: Trait identifier (matches a trait_definition).
      - `valueString` unknown, required
      - `valueNumber` unknown, required
      - `valueBool` unknown, required
      - `valueDate` string, date-time, required: Date value (populated for date traits).
      - `source` string, required: Source system that produced this trait.
      - `workflow` string, required: Workflow that computed this value.
      - `confidence` number, required: Confidence score (0-1). 1.0 = observed/verified.
      - `updatedAt` string, date-time, required: When this trait value was last updated.
    - `contacts` object[]: Contacts for the entity (see GET /entities/{entityId}/contacts).
    - `events` object
      - `data` AckdbEntityEvent[], required
        - `id` string, required: ULID identifier for the event.
        - `entityId` unknown, required
        - `source` string, required: Source system that produced this event.
        - `eventType` string, required: Type of event (e.g. message, payment, subscription_change).
        - `summary` string, required: Human-readable summary of the event.
        - `metadata` object, required: Source-specific event metadata.
        - `timestamp` string, date-time, required: When this event occurred in the source system.
        - `createdAt` string, date-time, required: When this event record was created in ackDB.
        - `contactId` unknown, required
        - `personId` unknown, required
      - `total` integer, required
      - `limit` integer, required
      - `offset` integer, required
    - `rawPayloads` object
      - `data` AckdbRawPayloadRecord[], required
        - `id` string, required: ULID identifier for the raw payload.
        - `source` string, required: Source system that produced this payload.
        - `payload` object, required: The raw source payload as-is.
        - `createdAt` string, date-time, required: When this payload was ingested.
      - `total` integer, required
      - `limit` integer, required
      - `offset` integer, required
    - `conversations` object
      - `data` AckdbConversation[], required
        - `id` string: ULID
        - `entityId` string
        - `source` string
        - `sourceThreadKey` string: Source-specific thread key
        - `messageCount` integer
        - `participantNames` string[]
        - `hasExternal` boolean: Whether external participants are present
        - `sourceMetadata` object: Source-specific display fields (channel_name, etc.)
        - `summary` string, nullable: LLM-generated 1-3 sentence summary
        - `topics` string[]
        - `sentiment` 'positive' | 'negative' | 'neutral' | 'mixed', nullable
        - `actionItems` string[]
        - `fileIds` string[]: IDs of entity_files attached to messages in this conversation
        - `hasFiles` boolean: Whether this conversation has file attachments
        - `firstMessageAt` string, date-time
        - `lastMessageAt` string, date-time
      - `total` integer, required
      - `limit` integer, required
      - `offset` integer, required
    - `files` object
      - `data` AckdbFileMetadata[], required
        - `id` string: ULID
        - `entityId` string
        - `eventId` string, nullable
        - `source` string
        - `fileName` string
        - `fileType` string: MIME type
        - `fileSizeBytes` integer
        - `sourceFileId` string, nullable
        - `sourceUrl` string, nullable
        - `metadata` object
        - `description` string, nullable: AI-generated description (after processing)
        - `processed` boolean: Whether the file has been processed for embeddings
        - `createdAt` string, date-time
      - `total` integer, required
      - `limit` integer, required
      - `offset` integer, required
    - `conversationSummary` object: Conversation rollup (present only when the entity has threads).
      - `totalThreads` integer
      - `distinctTopics` integer
      - `totalMessages` integer
      - `topTopics` string[]
      - `overallSentiment` unknown
  - `resolvedBy` object, required: Echoes the value used plus the identity-link type/source it matched.
    - `externalIdValue` string, required
    - `externalIdType` string, required
    - `source` string, required

## Other responses

- `404`: No entity is linked to the given value
- `409`: The value is registered under more than one identity-link type and maps to multiple entities. Re-request with `externalIdType` (and/or `source`) to disambiguate.
- `422`: Missing required identity parameters

---

[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)
