---
title: "AI Ecosystem read (Starter+): per-engine fit, grounded mention/recommendation/citation/sentiment with provenance, cross-engine coherence, reinforcement patterns, and strategic narrative."
method: GET
path: "/entities/{entityId}/ecosystem"
tags: ["Layer 1 — Profile"]
---

# AI Ecosystem read (Starter+): per-engine fit, grounded mention/recommendation/citation/sentiment with provenance, cross-engine coherence, reinforcement patterns, and strategic narrative.

`GET /entities/{entityId}/ecosystem`

## Request

- Base URL: `https://entidex.com/api/v1`
- URL: `https://entidex.com/api/v1/entities/{entityId}/ecosystem`
- Auth: HTTP bearer

## Path parameters

- `entityId` string, required

## Response `200`

OK

- object
  - `data` union
    - object
      - `available` true, required
      - `entityId` string, required: Canonical entx_ entity id.
      - `influenceScore` integer, required
      - `coherenceScore` integer, nullable, required
      - `engines` EcosystemEngine[], required
        - `engine` 'chatgpt' | 'claude' | 'gemini' | 'perplexity' | 'grok', required: Canonical AI engine id.
        - `label` string, required
        - `maker` string, nullable, required: Engine maker name (e.g. OpenAI, Anthropic).
        - `fit` integer, required: AI-assessed engine fit (advisory).
        - `mentionRate` integer, required: Grounded.
        - `recommendationRate` integer, required: Grounded.
        - `citationRate` integer, required: Grounded.
        - `sentiment` 'positive' | 'neutral' | 'negative' | 'mixed', required
        - `groundedIn` 'signals' | 'llm_estimated', required: Provenance of the presence metrics.
        - `sampleSize` integer, required
        - `confidence` integer, required
        - `lastObservedAt` string, date-time, required
        - `communicationMatch` string, required
        - `strengths` string[], required
        - `gaps` string[], required
        - `advice` string, required
      - `feedbackLoops` object[], required
        - `type` string, required
        - `engine` string, required
        - `strength` integer, required
        - `description` string, required
      - `coherenceGaps` object[], required
        - `engine` string, required
        - `impact` 'high' | 'medium' | 'low', required
        - `issue` string, required
        - `recommendation` string, required
      - `narrative` string, nullable, required: AI strategic narrative (advisory).
      - `priorityActions` string[], required
      - `lastAssessedAt` string, date-time, nullable, required
      - `methodology` string, required: Disclosure that presence metrics are grounded while fit/strengths/advice are advisory.
    - object
      - `available` false, required
      - `reason` 'not_assessed_yet', required
  - `meta` ResponseMeta
    - `requestId` string, required
    - `timestamp` string, date-time, required
    - `apiVersion` string, required
    - `pagination` object
      - `cursor` string, nullable
      - `hasMore` boolean
      - `limit` integer
    - `rateLimit` object
      - `limit` integer
      - `remaining` integer
      - `resetAt` string, date-time
    - `billing` object
      - `creditsUsed` integer
      - `creditsRemaining` integer, nullable
      - `tier` 'free' | 'layer_0_discovery' | 'layer_1_profile' | 'layer_2_insight' | 'layer_3_drift' | 'layer_4_cohort'
      - `allowedLayers` integer[]: Cumulative layer ladder unlocked by this key (0=discovery … 4=cohort). free → []; layer_2_insight → [0,1,2].
      - `mode` 'demo' | 'free' | 'payg' | 'keyed': How the caller is billed: demo (feedback-loop key), free (monthly allowance), payg (Developer PAYG), keyed (paid subscription).
  - `errors` ApiError[]
    - `code` 'ENTITY_NOT_RESOLVED' | 'ENTITY_NOT_FOUND' | 'INVALID_PARAMETER' | 'RATE_LIMITED' | 'INSUFFICIENT_CREDITS' | 'TIER_NOT_AVAILABLE' | 'UNAUTHENTICATED' | 'FORBIDDEN' | 'INTERNAL_ERROR', required
    - `message` string, required
    - `field` string
    - `candidates` object[]

---

[API](https://skmtc.dev/entidex/apis/entidex-api.md) · [All operations](https://skmtc.dev/entidex/apis/entidex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/entidex/apis/entidex-api/revisions/86b92f21a09a?raw)
