---
title: "Get a Person"
method: GET
path: "/v1/people/{id}"
tags: ["People", "tier:standard"]
---

# Get a Person

`GET /v1/people/{id}`

## Request

- Base URL: `https://api.particle.pro`
- URL: `https://api.particle.pro/v1/people/{id}`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Returns the comprehensive Person payload including display name, slug, headshot, curated bio, the Person's company-role history (most recent first), known third-party profile links, and an optional knowledge-graph cross-reference. The {id} parameter accepts the Person slug (recommended) or the encoded Person UUID.

## Path parameters

- `id` string, required: Person identifier. Accepts the Person slug (recommended) or the encoded Person UUID returned as 'id' on every Person payload.

## Response `200`

OK

- Person
  - `current_role` PersonCompanyRole
    - `company` CompanyCompact, required
      - `description` string: Short company description, when known.
      - `domain` string: Primary website domain (e.g. 'nvidia.com'), when known.
      - `id` string, required: Company identifier (domain, slug, or encoded ID)
      - `image_url` string: Company logo or image URL
      - `name` string, required: Company name
      - `slug` string: Stable human-readable handle (the linked knowledge-graph slug, e.g. 'nvidia'), when known. Companies have no slug of their own; prefer this for display and pass it (or id) to /v1/companies.
      - `ticker` string: Primary stock ticker symbol, when listed.
    - `ended_at` string, date-time: When the role ended, when known (omitted for current roles)
    - `is_current` boolean, required: Whether the role is currently held
    - `started_at` string, date-time: When the role began, when known
    - `title` string: Role title (e.g. 'Chief Executive Officer')
  - `description` string: Short bio (one-liner) curated for the Person.
  - `detailed_description` string: Longer Wikipedia-grounded bio when available.
  - `external_links` ExternalLink[], nullable: Known third-party profiles (LinkedIn, Wikipedia, social). Discovered asynchronously; a freshly-resolved Person may not yet have all platforms populated.
    - `attributes` ExternalLinkAttribute[], nullable: Optional platform-specific metadata: audience size, profile fields, account status, and related signals. The set varies by platform and grows over time — clients should treat unknown attribute names as additive.
      - `category` string: Broad grouping for the attribute. Today's known values are audience_size, content, profile, and account_status — the set is open and may grow without a versioning event, so clients should treat unrecognised categories as additive rather than invalid.
      - `name` string, required: Platform-native attribute name (e.g. 'subscribers', 'followers', 'views', 'handle'). Vocabulary varies by platform; use Category to group related attributes if you don't recognise the Name.
      - `observed_at` string, date-time: When this attribute was last observed from the upstream source. Omitted when unavailable.
      - `value` unknown, required
    - `identifier` string: Platform-native identifier (numeric id, slug, handle, or full URL). Empty for the 'website' platform, where the URL is the canonical reference.
    - `platform` ExternalLinkPlatform, required
      - `display_name` string, required: Human-readable name suitable for UI display (e.g. 'Apple Podcasts', 'X (Twitter)').
      - `name` string, required: Stable machine name (e.g. 'spotify', 'youtube', 'twitter'). Suitable for filtering or routing on the client.
      - `type` 'podcast_directory' | 'music_service' | 'social_profile' | 'video_channel' | 'community' | 'website' | 'other', required: Broad category for the platform. Use this to group presences in a UI rather than enumerating every Name.
    - `url` string: Resolved web URL for this presence. Built from the identifier via a per-platform template, or passed through for 'website'.
  - `id` string, required: Encoded Person identifier
  - `image_url` string: Canonical headshot URL when one is known for the Person
  - `knowledge_graph_entity` KnowledgeGraphEntityLink
    - `id` string, required: Knowledge graph entity identifier
    - `slug` string: Knowledge graph entity slug
    - `wikipedia_url` string: Wikipedia URL associated with the KGE, when one is recorded
  - `name` string, required: Display name
  - `roles` PersonCompanyRole[], nullable: All known company roles, ordered most-recent first. Includes the current role at index 0.
    - `company` CompanyCompact, required
      - `description` string: Short company description, when known.
      - `domain` string: Primary website domain (e.g. 'nvidia.com'), when known.
      - `id` string, required: Company identifier (domain, slug, or encoded ID)
      - `image_url` string: Company logo or image URL
      - `name` string, required: Company name
      - `slug` string: Stable human-readable handle (the linked knowledge-graph slug, e.g. 'nvidia'), when known. Companies have no slug of their own; prefer this for display and pass it (or id) to /v1/companies.
      - `ticker` string: Primary stock ticker symbol, when listed.
    - `ended_at` string, date-time: When the role ended, when known (omitted for current roles)
    - `is_current` boolean, required: Whether the role is currently held
    - `started_at` string, date-time: When the role began, when known
    - `title` string: Role title (e.g. 'Chief Executive Officer')
  - `slug` string: Stable human-readable handle (e.g. 'satya-nadella'). Recommended canonical identifier on every Particle Pro person surface.
  - `sports` PersonSports
    - `current_team` PersonSportsCurrentTeam
      - `as_of` string, date-time, required: When the roster was read. Rosters are read daily.
      - `entity_slug` string: Knowledge graph entity slug of the team, accepted by /v1/entities/{id}.
      - `league` 'NFL' | 'MLB' | 'NHL', required: League whose roster lists the Person.
      - `name` string, required: Team name.
    - `leagues` PersonSportsLeague[], nullable: Leagues recorded on the Person directly, latest start first. Most team athletes have none: their league is on each team.
      - `end_year` integer: Year the stint ended, when recorded. A missing end_year does not by itself mean the stint is current: Wikidata often leaves a retired athlete's last team open. For NFL, MLB and NHL players, current_team names the team today.
      - `entity_slug` string: Knowledge graph entity slug of the league, accepted by /v1/entities/{id}.
      - `name` string, required: League name.
      - `start_year` integer: Year the stint began, when recorded.
    - `sports` string[], nullable: Sports the Person plays or played, e.g. 'American football'.
    - `teams` PersonSportsTeam[], nullable: Teams the Person played for or coached, latest start first; stints with no recorded start come last.
      - `end_year` integer: Year the stint ended, when recorded. A missing end_year does not by itself mean the stint is current: Wikidata often leaves a retired athlete's last team open. For NFL, MLB and NHL players, current_team names the team today.
      - `entity_slug` string: Knowledge graph entity slug of the team, accepted by /v1/entities/{id}.
      - `leagues` string[], nullable: Leagues the team plays in today, which may differ from its league during the stint.
      - `name` string, required: Team name.
      - `role` 'athlete' | 'coach', required: Whether the Person played for the team or coached it.
      - `start_year` integer: Year the stint began, when recorded.

## Other responses

- `402`: Payment Required. Read error_code. payment_required is the x402 path: either a keyless request being challenged — pay $0.01 in USDC per request (requirements in the PAYMENT-REQUIRED header) or send a pp_ API key — or a supplied payment that failed settlement (details in the PAYMENT-RESPONSE header; retry the same signature before signing a new one). See https://docs.particle.pro/x402. Any other code means the credential was accepted but does not cover this request (a plan or session gate such as premium_required or paid_plan_confirmation_required); its resolve says how to obtain access, and no payment header is sent.
- `default`: Error

---

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