> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.aventure.vc/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.aventure.vc/_mcp/server.

# Get person graph

GET https://api.aventure.vc/v1/people/{personId}/graph

Returns the precomputed person-graph document: career context per associated entity (entity facts, recent news, colleagues, similar entities with key people), co-investors, and role peers. Lists are capped and pre-ranked; the response is the display order. Hidden people and entities are excluded at materialization. When no document has been materialized yet, returns empty lists with computedAt=null and schedules an asynchronous recompute.

Reference: https://docs.aventure.vc/api-reference/a-venture-api/people/get-person-graph

## Authentication

- `X-Client-Secret` header (required) — Client secret for read-only service-to-service access (no writes)

## Request

### Path parameters

- `personId` (string, required) — Canonical person UUID

## Response

### 200

OK

- `careerContext` (list of object, required) — One entry per entity the person holds or held an association with, current first
  - `colleague` (list of object, required) — People associated with the same entity, excluding the subject person, ranked by currency and recency
    - `personId` (string, required) — Associated person id
    - `personImage` (object, required) — Person image projection
      - `isMonogram` (boolean, required) — Whether person image monogram
      - `picture` (string, optional, nullable)
    - `personName` (string, required) — Person display name
    - `personSlug` (string, required) — Canonical lowercase URL slug for the resource
    - `isCurrent` (boolean, optional, nullable)
    - `titleName` (string, optional, nullable) — Read-side corporate title text for the association row
  - `entity` (object, required) — Entity card projection: core identity plus aggregate funding rollup
    - `core` (object, required) — Flat entity core record — identity, naming, status, image, and source metadata. An entity is our umbrella record for organizations such as companies, funds, investment firms and investors, accelerators, nonprofits, and government agencies, plus products and services connected to those organizations. Returned directly by thin-mode (?mode=thin) and alphabetical (?letter=X) list endpoints. Nested as .core inside EntityList for default list reads and EntityDetail for detail reads.
      - `id` (string, required) — Unique entity identifier
      - `image` (object, required) — Logo and monogram image metadata
        - `isMonogram` (boolean, required) — Whether entity image monogram
        - `logo` (string, optional, nullable)
        - `logoSquare` (string, optional, nullable)
      - `nameAlias` (list of object, required) — All names this entity has been known by — current alternates, DBAs, former names, and rebrand-source identities. Naming history (e.g. `Metaphor Systems` for the current `Exa` entity) lives here; never as a separate relationship type or `formerName` field.
        - `name` (string, required) — Alternate name text
        - `displayable` (boolean, optional, nullable) — Show this alias in public name displays.
        - `type` (enum, optional, nullable) — Alias type classification
          - Allowed values: `alternativeDba`, `relatedLegal`
      - `nameBrand` (string, required) — Resolved display brand name
      - `slug` (string, required) — URL-safe identifier
      - `createdAt` (datetime, optional, nullable) — Record creation timestamp
      - `defaultCurrency` (string, optional, nullable) — Default currency code (ISO 4217)
      - `foundedYear` (integer, optional, nullable) — Year the entity was founded
      - `lastModifiedAt` (datetime, optional, nullable) — Provenance-grounded last-modified watermark (schema.org dateModified). Advances only when a real, consumer-meaningful data point changes via a recorded provenance event — never on timestamp-only writes, migrations, or index refreshes. Pairs with createdAt (dateCreated) and grounds the sitemap lastmod.
      - `nameLegal` (string, optional, nullable) — Registered legal name
      - `operatingStatus` (string, optional, nullable) — Current operating status. Use Acquired Subsidiary when the entity was acquired and still operates; use Acquired only when it is terminal, folded, or closed.
      - `publicId` (string, optional, nullable) — Stable, immutable public handle (e.g. `eV1StGXR8Z5a`). Never changes once assigned, unlike the slug. Null on projections that do not select it and on rows still awaiting handle backfill.
      - `publicUrl` (string, optional, nullable) — Absolute public profile URL on the aVenture front-end, e.g. `https://aventure.vc/non-profits/{slug}`, derived from the typeRecord's canonical route family. Null when the route needs relationship context or the record has no direct public SSR route (Business Line, Organization, Product, Service, or a non-public slug). EntityDetail.publicUrl resolves Business Line parent context. Product/Service pages are provider-nested: compose the provider entity's publicUrl + `/products-services/` + this record's slug, or consume the sitemap-urls slot paths, which already emit the composed child routes.
      - `sitemap` (object, optional, nullable) — Sub-route eligibility, populated by the sitemap projection. Null on non-sitemap reads to keep thin payloads compact.
        - `hasAnalysis` (boolean, required) — Whether the profile Analysis sub-route should be emitted.
        - `hasEmployees` (boolean, required) — Whether the profile Employees sub-route should be emitted.
        - `hasFundraising` (boolean, required) — Whether the profile Fundraising sub-route should be emitted.
        - `hasNews` (boolean, required) — Whether the profile News sub-route should be emitted.
        - `productServiceSlug` (list of string, required) — Slugs of related Product/Service entities that should each get their own `/companies/<slug>/products-services/<productSlug>` URL, capped at `MAX_PRODUCT_SERVICE_SLUGS` server-side. Derived from current `productService` relationships in either stored direction; the entity relationships resource is the authoritative, read-your-writes view of those joins.
        - `hasAcquisitions` (boolean, optional, default: false) — Whether `/companies/<slug>/acquisitions` should be emitted. True only when an acquisition relationship exists AND both the acquired and acquirer entities are publicly visible. A confirmed acquisition relationship row with this flag `false` (or with `entities acquisitions list` returning zero rows) means a counterpart entity is still hidden -- publish it -- it is a visibility gate, not list lag.
      - `typeRecord` (enum, optional, nullable) — Entity type classification
        - Allowed values: `Company`, `Investment Firm`, `Fund`, `Nonprofit`, `Government`, `Organization`, `Business Line`, `Product`, `Service`
      - `updatedAt` (datetime, optional, nullable) — Last modification timestamp
    - `fundingDetail` (object, optional, nullable) — Aggregate view of an entity's fundraising activity
      - `fundingRoundCount` (integer, required)
      - `investorCount` (integer, required)
      - `totalRaised` (double, required)
      - `latestValuation` (double, optional, nullable)
      - `mostRecentAmount` (double, optional, nullable)
      - `mostRecentDate` (date, optional, nullable)
      - `stage` (enum, optional, nullable) — Canonical inferred equity, entity-type, or Company operating-status stage emitted by the entity fundraise rollup. Transaction classifications such as Debt, IPO, and Acquisition are not entity stages.
        - Allowed values: `Angel`, `Pre-Seed`, `Seed`, `Series A`, `Series B`, `Series C`, `Series D`, `Series E`, `Series F`, `Series G`, `Series H`, `Series I`, `Series J`, `Series K`, `Series L`, `Series M`, `Series N`, `Series O`, `Series P`, `Series Q`, `Series R`, `Series S`, `Series T`, `Series U`, `Series V`, `Series W`, `Series X`, `Series Y`, `Series Z`, `Investment Firm`, `Fund`, `Nonprofit`, `Government`, `Public`, `Acquired`, `Acquired Subsidiary`
  - `recentNews` (list of object, required) — Most recent news linked to the entity, newest first
    - `id` (integer, required) — Type-safe identifier for news articles
    - `title` (string, required) — Article headline; the headline field is title
    - `author` (string, optional, nullable)
    - `category` (string, optional, nullable)
    - `createdAt` (datetime, optional, nullable)
    - `excerpt` (string, optional, nullable) — Article summary from the source publication feed; null means the feed supplied no description (expected absence, not an error) — full text is NewsDetail.content
    - `externalNewsArticle` (boolean, optional, nullable)
    - `newsImageThumbnail` (string, optional, nullable)
    - `newsUrlOriginal` (string, optional, nullable)
    - `pendingApproval` (integer, optional, nullable)
    - `publication` (string, optional, nullable)
    - `publishedAt` (datetime, optional, nullable)
    - `slug` (string, optional, nullable) — Canonical lowercase URL slug for the resource
    - `updatedAt` (datetime, optional, nullable)
  - `similarEntity` (list of object, required) — Entities similar to this entity, from the entity similarity rails
    - `entity` (object, required) — Entity card projection: core identity plus aggregate funding rollup
      - `core` (object, required) — Flat entity core record — identity, naming, status, image, and source metadata. An entity is our umbrella record for organizations such as companies, funds, investment firms and investors, accelerators, nonprofits, and government agencies, plus products and services connected to those organizations. Returned directly by thin-mode (?mode=thin) and alphabetical (?letter=X) list endpoints. Nested as .core inside EntityList for default list reads and EntityDetail for detail reads.
        - `id` (string, required) — Unique entity identifier
        - `image` (object, required) — Logo and monogram image metadata
          - `isMonogram` (boolean, required) — Whether entity image monogram
          - `logo` (string, optional, nullable)
          - `logoSquare` (string, optional, nullable)
        - `nameAlias` (list of object, required) — All names this entity has been known by — current alternates, DBAs, former names, and rebrand-source identities. Naming history (e.g. `Metaphor Systems` for the current `Exa` entity) lives here; never as a separate relationship type or `formerName` field.
          - `name` (string, required) — Alternate name text
          - `displayable` (boolean, optional, nullable) — Show this alias in public name displays.
          - `type` (enum, optional, nullable) — Alias type classification
            - Allowed values: `alternativeDba`, `relatedLegal`
        - `nameBrand` (string, required) — Resolved display brand name
        - `slug` (string, required) — URL-safe identifier
        - `createdAt` (datetime, optional, nullable) — Record creation timestamp
        - `defaultCurrency` (string, optional, nullable) — Default currency code (ISO 4217)
        - `foundedYear` (integer, optional, nullable) — Year the entity was founded
        - `lastModifiedAt` (datetime, optional, nullable) — Provenance-grounded last-modified watermark (schema.org dateModified). Advances only when a real, consumer-meaningful data point changes via a recorded provenance event — never on timestamp-only writes, migrations, or index refreshes. Pairs with createdAt (dateCreated) and grounds the sitemap lastmod.
        - `nameLegal` (string, optional, nullable) — Registered legal name
        - `operatingStatus` (string, optional, nullable) — Current operating status. Use Acquired Subsidiary when the entity was acquired and still operates; use Acquired only when it is terminal, folded, or closed.
        - `publicId` (string, optional, nullable) — Stable, immutable public handle (e.g. `eV1StGXR8Z5a`). Never changes once assigned, unlike the slug. Null on projections that do not select it and on rows still awaiting handle backfill.
        - `publicUrl` (string, optional, nullable) — Absolute public profile URL on the aVenture front-end, e.g. `https://aventure.vc/non-profits/{slug}`, derived from the typeRecord's canonical route family. Null when the route needs relationship context or the record has no direct public SSR route (Business Line, Organization, Product, Service, or a non-public slug). EntityDetail.publicUrl resolves Business Line parent context. Product/Service pages are provider-nested: compose the provider entity's publicUrl + `/products-services/` + this record's slug, or consume the sitemap-urls slot paths, which already emit the composed child routes.
        - `sitemap` (object, optional, nullable) — Sub-route eligibility, populated by the sitemap projection. Null on non-sitemap reads to keep thin payloads compact.
          - `hasAnalysis` (boolean, required) — Whether the profile Analysis sub-route should be emitted.
          - `hasEmployees` (boolean, required) — Whether the profile Employees sub-route should be emitted.
          - `hasFundraising` (boolean, required) — Whether the profile Fundraising sub-route should be emitted.
          - `hasNews` (boolean, required) — Whether the profile News sub-route should be emitted.
          - `productServiceSlug` (list of string, required) — Slugs of related Product/Service entities that should each get their own `/companies/<slug>/products-services/<productSlug>` URL, capped at `MAX_PRODUCT_SERVICE_SLUGS` server-side. Derived from current `productService` relationships in either stored direction; the entity relationships resource is the authoritative, read-your-writes view of those joins.
          - `hasAcquisitions` (boolean, optional, default: false) — Whether `/companies/<slug>/acquisitions` should be emitted. True only when an acquisition relationship exists AND both the acquired and acquirer entities are publicly visible. A confirmed acquisition relationship row with this flag `false` (or with `entities acquisitions list` returning zero rows) means a counterpart entity is still hidden -- publish it -- it is a visibility gate, not list lag.
        - `typeRecord` (enum, optional, nullable) — Entity type classification
          - Allowed values: `Company`, `Investment Firm`, `Fund`, `Nonprofit`, `Government`, `Organization`, `Business Line`, `Product`, `Service`
        - `updatedAt` (datetime, optional, nullable) — Last modification timestamp
      - `fundingDetail` (object, optional, nullable) — Aggregate view of an entity's fundraising activity
        - `fundingRoundCount` (integer, required)
        - `investorCount` (integer, required)
        - `totalRaised` (double, required)
        - `latestValuation` (double, optional, nullable)
        - `mostRecentAmount` (double, optional, nullable)
        - `mostRecentDate` (date, optional, nullable)
        - `stage` (enum, optional, nullable) — Canonical inferred equity, entity-type, or Company operating-status stage emitted by the entity fundraise rollup. Transaction classifications such as Debt, IPO, and Acquisition are not entity stages.
          - Allowed values: `Angel`, `Pre-Seed`, `Seed`, `Series A`, `Series B`, `Series C`, `Series D`, `Series E`, `Series F`, `Series G`, `Series H`, `Series I`, `Series J`, `Series K`, `Series L`, `Series M`, `Series N`, `Series O`, `Series P`, `Series Q`, `Series R`, `Series S`, `Series T`, `Series U`, `Series V`, `Series W`, `Series X`, `Series Y`, `Series Z`, `Investment Firm`, `Fund`, `Nonprofit`, `Government`, `Public`, `Acquired`, `Acquired Subsidiary`
    - `keyPerson` (list of object, required) — Top-ranked current people at the similar entity
      - `personId` (string, required) — Associated person id
      - `personImage` (object, required) — Person image projection
        - `isMonogram` (boolean, required) — Whether person image monogram
        - `picture` (string, optional, nullable)
      - `personName` (string, required) — Person display name
      - `personSlug` (string, required) — Canonical lowercase URL slug for the resource
      - `isCurrent` (boolean, optional, nullable)
      - `titleName` (string, optional, nullable) — Read-side corporate title text for the association row
  - `employeeCount` (object, optional, nullable) — Most recent employee-count research fact when one is recorded
    - `asOfDate` (datetime, required)
    - `fact` (object, required) — Canonical typed fact value nested under entity research fields
      - `valueType` (enum, required) — Output kind for governed research detail values
        - Allowed values: `text`, `numeric`, `monetary`, `percentage`, `date`
      - `asOfDate` (datetime, optional, nullable)
      - `dataConfidence` (enum, optional, nullable) — Confidence tier stored verbatim in res_entity_detail.data_confidence.
        - Allowed values: `low`, `medium`, `high`
      - `dateValue` (datetime, optional, nullable)
      - `numericValue` (double, optional, nullable)
      - `referenceValue` (string, optional, nullable)
      - `source` (string, optional, nullable)
      - `textValue` (string, optional, nullable)
      - `updatedAt` (datetime, optional, nullable)
    - `id` (string, required)
  - `primaryAddress` (object, optional, nullable) — Primary address of the entity when one is recorded
    - `address` (integer, optional, nullable) — Legacy address row identifier
    - `addressLine1` (string, optional, nullable)
    - `addressLine2` (string, optional, nullable)
    - `association` (list of object, optional) — Role-period associations for this physical address
      - `id` (integer, required) — Address association row identifier
      - `isCurrent` (boolean, required) — Whether this role is currently relevant
      - `endDate` (date, optional, nullable) — Last known day this role applied
      - `role` (enum, optional, nullable) — Address association role; null means unclassified
        - Allowed values: `domicile`, `dominant`, `origin`
      - `startDate` (date, optional, nullable) — First known day this role applied
    - `city` (object, optional, nullable) — City reference
      - `name` (string, required) — City name
      - `id` (integer, optional, nullable)
    - `country` (object, optional, nullable) — Country reference
      - `name` (string, required) — Country name
      - `countryCodeChar2` (string, optional, nullable) — Two-letter country code
      - `countryCodeChar3` (string, optional, nullable) — Three-letter country code
      - `id` (integer, optional, nullable)
      - `unRegion` (string, optional, nullable)
      - `unSubregion` (string, optional, nullable)
    - `countryAbbrev` (string, optional, nullable)
    - `createdAt` (datetime, optional, nullable)
    - `fullAddress` (string, optional, nullable) — Single-line formatted address
    - `id` (integer, optional, nullable) — Address record identifier
    - `latitude` (double, optional, nullable)
    - `longitude` (double, optional, nullable)
    - `postalCode` (string, optional, nullable)
    - `state` (object, optional, nullable) — State or region reference
      - `name` (string, required) — State or region name
      - `id` (integer, optional, nullable)
      - `stateAbbrev` (string, optional, nullable) — State or region abbreviation
    - `stateAbbrev` (string, optional, nullable)
    - `street` (string, optional, nullable)
    - `updatedAt` (datetime, optional, nullable)
    - `isCurrent` (boolean, optional, nullable, deprecated) — Deprecated aggregate compatibility flag; true when any association is current
    - `isHq` (boolean, optional, nullable, deprecated) — Deprecated legacy flag marking the headquarters or legal/registered address
    - `isPrimary` (boolean, optional, nullable, deprecated) — Deprecated legacy flag marking the primary display address
- `coInvestor` (list of object, required) — People who participated in the same fundraise transactions or invested in the same companies, ranked by overlap count and recency
  - `overlapCount` (integer, required) — Number of shared fundraise transactions between the two people
  - `person` (object, required) — Co-investing person rail member
    - `personId` (string, required) — Associated person id
    - `personImage` (object, required) — Person image projection
      - `isMonogram` (boolean, required) — Whether person image monogram
      - `picture` (string, optional, nullable)
    - `personName` (string, required) — Person display name
    - `personSlug` (string, required) — Canonical lowercase URL slug for the resource
    - `isCurrent` (boolean, optional, nullable)
    - `titleName` (string, optional, nullable) — Read-side corporate title text for the association row
  - `round` (string, optional, nullable) — Round label of the shared fundraise transaction
  - `sharedEntity` (object, optional, nullable) — Entity whose fundraise both people participated in (association projection)
    - `id` (string, required) — Unique entity identifier
    - `image` (object, required) — Logo and monogram image metadata
      - `isMonogram` (boolean, required) — Whether entity image monogram
      - `logo` (string, optional, nullable)
      - `logoSquare` (string, optional, nullable)
    - `nameAlias` (list of object, required) — All names this entity has been known by — current alternates, DBAs, former names, and rebrand-source identities. Naming history (e.g. `Metaphor Systems` for the current `Exa` entity) lives here; never as a separate relationship type or `formerName` field.
      - `name` (string, required) — Alternate name text
      - `displayable` (boolean, optional, nullable) — Show this alias in public name displays.
      - `type` (enum, optional, nullable) — Alias type classification
        - Allowed values: `alternativeDba`, `relatedLegal`
    - `nameBrand` (string, required) — Resolved display brand name
    - `slug` (string, required) — URL-safe identifier
    - `createdAt` (datetime, optional, nullable) — Record creation timestamp
    - `defaultCurrency` (string, optional, nullable) — Default currency code (ISO 4217)
    - `foundedYear` (integer, optional, nullable) — Year the entity was founded
    - `lastModifiedAt` (datetime, optional, nullable) — Provenance-grounded last-modified watermark (schema.org dateModified). Advances only when a real, consumer-meaningful data point changes via a recorded provenance event — never on timestamp-only writes, migrations, or index refreshes. Pairs with createdAt (dateCreated) and grounds the sitemap lastmod.
    - `nameLegal` (string, optional, nullable) — Registered legal name
    - `operatingStatus` (string, optional, nullable) — Current operating status. Use Acquired Subsidiary when the entity was acquired and still operates; use Acquired only when it is terminal, folded, or closed.
    - `publicId` (string, optional, nullable) — Stable, immutable public handle (e.g. `eV1StGXR8Z5a`). Never changes once assigned, unlike the slug. Null on projections that do not select it and on rows still awaiting handle backfill.
    - `publicUrl` (string, optional, nullable) — Absolute public profile URL on the aVenture front-end, e.g. `https://aventure.vc/non-profits/{slug}`, derived from the typeRecord's canonical route family. Null when the route needs relationship context or the record has no direct public SSR route (Business Line, Organization, Product, Service, or a non-public slug). EntityDetail.publicUrl resolves Business Line parent context. Product/Service pages are provider-nested: compose the provider entity's publicUrl + `/products-services/` + this record's slug, or consume the sitemap-urls slot paths, which already emit the composed child routes.
    - `sitemap` (object, optional, nullable) — Sub-route eligibility, populated by the sitemap projection. Null on non-sitemap reads to keep thin payloads compact.
      - `hasAnalysis` (boolean, required) — Whether the profile Analysis sub-route should be emitted.
      - `hasEmployees` (boolean, required) — Whether the profile Employees sub-route should be emitted.
      - `hasFundraising` (boolean, required) — Whether the profile Fundraising sub-route should be emitted.
      - `hasNews` (boolean, required) — Whether the profile News sub-route should be emitted.
      - `productServiceSlug` (list of string, required) — Slugs of related Product/Service entities that should each get their own `/companies/<slug>/products-services/<productSlug>` URL, capped at `MAX_PRODUCT_SERVICE_SLUGS` server-side. Derived from current `productService` relationships in either stored direction; the entity relationships resource is the authoritative, read-your-writes view of those joins.
      - `hasAcquisitions` (boolean, optional, default: false) — Whether `/companies/<slug>/acquisitions` should be emitted. True only when an acquisition relationship exists AND both the acquired and acquirer entities are publicly visible. A confirmed acquisition relationship row with this flag `false` (or with `entities acquisitions list` returning zero rows) means a counterpart entity is still hidden -- publish it -- it is a visibility gate, not list lag.
    - `typeRecord` (enum, optional, nullable) — Entity type classification
      - Allowed values: `Company`, `Investment Firm`, `Fund`, `Nonprofit`, `Government`, `Organization`, `Business Line`, `Product`, `Service`
    - `updatedAt` (datetime, optional, nullable) — Last modification timestamp
  - `transactionId` (string, optional, nullable) — Shared fundraise transaction id
- `rolePeer` (list of object, required) — People holding the same title at sector-comparable companies, ranked by entity prominence
  - `entity` (object, required) — Entity where the peer holds the matched title (association projection)
    - `id` (string, required) — Unique entity identifier
    - `image` (object, required) — Logo and monogram image metadata
      - `isMonogram` (boolean, required) — Whether entity image monogram
      - `logo` (string, optional, nullable)
      - `logoSquare` (string, optional, nullable)
    - `nameAlias` (list of object, required) — All names this entity has been known by — current alternates, DBAs, former names, and rebrand-source identities. Naming history (e.g. `Metaphor Systems` for the current `Exa` entity) lives here; never as a separate relationship type or `formerName` field.
      - `name` (string, required) — Alternate name text
      - `displayable` (boolean, optional, nullable) — Show this alias in public name displays.
      - `type` (enum, optional, nullable) — Alias type classification
        - Allowed values: `alternativeDba`, `relatedLegal`
    - `nameBrand` (string, required) — Resolved display brand name
    - `slug` (string, required) — URL-safe identifier
    - `createdAt` (datetime, optional, nullable) — Record creation timestamp
    - `defaultCurrency` (string, optional, nullable) — Default currency code (ISO 4217)
    - `foundedYear` (integer, optional, nullable) — Year the entity was founded
    - `lastModifiedAt` (datetime, optional, nullable) — Provenance-grounded last-modified watermark (schema.org dateModified). Advances only when a real, consumer-meaningful data point changes via a recorded provenance event — never on timestamp-only writes, migrations, or index refreshes. Pairs with createdAt (dateCreated) and grounds the sitemap lastmod.
    - `nameLegal` (string, optional, nullable) — Registered legal name
    - `operatingStatus` (string, optional, nullable) — Current operating status. Use Acquired Subsidiary when the entity was acquired and still operates; use Acquired only when it is terminal, folded, or closed.
    - `publicId` (string, optional, nullable) — Stable, immutable public handle (e.g. `eV1StGXR8Z5a`). Never changes once assigned, unlike the slug. Null on projections that do not select it and on rows still awaiting handle backfill.
    - `publicUrl` (string, optional, nullable) — Absolute public profile URL on the aVenture front-end, e.g. `https://aventure.vc/non-profits/{slug}`, derived from the typeRecord's canonical route family. Null when the route needs relationship context or the record has no direct public SSR route (Business Line, Organization, Product, Service, or a non-public slug). EntityDetail.publicUrl resolves Business Line parent context. Product/Service pages are provider-nested: compose the provider entity's publicUrl + `/products-services/` + this record's slug, or consume the sitemap-urls slot paths, which already emit the composed child routes.
    - `sitemap` (object, optional, nullable) — Sub-route eligibility, populated by the sitemap projection. Null on non-sitemap reads to keep thin payloads compact.
      - `hasAnalysis` (boolean, required) — Whether the profile Analysis sub-route should be emitted.
      - `hasEmployees` (boolean, required) — Whether the profile Employees sub-route should be emitted.
      - `hasFundraising` (boolean, required) — Whether the profile Fundraising sub-route should be emitted.
      - `hasNews` (boolean, required) — Whether the profile News sub-route should be emitted.
      - `productServiceSlug` (list of string, required) — Slugs of related Product/Service entities that should each get their own `/companies/<slug>/products-services/<productSlug>` URL, capped at `MAX_PRODUCT_SERVICE_SLUGS` server-side. Derived from current `productService` relationships in either stored direction; the entity relationships resource is the authoritative, read-your-writes view of those joins.
      - `hasAcquisitions` (boolean, optional, default: false) — Whether `/companies/<slug>/acquisitions` should be emitted. True only when an acquisition relationship exists AND both the acquired and acquirer entities are publicly visible. A confirmed acquisition relationship row with this flag `false` (or with `entities acquisitions list` returning zero rows) means a counterpart entity is still hidden -- publish it -- it is a visibility gate, not list lag.
    - `typeRecord` (enum, optional, nullable) — Entity type classification
      - Allowed values: `Company`, `Investment Firm`, `Fund`, `Nonprofit`, `Government`, `Organization`, `Business Line`, `Product`, `Service`
    - `updatedAt` (datetime, optional, nullable) — Last modification timestamp
  - `person` (object, required) — Role-peer person rail member; titleName carries the matched title
    - `personId` (string, required) — Associated person id
    - `personImage` (object, required) — Person image projection
      - `isMonogram` (boolean, required) — Whether person image monogram
      - `picture` (string, optional, nullable)
    - `personName` (string, required) — Person display name
    - `personSlug` (string, required) — Canonical lowercase URL slug for the resource
    - `isCurrent` (boolean, optional, nullable)
    - `titleName` (string, optional, nullable) — Read-side corporate title text for the association row
- `computedAt` (datetime, optional, nullable) — Instant the document was materialized; null only when no document exists yet and an asynchronous recompute has been requested

## Examples

**Response**

```json
{
  "careerContext": [
    {
      "colleague": [
        {
          "personId": "string",
          "personImage": {
            "isMonogram": true,
            "picture": "string"
          },
          "personName": "string",
          "personSlug": "aventure-vc",
          "isCurrent": true,
          "titleName": "string"
        }
      ],
      "entity": {
        "core": {
          "id": "string",
          "image": {
            "isMonogram": true,
            "logo": "string",
            "logoSquare": "string"
          },
          "nameAlias": [
            {
              "name": "Bun",
              "displayable": true,
              "type": "alternativeDba"
            }
          ],
          "nameBrand": "string",
          "slug": "aventure-vc",
          "createdAt": "2024-01-15T09:30:00Z",
          "defaultCurrency": "string",
          "foundedYear": 1,
          "lastModifiedAt": "2024-01-15T09:30:00Z",
          "nameLegal": "string",
          "operatingStatus": "string",
          "publicId": "eV1StGXR8Z5a",
          "publicUrl": "string",
          "sitemap": {
            "hasAnalysis": true,
            "hasEmployees": true,
            "hasFundraising": true,
            "hasNews": true,
            "productServiceSlug": [
              "string"
            ],
            "hasAcquisitions": false
          },
          "typeRecord": "Company",
          "updatedAt": "2024-01-15T09:30:00Z"
        },
        "fundingDetail": {
          "fundingRoundCount": 1,
          "investorCount": 1,
          "totalRaised": 1.1,
          "latestValuation": 1.1,
          "mostRecentAmount": 1.1,
          "mostRecentDate": "2023-01-15",
          "stage": "Angel"
        }
      },
      "recentNews": [
        {
          "id": 1,
          "title": "string",
          "author": "string",
          "category": "string",
          "createdAt": "2024-01-15T09:30:00Z",
          "excerpt": "string",
          "externalNewsArticle": true,
          "newsImageThumbnail": "string",
          "newsUrlOriginal": "string",
          "pendingApproval": 1,
          "publication": "string",
          "publishedAt": "2024-01-15T09:30:00Z",
          "slug": "aventure-vc",
          "updatedAt": "2024-01-15T09:30:00Z"
        }
      ],
      "similarEntity": [
        {
          "entity": {
            "core": {
              "id": "string",
              "image": {
                "isMonogram": true,
                "logo": "string",
                "logoSquare": "string"
              },
              "nameAlias": [
                {
                  "name": "Bun",
                  "displayable": true,
                  "type": "alternativeDba"
                }
              ],
              "nameBrand": "string",
              "slug": "aventure-vc",
              "createdAt": "2024-01-15T09:30:00Z",
              "defaultCurrency": "string",
              "foundedYear": 1,
              "lastModifiedAt": "2024-01-15T09:30:00Z",
              "nameLegal": "string",
              "operatingStatus": "string",
              "publicId": "eV1StGXR8Z5a",
              "publicUrl": "string",
              "sitemap": {
                "hasAnalysis": true,
                "hasEmployees": true,
                "hasFundraising": true,
                "hasNews": true,
                "productServiceSlug": [
                  "string"
                ],
                "hasAcquisitions": false
              },
              "typeRecord": "Company",
              "updatedAt": "2024-01-15T09:30:00Z"
            },
            "fundingDetail": {
              "fundingRoundCount": 1,
              "investorCount": 1,
              "totalRaised": 1.1,
              "latestValuation": 1.1,
              "mostRecentAmount": 1.1,
              "mostRecentDate": "2023-01-15",
              "stage": "Angel"
            }
          },
          "keyPerson": [
            {
              "personId": "string",
              "personImage": {
                "isMonogram": true,
                "picture": "string"
              },
              "personName": "string",
              "personSlug": "aventure-vc",
              "isCurrent": true,
              "titleName": "string"
            }
          ]
        }
      ],
      "employeeCount": {
        "asOfDate": "2024-01-15T09:30:00Z",
        "fact": {
          "valueType": "text",
          "asOfDate": "2024-01-15T09:30:00Z",
          "dataConfidence": "low",
          "dateValue": "2024-01-15T09:30:00Z",
          "numericValue": 1.1,
          "referenceValue": "string",
          "source": "string",
          "textValue": "string",
          "updatedAt": "2024-01-15T09:30:00Z"
        },
        "id": "string"
      },
      "primaryAddress": {
        "address": 456,
        "addressLine1": "string",
        "addressLine2": "string",
        "association": [
          {
            "id": 123,
            "isCurrent": true,
            "endDate": "2023-01-15",
            "role": "domicile",
            "startDate": "2023-01-15"
          }
        ],
        "city": {
          "name": "Boston",
          "id": 1
        },
        "country": {
          "name": "United States",
          "countryCodeChar2": "US",
          "countryCodeChar3": "USA",
          "id": 1,
          "unRegion": "string",
          "unSubregion": "string"
        },
        "countryAbbrev": "string",
        "createdAt": "2024-01-15T09:30:00Z",
        "fullAddress": "123 Main St, Boston, MA 02110, USA",
        "id": 123,
        "latitude": 1.1,
        "longitude": 1.1,
        "postalCode": "string",
        "state": {
          "name": "Massachusetts",
          "id": 1,
          "stateAbbrev": "MA"
        },
        "stateAbbrev": "string",
        "street": "string",
        "updatedAt": "2024-01-15T09:30:00Z",
        "isCurrent": true,
        "isHq": true,
        "isPrimary": true
      }
    }
  ],
  "coInvestor": [
    {
      "overlapCount": 1,
      "person": {
        "personId": "string",
        "personImage": {
          "isMonogram": true,
          "picture": "string"
        },
        "personName": "string",
        "personSlug": "aventure-vc",
        "isCurrent": true,
        "titleName": "string"
      },
      "round": "string",
      "sharedEntity": {
        "id": "string",
        "image": {
          "isMonogram": true,
          "logo": "string",
          "logoSquare": "string"
        },
        "nameAlias": [
          {
            "name": "Bun",
            "displayable": true,
            "type": "alternativeDba"
          }
        ],
        "nameBrand": "string",
        "slug": "aventure-vc",
        "createdAt": "2024-01-15T09:30:00Z",
        "defaultCurrency": "string",
        "foundedYear": 1,
        "lastModifiedAt": "2024-01-15T09:30:00Z",
        "nameLegal": "string",
        "operatingStatus": "string",
        "publicId": "eV1StGXR8Z5a",
        "publicUrl": "string",
        "sitemap": {
          "hasAnalysis": true,
          "hasEmployees": true,
          "hasFundraising": true,
          "hasNews": true,
          "productServiceSlug": [
            "string"
          ],
          "hasAcquisitions": false
        },
        "typeRecord": "Company",
        "updatedAt": "2024-01-15T09:30:00Z"
      },
      "transactionId": "string"
    }
  ],
  "rolePeer": [
    {
      "entity": {
        "id": "string",
        "image": {
          "isMonogram": true,
          "logo": "string",
          "logoSquare": "string"
        },
        "nameAlias": [
          {
            "name": "Bun",
            "displayable": true,
            "type": "alternativeDba"
          }
        ],
        "nameBrand": "string",
        "slug": "aventure-vc",
        "createdAt": "2024-01-15T09:30:00Z",
        "defaultCurrency": "string",
        "foundedYear": 1,
        "lastModifiedAt": "2024-01-15T09:30:00Z",
        "nameLegal": "string",
        "operatingStatus": "string",
        "publicId": "eV1StGXR8Z5a",
        "publicUrl": "string",
        "sitemap": {
          "hasAnalysis": true,
          "hasEmployees": true,
          "hasFundraising": true,
          "hasNews": true,
          "productServiceSlug": [
            "string"
          ],
          "hasAcquisitions": false
        },
        "typeRecord": "Company",
        "updatedAt": "2024-01-15T09:30:00Z"
      },
      "person": {
        "personId": "string",
        "personImage": {
          "isMonogram": true,
          "picture": "string"
        },
        "personName": "string",
        "personSlug": "aventure-vc",
        "isCurrent": true,
        "titleName": "string"
      }
    }
  ],
  "computedAt": "2024-01-15T09:30:00Z"
}
```

**SDK Code**

```python
import requests

url = "https://api.aventure.vc/v1/people/personId/graph"

headers = {"X-Client-Secret": "<apiKey>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.aventure.vc/v1/people/personId/graph';
const options = {method: 'GET', headers: {'X-Client-Secret': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.aventure.vc/v1/people/personId/graph"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("X-Client-Secret", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.aventure.vc/v1/people/personId/graph")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["X-Client-Secret"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.aventure.vc/v1/people/personId/graph")
  .header("X-Client-Secret", "<apiKey>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.aventure.vc/v1/people/personId/graph', [
  'headers' => [
    'X-Client-Secret' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.aventure.vc/v1/people/personId/graph");
var request = new RestRequest(Method.GET);
request.AddHeader("X-Client-Secret", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["X-Client-Secret": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.aventure.vc/v1/people/personId/graph")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```