> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arrays.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Get person

> [OpenAPI JSON Spec](/docs/output/v1_persons_person-id_get.json)



## OpenAPI

````yaml /api-reference/openapi.json get /v1/persons/{person_id}
openapi: 3.0.0
info:
  contact: {}
  description: >-
    Welcome to Arrays!


    Arrays is a unified financial data layer for both financial institutions and
    retail users, delivering comprehensive market data across crypto and equity
    markets. Our datasets cover fundamentals, ETFs, options, crypto, and more.


    Visit [arrays.org](https://arrays.org) to request an API key and start your
    free trial. You can explore our full API offerings in the documentation
    below.


    For any questions regarding APIs or pricing, please contact
    support@arrays.org.
  title: Arrays API
  version: '1.0'
servers:
  - url: https://data-tools.prd.arrays.org/api
security: []
paths:
  /v1/persons/{person_id}:
    get:
      tags:
        - Persons
      summary: Get person
      description: '[OpenAPI JSON Spec](/docs/output/v1_persons_person-id_get.json)'
      parameters:
        - description: Canonical UUID, legacy ID, or redirected UUID
          in: path
          name: person_id
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      data:
                        items:
                          $ref: '#/components/schemas/model.PodcastPerson'
                        type: array
                    type: object
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      error:
                        $ref: '#/components/schemas/model.APIError'
                    type: object
      security:
        - ApiKeyAuth: []
components:
  schemas:
    model.APIResponse:
      properties:
        data: {}
        error:
          $ref: '#/components/schemas/model.APIError'
        metadata: {}
        pagination: {}
        request_id:
          type: string
        success:
          type: boolean
      type: object
    model.PodcastPerson:
      properties:
        aliases:
          description: Aliases are other spellings, searchable through the name filter.
          items:
            type: string
          type: array
        avatar_url:
          type: string
        bio:
          description: >-
            Bio and AvatarURL come from the curated roster; people speaker
            resolution

            created have neither.
          type: string
        created_at:
          description: |-
            CreatedAt and UpdatedAt are RFC3339 instants in UTC, e.g.
            "2026-09-02T07:48:55Z" — the same shape the transcripts endpoint's
            created_at uses, and the same shape the updated_since filter on this
            endpoint already takes as input. Empty when unset.
          type: string
        display_name:
          type: string
        external_ids:
          description: >-
            ExternalIDs are authoritative institutional identifiers — bioguide
            for a

            member of Congress, sec_cik for an insider filer. Social accounts
            are in

            Socials, not here.
          items:
            $ref: '#/components/schemas/model.ExternalID'
          type: array
        first_seen_url:
          description: >-
            FirstSeenURL is where this person was first seen: their profile page
            for a

            curated import, the episode they first spoke on for one speaker
            resolution

            created. It is one citation, not a list of every source they appear
            in.
          type: string
        person_id:
          description: >-
            PersonID is the canonical UUID, and the value a transcript's

            resolved_speakers carries. It is opaque: do not parse it. To tell
            curated

            people from ones speaker resolution created, use
            created_by_pipeline.
          type: string
        positions:
          description: >-
            Positions is every job this person is known to hold. There is no

            top-level "primary job" field: a person holds several at once and
            each

            source sees a different one, so naming one primary would take a rule
            that

            does not exist. Pick from the list.


            Each entry's institution half is still called affiliation, and that
            is

            what the affiliation filter matches.
          items:
            $ref: '#/components/schemas/model.PersonPosition'
          type: array
        shows:
          description: >-
            Shows is every show this person has been seen on, hosting or as a
            guest;

            role says which. Platform says where the show lives, so this list
            can

            hold more than podcasts later without changing shape again.
          items:
            $ref: '#/components/schemas/model.PersonShow'
          type: array
        socials:
          description: >-
            Socials is every known account. Always emitted — an empty array,
            never

            absent or null — so callers can iterate without branching. Several

            accounts on one platform are allowed, and within a platform the
            first

            entry is the one to show.
          items:
            $ref: '#/components/schemas/model.SocialAccount'
          type: array
        sources:
          description: >-
            Sources are the pipelines that identified this person: podcast,
            congress,

            insider, earnings, x. This is the field that answers "is this a
            member of

            Congress" — do not infer it from the position text.
          items:
            type: string
          type: array
        tags:
          description: >-
            Tags classify the person (e.g. fund_manager), maintained outside
            this

            pipeline. Empty means not labeled.
          items:
            type: string
          type: array
        updated_at:
          type: string
      type: object
    model.APIError:
      properties:
        code:
          example: RESOURCE_NOT_FOUND
          type: string
        details:
          items:
            $ref: '#/components/schemas/model.APIErrorDetail'
          type: array
        docs_url:
          type: string
        examples:
          items:
            type: string
          type: array
        hint:
          type: string
        message:
          example: The requested resource was not found.
          type: string
        suggestions:
          items:
            type: string
          type: array
      type: object
    model.ExternalID:
      properties:
        type:
          description: 'Type is an OPEN enum: bioguide, sec_cik, uw_politician today.'
          type: string
        value:
          type: string
      type: object
    model.PersonPosition:
      properties:
        affiliation:
          type: string
        position:
          type: string
      type: object
    model.PersonShow:
      properties:
        confirmed:
          description: >-
            Confirmed means there is hard evidence: the curated roster names
            this

            person as a host, or they introduced themselves on at least one
            episode.

            False means the role was inferred from a single episode's speaker
            labels.

            Unconfirmed rows are returned and flagged rather than dropped: a
            real host

            of a brand-new show has exactly one episode. Expect confirmed to be
            false

            far more often on guest entries — guests rarely state their own
            name.
          type: boolean
        platform:
          description: >-
            Platform is an OPEN enum, podcast being the only value today. Ignore

            values you do not recognize rather than failing, or adding a
            platform

            becomes a breaking change. It is emitted even while constant so
            callers

            branch on it from the start.
          type: string
        role:
          description: >-
            Role is an OPEN enum: host or guest. It reports the capacity we have
            seen

            this person appear in on this show, not their official title.
          type: string
        show:
          description: >-
            Show is the name. On platform podcast it is usable as
            podcast_show_name on

            /api/v1/other/podcast/transcripts.
          type: string
      type: object
    model.SocialAccount:
      properties:
        handle:
          description: >-
            Handle is the display name on that platform. It changes over time,
            and is

            empty for an account known only by its numeric ID.
          type: string
        id:
          description: >-
            ID is the platform's own immutable identifier. Absent on platforms
            that

            publish none (linkedin, substack), so never assume it is there.
          type: string
        platform:
          description: >-
            Platform is an OPEN enum: twitter, linkedin, youtube, substack
            today, and

            more later. Ignore values you do not recognize rather than failing,
            or

            adding a platform becomes a breaking change.
          type: string
        url:
          description: 'URL is always present: an account is a reachable page by definition.'
          type: string
      type: object
    model.APIErrorDetail:
      properties:
        field:
          type: string
        got:
          type: string
        reason:
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      description: 'API Key authentication. Example: "your-api-key-here"'
      in: header
      name: X-API-Key
      type: apiKey

````