> ## 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 Bulk Enrich

> Get enriched details on multiple people at once. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Get enriched details on multiple people at once.

> [!NOTE]
>
> Tool ID: `aviato_person_bulk_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_bulk_enrich',
  {
    "lookups": [
      {
        "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_bulk_enrich --input '{
  "lookups": [
    {
      "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": [
    {
      "lookupSuccessful": true
    }
  ]
}
```

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

## Input reference

Get enriched details on multiple people at once. Max 20 at a time

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.lookups` | `array` | Yes | — | — |
| `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 credits. |
| `payload.require` | `array` | No | — | List of top-level response fields that must each have a non-empty value on a given lookup. Lookups that don't satisfy this gate are returned with `lookupSuccessful=false` and are not billed. 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 multiple people at once. Max 20 at a time",
    "properties": {
      "lookups": {
        "type": "array",
        "items": {
          "type": "object",
          "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"
            }
          },
          "additionalProperties": false
        }
      },
      "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 credits."
      },
      "require": {
        "type": "array",
        "description": "List of top-level response fields that must each have a non-empty value on a given lookup. Lookups that don't satisfy this gate are returned with `lookupSuccessful=false` and are not billed. Ignored when `preview=true`.",
        "items": {
          "type": "string"
        }
      }
    },
    "required": [
      "lookups"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

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

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_bulk_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.