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

# Enrich a person

> Enrich a person with normalized fields (email, mobile, job title, company, LinkedIn URL, location, …). REQUIRES a `identifiers` object containing ONLY `email` and/or `linkedin_url` — these are the unique handles we use to resolve the person upstream. `first_name`, `last_name`, `domain`, `company`, etc. are NOT accepted here and will return a VALIDATION_ERROR. If you only have a name + company, call `/people/email-finder` first to obtain an email, then pass that email here. Optional `fields[]` narrows the waterfall to only fetch the fields you care about. agntdata runs a field-aware waterfall: it stops once all requested fields are filled or your `max_cost_cents` budget is exhausted.



## OpenAPI

````yaml /openapi/agnt.openapi.json post /v1/data/agnt/people/enrich
openapi: 3.0.0
info:
  title: agntdata Lead APIs
  description: >-
    Internal lead enrichment API surface that orchestrates multiple upstream
    data providers behind a single endpoint per use case. Use these endpoints to
    find and verify professional emails, find mobile phone numbers, enrich and
    search people and companies, discover companies, list a domain's email
    addresses, run bulk people/company enrichments, and fetch company
    intelligence (funding/competitors/technographics). Provider names are never
    returned — agntdata picks the cheapest providers that can fulfill the
    requested fields and merges results.
  version: 1.0.0
  contact:
    name: agntdata
    url: https://agntdata.dev
servers:
  - url: https://api.agntdata.dev
    description: agntdata API
security:
  - ApiKeyAuth: []
tags:
  - name: People — Email
    description: Find, verify, and enrich professional email addresses.
  - name: People — Enrich
    description: Enrich people with structured profile data.
  - name: People — Mobile
    description: Find mobile phone numbers from a profile.
  - name: People — Search
    description: Search the people graph by structured filters.
  - name: Companies — Discover
    description: Discover companies that match a set of criteria.
  - name: Companies — Email
    description: List the email addresses found for a company domain.
  - name: Companies — Enrich
    description: Enrich companies with firmographic data.
  - name: Companies — Search
    description: Search the company graph by structured filters.
  - name: Companies — Intelligence
    description: Funding, competitors, and technographics for a company.
paths:
  /v1/data/agnt/people/enrich:
    post:
      tags:
        - People — Enrich
      summary: Enrich a person
      description: >-
        Enrich a person with normalized fields (email, mobile, job title,
        company, LinkedIn URL, location, …). REQUIRES a `identifiers` object
        containing ONLY `email` and/or `linkedin_url` — these are the unique
        handles we use to resolve the person upstream. `first_name`,
        `last_name`, `domain`, `company`, etc. are NOT accepted here and will
        return a VALIDATION_ERROR. If you only have a name + company, call
        `/people/email-finder` first to obtain an email, then pass that email
        here. Optional `fields[]` narrows the waterfall to only fetch the fields
        you care about. agntdata runs a field-aware waterfall: it stops once all
        requested fields are filled or your `max_cost_cents` budget is
        exhausted.
      operationId: people_enrich
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PeopleEnrichRequest'
            example:
              identifiers:
                linkedin_url: https://linkedin.com/in/patrickcollison
              fields:
                - email
                - job_title
                - company_name
                - company_domain
      responses:
        '200':
          description: Person enrichment result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Post_agnt_people_enrich_Response'
        '400':
          description: Validation error.
        '401':
          description: Unauthorized.
        '402':
          description: Insufficient credits.
      security:
        - ApiKeyAuth: []
components:
  schemas:
    PeopleEnrichRequest:
      type: object
      properties:
        identifiers:
          type: object
          properties:
            email:
              type: string
              format: email
              description: Work or personal email address.
            linkedin_url:
              type: string
              format: uri
              description: >-
                Full LinkedIn profile URL (e.g.
                https://www.linkedin.com/in/satyanadella/).
          additionalProperties: false
          description: >-
            Unique handles used to resolve a person upstream. Provide AT LEAST
            ONE of `email` or `linkedin_url`. Name + company are NOT accepted
            here — for that flow, call `/people/email-finder` first to obtain an
            email.
        fields:
          type: array
          items:
            type: string
            enum:
              - email
              - work_email
              - personal_email
              - verified_email
              - mobile
              - linkedin_url
              - twitter_url
              - full_name
              - first_name
              - last_name
              - job_title
              - seniority
              - department
              - company_name
              - company_domain
              - location
        max_cost_cents:
          type: number
          minimum: 0
      required:
        - identifiers
      additionalProperties: false
    Post_agnt_people_enrich_Response:
      type: object
      required:
        - success
        - data
      properties:
        success:
          type: boolean
          enum:
            - true
        data:
          $ref: '#/components/schemas/PeopleEnrichResponse'
        meta:
          $ref: '#/components/schemas/AgntMeta'
    PeopleEnrichResponse:
      type: object
      properties:
        full_name:
          type: string
          nullable: true
        first_name:
          type: string
          nullable: true
        last_name:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
        work_email:
          type: string
          nullable: true
        personal_email:
          type: string
          nullable: true
        verified_email:
          type: string
          nullable: true
        email_status:
          type: string
          nullable: true
        mobile:
          type: string
          nullable: true
        linkedin_url:
          type: string
          nullable: true
        twitter_url:
          type: string
          nullable: true
        job_title:
          type: string
          nullable: true
        seniority:
          type: string
          nullable: true
        department:
          type: string
          nullable: true
        company:
          type: object
          properties:
            name:
              type: string
              nullable: true
            domain:
              type: string
              nullable: true
            linkedin_url:
              type: string
              nullable: true
          additionalProperties: false
          nullable: true
        location:
          type: string
          nullable: true
      additionalProperties: false
    AgntMeta:
      type: object
      properties:
        costCents:
          type: number
        purchasedBalanceCents:
          type: number
        subscriptionRemainingCents:
          type: number
        cached:
          type: boolean
        latencyMs:
          type: number
        priceRange:
          type: object
          properties:
            minCents:
              type: number
            maxCents:
              type: number
          required:
            - minCents
            - maxCents
          additionalProperties: false
        budgetCents:
          type: number
        budgetCentsPerRecord:
          type: number
        providersAttempted:
          type: number
        fieldsReturned:
          type: array
          items:
            type: string
        fieldsMissing:
          type: array
          items:
            type: string
        records:
          type: number
      required:
        - costCents
        - purchasedBalanceCents
        - subscriptionRemainingCents
        - cached
        - latencyMs
      additionalProperties: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Bearer token. Pass your agntdata API key as: Authorization: Bearer
        agnt_live_...

````

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