# Person object A person: identity, location, current roles and contact slots, with your workspace's saved state. People Search results carry no `other_positions`, and with `person.linkedin_url` each carries the `matched_url` it was found by. ## Person | Property | Type | Description | | --- | --- | --- | | `id` | string | The GetProspect person id. | | `full_name` | string \| null | Full name. | | `first_name` | string \| null | First name. | | `last_name` | string \| null | Last name. | | `email` | object | An email slot: whether we hold a deliverable address and whether your workspace sees it. `address` stays null until it is revealed (a paid reveal, or an email your workspace already owns). | | `mobile_phone` | object | The mobile phone slot. Numbers are looked up live with `enrich_phone`; a number your workspace already revealed is served on every later answer. | | `location` | object \| null | The person's location; null when unresolved. | | `linkedin_url` | string \| null | LinkedIn profile URL. | | `primary_position` | object \| null | The primary current role (the one that matched your company filter or lookup, when there is one); null when the person has none. | | `other_positions` | object[] | The other current roles (not on People Search results). | | `saved` | object \| null | Present when your workspace saved the person; null otherwise. | | `matched_url` | string \| null | People Search by `person.linkedin_url` only: the URL this person was found by. | ## Email fields (within email) | Property | Type | Description | | --- | --- | --- | | `status` | enum \| null | `valid`: a deliverable address is on file. `not_found`: the finder ran and found none, or there is no company to search against. `not_checked`: no attempt yet, a search is still possible (People Enrich runs one when it reveals). null when your workspace edited the email (its own value, no verdict of ours). One of: `valid`, `not_found`, `not_checked`. | | `address` | string \| null | The address; null until revealed. | | `domain` | string \| null | The company's email domain; null when the company is not resolved. | | `provider` | string \| null | The mail provider recorded with the address (e.g. `google.com`); null when none. | | `verified_at` | string \| null | When the address was last confirmed deliverable; set only when `status` is `valid`. | | `checked_at` | string \| null | The last email-finding attempt for this person at this company, whatever the outcome; null if never. | | `revealed` | boolean | True once the address is served to your workspace. | ## Mobile phone fields (within mobile_phone) | Property | Type | Description | | --- | --- | --- | | `status` | enum \| null | `not_requested`: never looked up (the only status worth a reveal). `found`: your workspace owns the number. `not_found`: the providers were asked and had none (final, never charged). `error`: the lookup failed, retry later. null when your workspace edited the phone. One of: `not_requested`, `found`, `not_found`, `error`. | | `number` | string \| null | The number; null until revealed. | | `revealed` | boolean | True once the number is served to your workspace. | | `checked_at` | string \| null | The last provider lookup; null when never asked. | ## Location fields (within location) The person's location. The time zone is derived from the country and state. | Property | Type | Description | | --- | --- | --- | | `city` | string \| null | City. | | `state` | string \| null | State or region. | | `state_code` | string \| null | State or region code. | | `country` | string \| null | Country. | | `country_code` | string \| null | ISO 3166-1 alpha-2 country code. | | `time_zone` | string \| null | IANA time zone name, e.g. `America/Los_Angeles`. | | `time_zone_offset` | number \| null | The current UTC offset in hours (daylight saving applied), e.g. -7 or 5.5. | ## Primary position fields (within primary_position and other_positions[]) A current role (every stored position is current: there is no end date). | Property | Type | Description | | --- | --- | --- | | `job_title` | string \| null | The title as written on LinkedIn, else our normalized title. | | `normalized_job_title` | string \| null | Our catalog normalization of the title; null when none matched. | | `seniority` | string \| null | Seniority (see `GET /v2/enums/seniorities`). | | `departments` | string[] | Departments and sub-departments (see `GET /v2/enums/departments`). | | `start_date` | string \| null | When the role started, `YYYY-MM`; null when unknown. | | `company` | object \| null | The employer. A role that names no company is null on People Enrich and an object with null fields (`id` and `name` null) on People Search. | | `position_index` | integer | The role's index among the person's positions; `/v2/people/save` takes it as a pin. | | `id` | string \| null | The role's own id (`primary_position_id` on `/v2/people/save`); null on older records, use `position_index`. | ## Saved fields (within saved) Your workspace's saved state of the person. | Property | Type | Description | | --- | --- | --- | | `id` | string \| null | Always null (it named a v1 contact). Deprecated: the person `id` addresses the saved record. | | `saved_at` | string \| null | When your workspace saved the person. | | `lists` | object[] | The lists the person is in. | | `edits` | object | Your workspace's own values for the person; only edited fields are present. | ## Company fields (within primary_position.company) The employer of a position: the Company object of `/v2/companies/enrich`, whose `email` is the person's own email slot at this company. People Search trims it (no `description`, `website`, `email`, `linkedin_url` or `naics_codes`). A company we hold no record for is a stub: on People Enrich its stored `id`, `name` and `linkedin_id` (with `email`), and other keys may appear. On People Search a role that names no company is this object with every field null (`id` and `name` included), not null. `technologies` / `technologies_checked_at` are present ONLY on `POST /v2/people/enrich` and `GET /v2/people/:id` (the single-person reads the App person panel uses) - omitted (not merely empty) on People Search, People Bulk Enrich, People Exists and exports, same restriction as `Company.technologies` on the companies side. | Property | Type | Description | | --- | --- | --- | | `id` | string \| null | The GetProspect company id (for `/v2/companies/enrich`); null when the position names no company we resolved. | | `name` | string \| null | Company name. | | `description` | string \| null | What the company does. | | `logo` | string \| null | Logo URL. | | `website` | string \| null | Website. | | `email` | object | An email slot: whether we hold a deliverable address and whether your workspace sees it. `address` stays null until it is revealed (a paid reveal, or an email your workspace already owns). | | `linkedin_url` | string \| null | LinkedIn company page. | | `social_networks` | object | Profile URLs found on the company's own website; `null` for a network not found there. Present on every operation that answers a `Company` - search, enrich, bulk-enrich, get, and the companies inside People Search / Enrich. | | `industry` | string \| null | Industry (see `GET /v2/enums/industries`). | | `keywords` | string[] | Specialties, flattened. | | `naics_codes` | integer[] | NAICS codes. | | `type` | string \| null | Legal or ownership type (see `GET /v2/enums/company_types`). | | `business_type` | string \| null | Audience type (see `GET /v2/enums/business_types`). | | `revenue_stream` | string \| null | Revenue model (see `GET /v2/enums/revenue_streams`). | | `founded` | integer \| null | Founding year. | | `employee_count` | integer \| null | Exact headcount, when known. | | `employee_range` | string \| null | Headcount bucket (see `GET /v2/enums/employee_ranges`). | | `location` | object \| null | The headquarters; null when unresolved. | | `other_locations` | object[] | Other offices. | | `technologies` | object[] | Technologies detected on the website, most prominent category first (`[]` when none were detected or the website has not been scanned yet). Present only on `POST /v2/people/enrich` and `GET /v2/people/:id` - the App's person panel; omitted entirely (not merely empty) everywhere else a person's company appears (People Search, People Bulk Enrich, People Exists, exports). | | `technologies_checked_at` | string \| null | When the website was last scanned successfully; null when never scanned. Present only alongside `technologies`, on `POST /v2/people/enrich` and `GET /v2/people/:id`. | ## Lists fields (within saved.lists[]) A list of your workspace the person is in. | Property | Type | Description | | --- | --- | --- | | `id` | string | The list id (`GET /v2/lists`). | | `name` | string \| null | List name. | | `created_at` | string \| null | When the list was created. | ## Edits fields (within saved.edits) | Property | Type | Description | | --- | --- | --- | | `first_name` | string | Your first name for the person. | | `last_name` | string | Your last name for the person. | | `email` | string | Your email address for the person (served as `email.address`). | | `phone` | string | Your phone number for the person (served as `mobile_phone.number`). | ## Social networks fields (within primary_position.company.social_networks) | Property | Type | Description | | --- | --- | --- | | `linkedin_url` | string \| null | | | `facebook_url` | string \| null | | | `twitter_url` | string \| null | | | `instagram_url` | string \| null | | | `youtube_url` | string \| null | | | `tiktok_url` | string \| null | | | `crunchbase_url` | string \| null | | | `github_url` | string \| null | | | `pinterest_url` | string \| null | | ## Location fields (within primary_position.company.location and primary_position.company.other_locations[]) A company office: the headquarters (`location`) or another office (`other_locations`). | Property | Type | Description | | --- | --- | --- | | `city` | string \| null | City. | | `state` | string \| null | State or region. | | `state_code` | string \| null | State or region code. | | `country` | string \| null | Country. | | `country_code` | string \| null | ISO 3166-1 alpha-2 country code. | | `raw_address` | string \| null | The address as the source wrote it. | ## Technologies fields (within primary_position.company.technologies[]) A web technology detected on the company website (from its homepage: HTML, scripts, headers and cookies). Companies are rescanned every 30 days. | Property | Type | Description | | --- | --- | --- | | `id` | string | The technology id: `filters.company_technologies` takes it. | | `name` | string | | | `icon_url` | string \| null | Icon image URL; null without one. | | `website` | string \| null | The technology's own website. | | `categories` | object[] | Its categories, most prominent first. |