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

# Aviato: Person Enrich

> Enrich one person from their LinkedIn URL, email or another profile ID, returning their profile, work history and education.

Enrich one person from their LinkedIn URL, email or another profile ID, returning their profile, work history and education.

> [!NOTE]
>
> Tool ID: `aviato_person_enrich`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'aviato_person_enrich',
  {
    "id": "id_123",
    "linkedinID": "https://www.linkedin.com/in/jane-doe",
    "linkedinEntityId": "https://www.linkedin.com/in/jane-doe"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute aviato_person_enrich --input '{
  "id": "id_123",
  "linkedinID": "https://www.linkedin.com/in/jane-doe",
  "linkedinEntityId": "https://www.linkedin.com/in/jane-doe"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "id": "id_123",
    "fullName": "Example",
    "firstName": "Jane",
    "lastName": "Doe",
    "skills": [
      "example"
    ],
    "certifications": [
      {
        "name": "Example"
      }
    ],
    "investedRoundList": [
      "example"
    ],
    "investedIndustries": [
      "example"
    ],
    "investorCategoryList": [
      "example"
    ],
    "computed_highlightList": [
      "example"
    ]
  }
}
```

Use `deepline describe aviato_person_enrich --json` for the latest machine-readable contract.

## Input reference

Get enriched details on a person.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.id` | `string` | No | — | — |
| `payload.linkedinID` | `string` | No | — | — |
| `payload.linkedinEntityId` | `string` | No | — | LinkedIn entity ID |
| `payload.linkedinURL` | `string` | No | — | LinkedIn URL, accepts public profile (linkedin.com/in/), Sales Navigator, and Recruiter URLs |
| `payload.twitterID` | `string` | No | — | — |
| `payload.crunchbaseID` | `string` | No | — | — |
| `payload.angelListID` | `string` | No | — | — |
| `payload.signalNfxID` | `string` | No | — | — |
| `payload.polyworkID` | `string` | No | — | — |
| `payload.email` | `string` | No | — | — |
| `payload.rescrape` | `boolean` | No | — | Whether or not to automatically rescrape entities with stale data (specified by the maxDataAgeDays parameter). |
| `payload.maxDataAgeDays` | `integer` | No | — | The threshold / amount of days to consider data stale and trigger an automatic rescrape (if supplied but rescrape parameter is false, expect a bad request error). |
| `payload.preview` | `boolean` | No | — | When true, returns only minimal identification info (id, name, URLs) without charging a credit. |
| `payload.full` | `boolean` | No | — | When true, returns all relational data including company investments, fund investments, and founded companies. |
| `payload.require` | `array` | No | — | List of top-level response fields that must each have a non-empty value, otherwise a 404 is returned and no credit is charged. Example: `?require=fullName&require=URLs`. Ignored when `preview=true`. |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Get enriched details on a person.",
    "properties": {
      "id": {
        "type": "string"
      },
      "linkedinID": {
        "type": "string"
      },
      "linkedinEntityId": {
        "type": "string",
        "description": "LinkedIn entity ID"
      },
      "linkedinURL": {
        "type": "string",
        "description": "LinkedIn URL, accepts public profile (linkedin.com/in/), Sales Navigator, and Recruiter URLs"
      },
      "twitterID": {
        "type": "string"
      },
      "crunchbaseID": {
        "type": "string"
      },
      "angelListID": {
        "type": "string"
      },
      "signalNfxID": {
        "type": "string"
      },
      "polyworkID": {
        "type": "string"
      },
      "email": {
        "type": "string"
      },
      "rescrape": {
        "type": "boolean",
        "description": "Whether or not to automatically rescrape entities with stale data (specified by the maxDataAgeDays parameter)."
      },
      "maxDataAgeDays": {
        "type": "integer",
        "description": "The threshold / amount of days to consider data stale and trigger an automatic rescrape (if supplied but rescrape parameter is false, expect a bad request error)."
      },
      "preview": {
        "type": "boolean",
        "description": "When true, returns only minimal identification info (id, name, URLs) without charging a credit."
      },
      "full": {
        "type": "boolean",
        "description": "When true, returns all relational data including company investments, fund investments, and founded companies."
      },
      "require": {
        "type": "array",
        "description": "List of top-level response fields that must each have a non-empty value, otherwise a 404 is returned and no credit is charged. Example: `?require=fullName&require=URLs`. Ignored when `preview=true`.",
        "items": {
          "type": "string"
        }
      }
    },
    "required": [],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Extended Version of Person object, includes some relational fields, if you request for them to be included in the results. |
| `result.data.id` | `string` | Yes | — | The Aviato ID of the person |
| `result.data.fullName` | `string` | Yes | — | The full name of the person |
| `result.data.firstName` | `string` | Yes | — | The first name of the person |
| `result.data.lastName` | `string` | Yes | — | The last name of the person |
| `result.data.entityType` | `"person" \| "company" \| "school" \| "organization"` | No | — | Allowed: `person`, `company`, `school`, `organization`. |
| `result.data.location` | `string` | No | — | The location of the person. |
| `result.data.URLs` | `object` | No | — | This object represents different urls that can be associated with any type of entity. (Does not include http prefix) |
| `result.data.URLs.golden` | `string` | No | — | — |
| `result.data.URLs.contact` | `string` | No | — | — |
| `result.data.URLs.twitter` | `string` | No | — | — |
| `result.data.URLs.website` | `string` | No | — | — |
| `result.data.URLs.facebook` | `string` | No | — | — |
| `result.data.URLs.github` | `string` | No | — | — |
| `result.data.URLs.linkedin` | `string` | No | — | — |
| `result.data.URLs.pitchbook` | `string` | No | — | — |
| `result.data.URLs.angelList` | `string` | No | — | — |
| `result.data.URLs.signalNFX` | `string` | No | — | — |
| `result.data.URLs.crunchbase` | `string` | No | — | — |
| `result.data.about` | `string` | No | — | Short description about the person |
| `result.data.headline` | `string` | No | — | Headline of the person. |
| `result.data.skills` | `array` | Yes | — | Skills that the person has listed. |
| `result.data.certifications` | `array` | Yes | — | Ceritifcations that the person has listed. |
| `result.data.certifications[].name` | `string` | Yes | — | — |
| `result.data.certifications[].url` | `string` | No | — | — |
| `result.data.certifications[].issued` | `string` | No | — | Format: `date-time`. |
| `result.data.certifications[].expires` | `string` | No | — | Format: `date-time`. |
| `result.data.certifications[].companyID` | `string` | No | — | — |
| `result.data.certifications[].companyName` | `string` | No | — | — |
| `result.data.gender` | `string` | No | — | The gender of the person |
| `result.data.linkedinID` | `string` | No | — | The ID of the person on LinkedIn, this is the bit that appears after /in/ in the profile URL. Also known as the "slug", or "username" |
| `result.data.linkedinNumID` | `string` | No | — | The numeric ID of the person on LinkedIn |
| `result.data.linkedinEntityID` | `string` | No | — | The entity ID of the person on LinkedIn, this is typically seen in Sales Navigator/Recruiter URLs. |
| `result.data.investedRoundList` | `array` | Yes | — | The round stages the person has invested in |
| `result.data.investedIndustries` | `array` | Yes | — | The industries that the person has invested in |
| `result.data.investorCategoryList` | `array` | Yes | — | The categories that the person has invested in |
| `result.data.investorCurrentFirmID` | `string` | No | — | The ID of the current firm the person is an investor at |
| `result.data.investorDisinterests` | `string` | No | — | The disinterests of the person |
| `result.data.investorFirmPosition` | `string` | No | — | The position of the person at their current firm |
| `result.data.investorInterests` | `string` | No | — | The interests of the person |
| `result.data.investorMaxInvestment` | `number` | No | — | The maximum investment the person is willing to make Format: `double`. |
| `result.data.investorMinInvestment` | `number` | No | — | The minimum investment the person is willing to make Format: `double`. |
| `result.data.investorParticipatedRoundsCount` | `integer` | No | — | The number of rounds the person has participated in |
| `result.data.investorPreviousFirmID` | `string` | No | — | The ID of the previous firm the person was an investor at |
| `result.data.investorPreviousFirmPosition` | `string` | No | — | The position of the person at their previous firm |
| `result.data.investorTargetInvestment` | `number` | No | — | The target investment the person is looking for Format: `double`. |
| `result.data.investorTitle` | `string` | No | — | The title of the person |
| `result.data.investorType` | `string` | No | — | The type of investor the person is |
| `result.data.computed_highlightList` | `array` | Yes | — | Highlights of the person, computed internally by Aviato |
| `result.data.lastUpdated` | `string` | No | — | The date this person was last updated, this is equivalent to a last scraped date. Format: `date-time`. |

The table shows the first 50 fields. Use the live contract below for every field.

> [!NOTE]
>
> This output schema is too large for an inline display. Read the complete live contract with `deepline describe aviato_person_enrich --json`.

## Deepline cost

* Pricing model: `per_result` (per result).
* Estimated Deepline credits: `0.14` per pricing unit.

## Related documentation

* [Aviato provider guide](https://deepline.com/docs/providers/aviato/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.