---
title: "Enrich person"
method: POST
path: "/v2/enrich/person"
tags: ["Enrich"]
---

# Enrich person

`POST /v2/enrich/person`

Match a person with our database and enrich it with additional information.


**Webhook result:**
[Documentation](/docs/webhooks/enrich_person_phone)

## Query parameters

- `apiToken` string, nullable

## Headers

- `x-api-token` string, nullable

## Request body

- MatchPersonBody
  - `person` Person, required
    - `id` string, nullable — Ocean id of the person
    - `name` string, nullable — Full name of the contact
    - `firstName` string, nullable — First name of the contact
    - `lastName` string, nullable — Last name of the contact
    - `jobTitle` string, nullable — Job title of the contact
    - `email` string, nullable — Email address of the contact
    - `phone` string, nullable — Phone number of the contact
    - `facebook` string, nullable — Facebook page of the contact
    - `twitter` string, nullable — The Twitter page of the contact
    - `linkedin` string, nullable — The LinkedIn page of the contact
    - `country` string, nullable — The country of the contact
  - `company` Company
    - `name` string, nullable — The name of the company
    - `registrationNumber` string, nullable — The registration number of the company
    - `email` string, nullable — The email of the company
    - `phone` string, nullable — The phone number of the company
    - `countryCode` string, nullable — Country code of the company's headquarters
    - `state` string, nullable — Name of the state/region where the company is located
    - `city` string, nullable — The city where the company is located
    - `streetAddress` string, nullable — Street address of the company
    - `postalCode` string, nullable — The postal code of the company
    - `address` string, nullable — Full address of the company
    - `facebook` string, nullable — The Facebook page of the company
    - `twitter` string, nullable — Company's Twitter page
    - `linkedin` string, nullable — LinkedIn page of the company
    - `instagram` string, nullable — Instagram page of the company
    - `xing` string, nullable — The Xing page of the company
    - `domain` string, nullable — The domain name of the company's website
    - `youtube` string, nullable — The YouTube page of the company
  - `revealEmails` RevealEmails
    - `includeEmails` boolean — Include the emails for all the results. One email credit will be charged for each verified email.
    - `webhookUrl` string, nullable — Only relevant if `includeEmails` is True. Webhook url to get the reveal email results, if any email has to be processed in the background.
  - `revealPhones` RevealPhones
    - `includePhones` boolean — Include the phones for all the results. One phone credit will be charged for each verified phone.
    - `webhookUrl` string, nullable — Only relevant if `includePhones` is True. Webhook url to get the reveal phone results, if any phone has to be processed in the background.

## Response `200`

Successful Response

- EnrichPersonResult
  - `id` string, required — Internal ocean id of the person
  - `domain` string, required — Domain of the company the person is working for
  - `name` string, nullable — Full name of the person
  - `firstName` string, nullable — First name of the person
  - `lastName` string, nullable — Last name of the person
  - `country` string, nullable — Country code of the person
  - `state` string, nullable — State code of the person
  - `location` string, nullable — Location of the person
  - `linkedinUrl` string, nullable — Link to the linkedin profile of the person
  - `seniorities` Seniority[], nullable — List of seniorities computed from the job title of the person
  - `departments` Department[], nullable — List of departments computed from the job title of the person
  - `subDepartments` SubDepartment[], nullable — Sub-departments computed from the job title of the person. A sub-department is a narrower version of a department, for example software development within engineering. The order does not pair up with `departments`, so use /v2/data-fields to see which department a sub-department belongs to.
  - `photo` string, nullable — Link to the person's profile picture on LinkedIn
  - `jobTitle` string, nullable — Job title of the person
  - `jobTitleEnglish` string, nullable — English translation of the person's job title
  - `currentJobDescription` string, nullable — Current job description of the person
  - `experiences` Experience[], nullable — List of experiences of the person
    - `domain` string, nullable — Domain of the company the person is working for
    - `jobTitle` string, nullable — Job title of the person
    - `dateFrom` string, nullable — Start date of the experience
    - `dateTo` string, nullable — End date of the experience
    - `description` string, nullable — Description of the experience
    - `linkedinCompanyHandle` string, nullable — Linkedin handle of the company the person is working for
  - `summary` string, nullable — Summary of the person
  - `skills` string[], nullable — Skills of the person
  - `phone` PublicApiModelsPersonPhone
    - `numbers` string[], nullable, required — Phone numbers
    - `status` 'verified' | 'notFound' | 'inProgress', required — Status of the phone numbers: verified or not found
  - `email` PublicApiModelsPersonEmail
    - `address` string, nullable, required — Email address
    - `status` 'verified' | 'guessed' | 'catchAll' | 'notFound', required — Status of the address: verified, catchAll or guessed
  - `inferredEmails` string[] — List of inferred email addresses for the person. This is only available for enterprise subscriptions.
  - `updatedAt` string, nullable — When has the person data been updated for the last time
  - `connectionsCount` integer, nullable — Number of LinkedIn connections of the person
  - `followersCount` integer, nullable — Number of LinkedIn followers of the person
  - `headline` string, nullable — Headline of the person
  - `creditsUsed` number, required — Number of credits charged for this request.

## Other responses

- `201` — Created
- `400` — Bad Request
- `402` — Payment Required
- `403` — Forbidden
- `404` — Not Found
- `422` — Validation Error

## Changes

- **2026-09-01** `a5d5c0530873` — 1 info
  - added the optional property `subDepartments` to the response with the `200` status
- **2026-08-24** `7be4c13a1cf6` — 5 warning
  - added the new `Education` enum value to the `departments/items/` response property for the response status `200`
  - added the new `Entry` enum value to the `seniorities/items/` response property for the response status `200`
  - added the new `Intern` enum value to the `seniorities/items/` response property for the response status `200`
  - added the new `Professional` enum value to the `seniorities/items/` response property for the response status `200`
  - …1 more

[Change history](https://skmtc.dev/ocean/apis/ocean-io-api-documentation/changes/v2/enrich/person/post.md)

---

[API](https://skmtc.dev/ocean/apis/ocean-io-api-documentation.md) · [All operations](https://skmtc.dev/ocean/apis/ocean-io-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ocean/ocean-io-api-documentation/revisions/a5d5c0530873/schema)
