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

# Create a new person

> Creates a new person record with comprehensive profile information.
      - Creates associated work experience if company and job title provided
      - Links person to job/candidate if job details provided
      - Links person as client contact if client details provided
      - Handles multiple contact details (emails/phones)
      - Creates initial notes if provided



## OpenAPI

````yaml POST /v0/persons
openapi: 3.1.0
info:
  title: Stardex API (v0)
  version: 0.0.1
  description: Stardex ATS legacy API.
servers:
  - url: https://api.stardex.ai
    description: Production API server
security:
  - bearerAuth: []
tags: []
paths:
  /v0/persons:
    post:
      tags:
        - people
      summary: Add a new person
      description: |-
        Creates a new person record with comprehensive profile information.
              - Creates associated work experience if company and job title provided
              - Links person to job/candidate if job details provided
              - Links person as client contact if client details provided
              - Handles multiple contact details (emails/phones)
              - Creates initial notes if provided
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddPersonRequest'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnifiedAddPersonResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnifiedAddPersonResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnifiedAddPersonResponse'
components:
  schemas:
    AddPersonRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          description: Full name of the person
        first_name:
          type: string
          description: First name of the person
        last_name:
          type: string
          description: Last name of the person
        linkedin_url:
          type: string
          format: uri
          description: LinkedIn profile URL
        current_job_title:
          type: string
          description: Current job title
        linkedin_location:
          type: string
          description: LinkedIn location
        company_name:
          type: string
          description: Current company name
        emails:
          type: array
          items:
            type: string
            format: email
          description: Additional email addresses as an array
        work_email:
          type: string
          format: email
          description: Work email address
        work_phone:
          type: string
          description: Work phone number
        personal_email:
          type: string
          format: email
          description: Personal email address
        mobile_phone:
          type: string
          description: Mobile phone number
        phone_numbers:
          type: array
          items:
            type: string
          description: Additional phone numbers as an array
        notes:
          type: string
          description: Initial notes about the person
        job_id:
          type: string
          description: Job ID for candidate association
        job_name:
          type: string
          description: Job name for candidate association
        client_name:
          type: string
          description: Client company name
        client_id:
          type: string
          description: Explicit client company ID if known
        external_source_id:
          type: string
          description: >-
            External source ID for the person (e.g. Hubspot, External system,
            etc.)
        enrich_record:
          type: boolean
          description: Whether to enrich the person record
      required:
        - name
        - linkedin_url
    UnifiedAddPersonResponse:
      type: object
      properties:
        error:
          type:
            - string
            - 'null'
          description: Error message, if any
        data:
          allOf:
            - $ref: '#/components/schemas/AddPersonData'
            - type:
                - object
                - 'null'
      required:
        - error
        - data
    AddPersonData:
      type: object
      properties:
        id:
          type: string
          description: The ID of the person
        name:
          type: string
          description: The name of the person
        linkedin_public_id:
          type:
            - string
            - 'null'
          description: The LinkedIn public ID
        current_job_title:
          type:
            - string
            - 'null'
          description: Current job title
        company_name:
          type:
            - string
            - 'null'
          description: Current company name
        emails:
          type: array
          items:
            $ref: '#/components/schemas/ContactValue'
          description: Email addresses
        linkedin_location:
          type:
            - string
            - 'null'
          description: LinkedIn location
        phones:
          type: array
          items:
            $ref: '#/components/schemas/ContactValue'
          description: Phone numbers
        candidate_id:
          type:
            - string
            - 'null'
          description: Candidate ID if associated with a job
        client_contact_id:
          type:
            - string
            - 'null'
          description: Client contact ID if associated with a client
        external_source_id:
          type:
            - string
            - 'null'
          description: External source ID for the person
      required:
        - id
        - name
        - linkedin_public_id
        - current_job_title
        - company_name
        - emails
        - linkedin_location
        - phones
        - candidate_id
        - client_contact_id
        - external_source_id
    ContactValue:
      type: object
      properties:
        contact_data_type:
          type:
            - string
            - 'null'
          description: Category of contact (work/personal/etc)
        value:
          type: string
          description: Contact value
      required:
        - contact_data_type
        - value
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Authenticate with a Bearer token: API key, OAuth token, or session
        token.

````