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

# Person Enrichment

> Person Enrichment API endpoint: match records by email, phone, name, social URL, or other identifiers and append 100+ profile data points.

## Minimum Requirements

Every request must include **at least one** of the following:

1. A **primary identifier** (any single field is sufficient)
2. **Name + context** (name plus at least one contextual field)

Requests that don't meet these requirements return `400 Bad Request`.

### Primary Identifiers

Any one of these fields is enough to look up a person on its own:

| Field         | Example                                         |
| ------------- | ----------------------------------------------- |
| `email`       | `jane.doe@example.com`                          |
| `phone`       | `+15551234567`                                  |
| `social_url`  | `https://linkedin.com/in/janedoe`               |
| `linkedin_id` | `123456789`                                     |
| `legion_id`   | `fdd85569-f0f0-53a9-bc60-089507193c28`          |
| `email_hash`  | SHA-256, SHA-1, or MD5 hash of normalized email |

### Name + Context

When no primary identifier is available, provide a name (`first_name`, `last_name`, or `full_name`) plus at least one contextual field:

| Context    | Fields                                               | Example                                                                            |
| ---------- | ---------------------------------------------------- | ---------------------------------------------------------------------------------- |
| Location   | `city`, `state`, `country`, `postal_code`, `address` | `"first_name": "Jane", "last_name": "Doe", "city": "San Francisco", "state": "CA"` |
| Company    | `company`                                            | `"first_name": "Jane", "last_name": "Doe", "company": "Acme Corp"`                 |
| School     | `school`                                             | `"first_name": "Jane", "last_name": "Doe", "school": "Stanford University"`        |
| Job title  | `job_title`                                          | `"first_name": "Jane", "last_name": "Doe", "job_title": "VP of Engineering"`       |
| Birth date | `birth_date`                                         | `"first_name": "Jane", "last_name": "Doe", "birth_date": "1985"`                   |

You can combine multiple context fields for better match accuracy. For example, name + company + birth\_date uses company for matching and birth\_date to narrow results.

<Note>
  Name alone or location alone is not sufficient. The API requires name **plus** at least one contextual field for non-identifier lookups.
</Note>

### URLs and Domains

The `company` and `school` fields accept names, website URLs, or social URLs:

```json theme={null}
{"first_name": "Jane", "last_name": "Doe", "company": "Acme Corp"}
{"first_name": "Jane", "last_name": "Doe", "company": "acme.com"}
{"first_name": "Jane", "last_name": "Doe", "company": "https://www.acme.com"}
{"first_name": "Jane", "last_name": "Doe", "school": "https://linkedin.com/school/stanford-university"}
```

URLs and domains are resolved to the corresponding company or school name before matching.


## OpenAPI

````yaml POST /person/enrich
openapi: 3.1.0
info:
  title: Data Legion API
  description: API for enriching, searching, and discovering person and company data
  version: 1.0.0
servers:
  - url: https://api.datalegion.ai
security:
  - APIKeyHeader: []
paths:
  /person/enrich:
    post:
      tags:
        - person
        - enrichment
      summary: Enrich person by multiple parameters
      description: >-
        Find the best matching person(s) based on provided parameters. Requires
        a primary identifier (email, phone, social_url, linkedin_id, legion_id,
        email_hash) OR name + context (location, company, school, job_title,
        birth_date). Supports fuzzy matching, confidence scoring, and multiple
        results. Inputs are automatically cleaned and normalized.
      operationId: enrich_person_person_enrich_post
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnrichmentRequest'
      responses:
        '200':
          description: Success - person(s) found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonMatchesResponse'
              example:
                matches:
                  - person:
                      legion_id: fdd85569-f0f0-53a9-bc60-089507193c28
                      full_name: jane marie doe
                      first_name: jane
                      middle_name: marie
                      middle_initial: m
                      last_name: doe
                      last_initial: d
                      suffix: null
                      prefix: null
                      sex: female
                      birth_date: '1985-03-15'
                      birth_year: 1985
                      birth_month: 3
                      birth_day: 15
                      age: 41
                      work_email: jane.doe@techcompany.com
                      mobile_phone: '+15551234567'
                      linkedin_url: https://www.linkedin.com/in/janedoe
                      linkedin_id: '123456789'
                      city: san francisco
                      state: california
                      state_code: US-CA
                      country: united states
                      country_code: US
                      job_title: senior product manager
                      company_name: tech company
                      company_domain: techcompany.com
                      company_industry: technology, information and internet
                      company_size: 1001-5000
                      company_legion_id: c8a1b2c3-d4e5-6f7a-8b9c-0d1e2f3a4b5c
                      company_linkedin_url: https://www.linkedin.com/company/tech-company-inc
                      company_linkedin_id: '12345678'
                      seniority_level: senior
                      job_function: product
                      expense_category: research_and_development
                      is_decision_maker: false
                      is_platform_worker: false
                      years_of_experience: 12
                      avg_tenure_months: 24.5
                      highest_degree_level: masters
                      current_jobs_last_confirmed: '2026-01-15'
                      current_jobs_last_updated: '2026-01-10'
                      current_location_last_confirmed: '2026-01-15'
                      current_location_last_updated: '2025-12-20'
                      linkedin_followers: 1250
                      linkedin_connections: 500
                      headline:
                        cleaned: senior product manager at tech company
                        raw:
                          - Senior Product Manager at Tech Company
                      summary:
                        cleaned: >-
                          experienced product leader with 10+ years in
                          technology...
                        raw:
                          - >-
                            Experienced product leader with 10+ years in
                            technology...
                      num_sources: 3
                      last_seen: '2026-01-20'
                      build_version: 1.3.2_2026-07-12
                      phones:
                        - type: mobile
                          number: '+15551234567'
                          current: true
                          confidence: high
                          last_seen: '2026-01-15'
                          num_sources: 3
                      emails:
                        - address: jane.doe@techcompany.com
                          type: professional
                          current: true
                          validated: true
                          confidence: high
                          last_seen: '2026-01-20'
                          num_sources: 2
                          validation_status: valid
                          hash_sha256: >-
                            a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2
                          hash_sha1: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2
                          hash_md5: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4
                      locations:
                        - street_address: 123 main st
                          address_line_2: apt 4b
                          city: san francisco
                          state: california
                          state_code: US-CA
                          country: united states
                          country_code: US
                          continent: north america
                          continent_code: NA
                          postal_code: '94102'
                          postal_code_4: '1234'
                          geo: 37.7749,-122.4194
                          raw:
                            - 123 Main St, Apt 4B, San Francisco, CA 94102
                          current: true
                          num_sources: 2
                          confidence: high
                          last_seen: '2026-01-10'
                      experience:
                        - title:
                            cleaned: senior product manager
                            raw:
                              - Senior Product Manager
                          seniority_level: senior
                          job_function: product
                          expense_category: research_and_development
                          is_decision_maker: false
                          is_platform_worker: false
                          organization:
                            name:
                              cleaned: tech company inc
                              raw:
                                - Tech Company Inc
                            website: techcompany.com
                            linkedin_url: https://www.linkedin.com/company/tech-company-inc
                            linkedin_id: '12345678'
                            legion_id: c8a1b2c3-d4e5-6f7a-8b9c-0d1e2f3a4b5c
                            industry: technology, information and internet
                            size: 1001-5000
                          start_date: '2020-06-01'
                          end_date: null
                          current: true
                          tenure_months: 67
                          description:
                            cleaned: >-
                              leading product strategy for enterprise
                              platform...
                            raw:
                              - >-
                                Leading product strategy for enterprise
                                platform...
                      education:
                        - organization:
                            name:
                              cleaned: stanford university
                              raw:
                                - Stanford University
                            website: stanford.edu
                            linkedin_url: >-
                              https://www.linkedin.com/school/stanford-university
                          degree:
                            cleaned: master of business administration
                            raw:
                              - Master of Business Administration
                          degree_level: masters
                          field_of_study:
                            cleaned: business administration
                            raw:
                              - Business Administration
                          start_date: '2015'
                          end_date: '2017'
                          current: false
                      certifications:
                        - name:
                            cleaned: project management professional
                            raw:
                              - Project Management Professional
                              - PMP
                          institution:
                            cleaned: project management institute
                            raw:
                              - Project Management Institute
                          credential_id: '1234567'
                          issue_date: 2018-06
                          expiration_date: 2024-06
                      socials:
                        - network: linkedin
                          url: https://www.linkedin.com/in/janedoe
                          username: janedoe
                          id: null
                          current: true
                          num_sources: 2
                          confidence: high
                          last_seen: '2026-01-20'
                        - network: github
                          url: https://github.com/janedoe
                          username: janedoe
                          id: '12345678'
                          current: true
                          num_sources: 1
                          confidence: moderate
                          last_seen: '2026-01-20'
                      skills:
                        - cleaned: project management
                          raw:
                            - Project Management
                        - cleaned: data analysis
                          raw:
                            - Data Analysis
                      languages:
                        - cleaned: english
                          raw:
                            - English
                          proficiency: native
                    match_metadata:
                      matched_on:
                        - email
                        - first_name
                        - last_name
                      match_type: exact
                      match_confidence: high
                total: 1
        '400':
          description: Bad request - invalid input or missing required fields
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Payment required - insufficient credits or expired contract
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden - API key not authorized for this endpoint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found - no person matches
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '413':
          description: Payload too large - request body exceeds size limit
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation error - invalid field format or value
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too many requests - rate limit exceeded (100 requests per minute)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service unavailable - database or service temporarily unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    EnrichmentRequest:
      properties:
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
          description: Email address (will be normalized)
        email_hash:
          anyOf:
            - type: string
            - type: 'null'
          title: Email Hash
          description: >-
            SHA-256 (64 chars), SHA-1 (40 chars), or MD5 (32 chars) hash of
            normalized email address (for privacy)
        phone:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone
          description: Phone number (will be normalized to E.164)
        linkedin_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Linkedin Id
          description: LinkedIn numeric ID
        social_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Social Url
          description: >-
            Social profile URL (LinkedIn, Twitter/X, GitHub, Facebook - will be
            normalized and detected)
        legion_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Legion Id
          description: Legion ID (exact match)
        full_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Full Name
          description: Full name (will be normalized)
        first_name:
          anyOf:
            - type: string
            - type: 'null'
          title: First Name
          description: First name (will be normalized)
        last_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Name
          description: Last name (will be normalized)
        address:
          anyOf:
            - type: string
            - type: 'null'
          title: Address
          description: >-
            Full address string (will be parsed to extract city, state,
            postal_code, and country)
        city:
          anyOf:
            - type: string
            - type: 'null'
          title: City
          description: City name
        state:
          anyOf:
            - type: string
            - type: 'null'
          title: State
          description: State name or code
        country:
          anyOf:
            - type: string
            - type: 'null'
          title: Country
          description: Country name or code
        postal_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Postal Code
          description: Postal/ZIP code
        job_title:
          anyOf:
            - type: string
            - type: 'null'
          title: Job Title
          description: Job title
        company:
          anyOf:
            - type: string
            - type: 'null'
          title: Company
          description: Company name, website, or social URL
        school:
          anyOf:
            - type: string
            - type: 'null'
          title: School
          description: School name, website, or social URL
        birth_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Birth Date
          description: >-
            Birth date for matching or narrowing name-based results (YYYY-MM-DD,
            YYYY-MM, or YYYY). Can be used as name + birth_date lookup or as a
            qualifier on other name-based combos.
        multiple_results:
          type: boolean
          title: Multiple Results
          description: If true, return multiple matches sorted by confidence
          default: false
        limit:
          type: integer
          maximum: 10
          minimum: 1
          title: Limit
          description: >-
            Maximum number of results to return when multiple_results=true
            (default: 2, max: 10)
          default: 2
        min_confidence:
          anyOf:
            - type: string
            - type: 'null'
          title: Min Confidence
          description: >-
            Minimum match confidence level to include in results: 'high',
            'moderate', or 'low'. Matches below this threshold will be filtered
            out.
        titlecase:
          type: boolean
          title: Titlecase
          description: >-
            If true, format text fields in title case (names, job titles,
            company names, locations, skills, headlines). Raw fields, IDs, URLs,
            codes, and confidence fields are excluded.
          default: false
        required_fields:
          anyOf:
            - type: string
            - type: 'null'
          title: Required Fields
          description: >-
            Comma-separated list of fields that must be present, else the match
            is filtered out. Supports top-level fields ('work_email,phones'), a
            non-empty list subfield ('emails.type'), or a subfield equal to a
            value ('emails.type:personal', 'phones.type:mobile',
            'socials.network:linkedin'). Unknown field names or out-of-range
            enum values return HTTP 400.
        include_fields:
          anyOf:
            - type: string
            - type: 'null'
          title: Include Fields
          description: >-
            Comma-separated list of fields to include in response. If omitted,
            all fields are returned.
        exclude_fields:
          anyOf:
            - type: string
            - type: 'null'
          title: Exclude Fields
          description: >-
            Comma-separated list of fields to exclude from response. Applied
            after include_fields filter.
        pretty_print:
          type: boolean
          title: Pretty Print
          description: If true, pretty-print JSON response with indentation.
          default: false
      type: object
      title: EnrichmentRequest
      description: >-
        Request model for person enrichment. Requires a primary identifier
        (email, phone, social_url, linkedin_id, legion_id, email_hash) OR name +
        context (location, company, school, job_title, birth_date).
      example:
        city: San Francisco
        company: Acme Corp
        email: john.doe@example.com
        first_name: John
        last_name: Doe
        state: CA
    PersonMatchesResponse:
      properties:
        matches:
          items:
            $ref: '#/components/schemas/PersonMatchResponse'
          type: array
          title: Matches
          description: >-
            List of matches sorted by confidence (descending). Capped at the
            request's `limit`.
        total:
          type: integer
          title: Total
          description: >-
            For /person/search and /person/discover, the total number of rows
            matching the query's WHERE clause across the database (not just this
            page). For /person/enrich, the number of matches found for the input
            identifier. On search/discover, if the exact count exceeds its time
            budget (broad, low-selectivity queries) it falls back to the query
            planner's row estimate, and if that is unavailable, to the size of
            the returned page; the response header `Total-Count-Status` reports
            which (`exact`, `estimate`, or `page`).
      type: object
      required:
        - matches
        - total
      title: PersonMatchesResponse
      description: Multiple person matches response.
    ErrorResponse:
      properties:
        error:
          type: string
          title: Error
          description: Error type/code
        message:
          type: string
          title: Message
          description: Human-readable error message
        details:
          anyOf:
            - additionalProperties: true
              type: object
            - items: {}
              type: array
            - type: 'null'
          title: Details
          description: Additional error details (for validation errors)
      type: object
      required:
        - error
        - message
      title: ErrorResponse
      description: Error response model for customer-facing API.
    PersonMatchResponse:
      properties:
        person:
          $ref: '#/components/schemas/PersonResponse'
        match_metadata:
          anyOf:
            - $ref: '#/components/schemas/MatchMetadata'
            - type: 'null'
      type: object
      required:
        - person
      title: PersonMatchResponse
      description: Person response with optional match metadata.
    PersonResponse:
      properties:
        legion_id:
          type: string
          title: Legion Id
        full_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Full Name
        first_name:
          anyOf:
            - type: string
            - type: 'null'
          title: First Name
        middle_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Middle Name
        middle_initial:
          anyOf:
            - type: string
            - type: 'null'
          title: Middle Initial
        last_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Name
        last_initial:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Initial
        suffix:
          anyOf:
            - type: string
            - type: 'null'
          title: Suffix
        prefix:
          anyOf:
            - type: string
            - type: 'null'
          title: Prefix
        sex:
          anyOf:
            - type: string
            - type: 'null'
          title: Sex
        birth_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Birth Date
        birth_year:
          anyOf:
            - type: integer
            - type: 'null'
          title: Birth Year
        birth_month:
          anyOf:
            - type: integer
            - type: 'null'
          title: Birth Month
        birth_day:
          anyOf:
            - type: integer
            - type: 'null'
          title: Birth Day
        age:
          anyOf:
            - type: integer
            - type: 'null'
          title: Age
        work_email:
          anyOf:
            - type: string
            - type: 'null'
          title: Work Email
        mobile_phone:
          anyOf:
            - type: string
            - type: 'null'
          title: Mobile Phone
        linkedin_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Linkedin Url
        linkedin_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Linkedin Id
        city:
          anyOf:
            - type: string
            - type: 'null'
          title: City
        state:
          anyOf:
            - type: string
            - type: 'null'
          title: State
        state_code:
          anyOf:
            - type: string
            - type: 'null'
          title: State Code
        country:
          anyOf:
            - type: string
            - type: 'null'
          title: Country
        country_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Country Code
        job_title:
          anyOf:
            - type: string
            - type: 'null'
          title: Job Title
        company_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Company Name
        company_domain:
          anyOf:
            - type: string
            - type: 'null'
          title: Company Domain
        company_industry:
          anyOf:
            - type: string
            - type: 'null'
          title: Company Industry
        company_size:
          anyOf:
            - type: string
            - type: 'null'
          title: Company Size
        company_legion_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Company Legion Id
        company_linkedin_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Company Linkedin Url
        company_linkedin_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Company Linkedin Id
        seniority_level:
          anyOf:
            - type: string
            - type: 'null'
          title: Seniority Level
        job_function:
          anyOf:
            - type: string
            - type: 'null'
          title: Job Function
        expense_category:
          anyOf:
            - type: string
            - type: 'null'
          title: Expense Category
        is_decision_maker:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Decision Maker
        is_platform_worker:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Platform Worker
        years_of_experience:
          anyOf:
            - type: integer
            - type: 'null'
          title: Years Of Experience
        avg_tenure_months:
          anyOf:
            - type: number
            - type: 'null'
          title: Avg Tenure Months
        highest_degree_level:
          anyOf:
            - type: string
            - type: 'null'
          title: Highest Degree Level
        current_jobs_last_confirmed:
          anyOf:
            - type: string
            - type: 'null'
          title: Current Jobs Last Confirmed
        current_jobs_last_updated:
          anyOf:
            - type: string
            - type: 'null'
          title: Current Jobs Last Updated
        current_location_last_confirmed:
          anyOf:
            - type: string
            - type: 'null'
          title: Current Location Last Confirmed
        current_location_last_updated:
          anyOf:
            - type: string
            - type: 'null'
          title: Current Location Last Updated
        linkedin_followers:
          anyOf:
            - type: integer
            - type: 'null'
          title: Linkedin Followers
        linkedin_connections:
          anyOf:
            - type: integer
            - type: 'null'
          title: Linkedin Connections
        headline:
          anyOf:
            - $ref: '#/components/schemas/CleanedRawResponse'
            - type: 'null'
        summary:
          anyOf:
            - $ref: '#/components/schemas/CleanedRawResponse'
            - type: 'null'
        num_sources:
          anyOf:
            - type: integer
            - type: 'null'
          title: Num Sources
        last_seen:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Seen
        build_version:
          anyOf:
            - type: string
            - type: 'null'
          title: Build Version
        phones:
          items:
            $ref: '#/components/schemas/PhoneResponse'
          type: array
          title: Phones
          default: []
        emails:
          items:
            $ref: '#/components/schemas/EmailResponse'
          type: array
          title: Emails
          default: []
        locations:
          items:
            $ref: '#/components/schemas/LocationResponse'
          type: array
          title: Locations
          default: []
        experience:
          items:
            $ref: '#/components/schemas/ExperienceResponse'
          type: array
          title: Experience
          default: []
        education:
          items:
            $ref: '#/components/schemas/EducationResponse'
          type: array
          title: Education
          default: []
        certifications:
          items:
            $ref: '#/components/schemas/CertificationResponse'
          type: array
          title: Certifications
          default: []
        socials:
          items:
            $ref: '#/components/schemas/SocialResponse'
          type: array
          title: Socials
          default: []
        skills:
          items:
            $ref: '#/components/schemas/SkillResponse'
          type: array
          title: Skills
          default: []
        languages:
          items:
            $ref: '#/components/schemas/LanguageResponse'
          type: array
          title: Languages
          default: []
      type: object
      required:
        - legion_id
      title: PersonResponse
      description: Complete person enrichment response.
    MatchMetadata:
      properties:
        matched_on:
          items:
            type: string
          type: array
          title: Matched On
          description: Fields that matched between request and person
        match_type:
          type: string
          title: Match Type
          description: 'Type of match: exact, fuzzy, or partial'
        match_confidence:
          type: string
          title: Match Confidence
          description: 'Match confidence level: high, moderate, or low'
      type: object
      required:
        - match_type
        - match_confidence
      title: MatchMetadata
      description: Metadata about the match.
    CleanedRawResponse:
      properties:
        cleaned:
          anyOf:
            - type: string
            - type: 'null'
          title: Cleaned
        raw:
          items:
            type: string
          type: array
          title: Raw
          default: []
      type: object
      title: CleanedRawResponse
      description: >-
        Generic {cleaned, raw[]} structure used for titles, degrees, headlines,
        summaries, skills, languages, and certification names/institutions.
    PhoneResponse:
      properties:
        type:
          anyOf:
            - type: string
            - type: 'null'
          title: Type
        number:
          anyOf:
            - type: string
            - type: 'null'
          title: Number
        current:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Current
        confidence:
          anyOf:
            - type: string
            - type: 'null'
          title: Confidence
        last_seen:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Seen
        num_sources:
          anyOf:
            - type: integer
            - type: 'null'
          title: Num Sources
      type: object
      title: PhoneResponse
      description: Phone number response.
    EmailResponse:
      properties:
        address:
          anyOf:
            - type: string
            - type: 'null'
          title: Address
        type:
          anyOf:
            - type: string
            - type: 'null'
          title: Type
        current:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Current
        validated:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Validated
        confidence:
          anyOf:
            - type: string
            - type: 'null'
          title: Confidence
        last_seen:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Seen
        num_sources:
          anyOf:
            - type: integer
            - type: 'null'
          title: Num Sources
        validation_status:
          anyOf:
            - type: string
            - type: 'null'
          title: Validation Status
        hash_sha256:
          anyOf:
            - type: string
            - type: 'null'
          title: Hash Sha256
        hash_sha1:
          anyOf:
            - type: string
            - type: 'null'
          title: Hash Sha1
        hash_md5:
          anyOf:
            - type: string
            - type: 'null'
          title: Hash Md5
      type: object
      title: EmailResponse
      description: Email response.
    LocationResponse:
      properties:
        street_address:
          anyOf:
            - type: string
            - type: 'null'
          title: Street Address
        address_line_2:
          anyOf:
            - type: string
            - type: 'null'
          title: Address Line 2
        city:
          anyOf:
            - type: string
            - type: 'null'
          title: City
        state:
          anyOf:
            - type: string
            - type: 'null'
          title: State
        state_code:
          anyOf:
            - type: string
            - type: 'null'
          title: State Code
        country:
          anyOf:
            - type: string
            - type: 'null'
          title: Country
        country_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Country Code
        continent:
          anyOf:
            - type: string
            - type: 'null'
          title: Continent
        continent_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Continent Code
        postal_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Postal Code
        postal_code_4:
          anyOf:
            - type: string
            - type: 'null'
          title: Postal Code 4
        geo:
          anyOf:
            - type: string
            - type: 'null'
          title: Geo
        raw:
          items:
            type: string
          type: array
          title: Raw
          default: []
        current:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Current
        num_sources:
          anyOf:
            - type: integer
            - type: 'null'
          title: Num Sources
        confidence:
          anyOf:
            - type: string
            - type: 'null'
          title: Confidence
        last_seen:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Seen
      type: object
      title: LocationResponse
      description: Location response.
    ExperienceResponse:
      properties:
        title:
          anyOf:
            - $ref: '#/components/schemas/CleanedRawResponse'
            - type: 'null'
        seniority_level:
          anyOf:
            - type: string
            - type: 'null'
          title: Seniority Level
        job_function:
          anyOf:
            - type: string
            - type: 'null'
          title: Job Function
        expense_category:
          anyOf:
            - type: string
            - type: 'null'
          title: Expense Category
        is_decision_maker:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Decision Maker
        is_platform_worker:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Platform Worker
        organization:
          anyOf:
            - $ref: '#/components/schemas/ExperienceOrganizationResponse'
            - type: 'null'
        start_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Start Date
        end_date:
          anyOf:
            - type: string
            - type: 'null'
          title: End Date
        current:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Current
        tenure_months:
          anyOf:
            - type: integer
            - type: 'null'
          title: Tenure Months
        description:
          anyOf:
            - $ref: '#/components/schemas/CleanedRawResponse'
            - type: 'null'
      type: object
      title: ExperienceResponse
      description: Experience entry response.
    EducationResponse:
      properties:
        organization:
          anyOf:
            - $ref: '#/components/schemas/EducationOrganizationResponse'
            - type: 'null'
        degree:
          anyOf:
            - $ref: '#/components/schemas/CleanedRawResponse'
            - type: 'null'
        degree_level:
          anyOf:
            - type: string
            - type: 'null'
          title: Degree Level
        field_of_study:
          anyOf:
            - $ref: '#/components/schemas/CleanedRawResponse'
            - type: 'null'
        start_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Start Date
        end_date:
          anyOf:
            - type: string
            - type: 'null'
          title: End Date
        current:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Current
      type: object
      title: EducationResponse
      description: Education entry response.
    CertificationResponse:
      properties:
        name:
          anyOf:
            - $ref: '#/components/schemas/CleanedRawResponse'
            - type: 'null'
        institution:
          anyOf:
            - $ref: '#/components/schemas/CleanedRawResponse'
            - type: 'null'
        credential_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Credential Id
        issue_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Issue Date
        expiration_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Expiration Date
      type: object
      title: CertificationResponse
      description: Certification entry response.
    SocialResponse:
      properties:
        network:
          anyOf:
            - type: string
            - type: 'null'
          title: Network
        url:
          anyOf:
            - type: string
            - type: 'null'
          title: Url
        username:
          anyOf:
            - type: string
            - type: 'null'
          title: Username
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
        current:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Current
        num_sources:
          anyOf:
            - type: integer
            - type: 'null'
          title: Num Sources
        confidence:
          anyOf:
            - type: string
            - type: 'null'
          title: Confidence
        last_seen:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Seen
      type: object
      title: SocialResponse
      description: Social response.
    SkillResponse:
      properties:
        cleaned:
          anyOf:
            - type: string
            - type: 'null'
          title: Cleaned
        raw:
          items:
            type: string
          type: array
          title: Raw
          default: []
      type: object
      title: SkillResponse
      description: Skill response.
    LanguageResponse:
      properties:
        cleaned:
          anyOf:
            - type: string
            - type: 'null'
          title: Cleaned
        raw:
          items:
            type: string
          type: array
          title: Raw
          default: []
        proficiency:
          anyOf:
            - type: string
            - type: 'null'
          title: Proficiency
      type: object
      title: LanguageResponse
      description: Language response.
    ExperienceOrganizationResponse:
      properties:
        name:
          anyOf:
            - $ref: '#/components/schemas/CleanedRawResponse'
            - type: 'null'
        website:
          anyOf:
            - type: string
            - type: 'null'
          title: Website
        linkedin_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Linkedin Url
        linkedin_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Linkedin Id
        industry:
          anyOf:
            - type: string
            - type: 'null'
          title: Industry
        size:
          anyOf:
            - type: string
            - type: 'null'
          title: Size
        legion_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Legion Id
      type: object
      title: ExperienceOrganizationResponse
      description: Organization within an experience entry.
    EducationOrganizationResponse:
      properties:
        name:
          anyOf:
            - $ref: '#/components/schemas/CleanedRawResponse'
            - type: 'null'
        website:
          anyOf:
            - type: string
            - type: 'null'
          title: Website
        linkedin_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Linkedin Url
      type: object
      title: EducationOrganizationResponse
      description: Organization within an education entry.
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: API-Key

````