# Create a contact and add to automation

Create a new contact and immediately add them to an automation. The contact is created in the specified list and starts the automation sequence. If skip_if_lead_exists is true, existing contacts won't be added again.

Endpoint: POST /flows/api/flows/{flowUuid}/add-new-lead
Version: 2.0.0
Security: bearerAuth

## Path parameters:

  - `flowUuid` (string, required)
    Automation UUID.

## Request fields (application/json):

  - `lead` (object, required)

  - `lead.linkedin_id` (string, required)
    LinkedIn profile URL or member ID.
    Example: "john-doe-123456"

  - `lead.first_name` (string)
    Example: "John"

  - `lead.last_name` (string)
    Example: "Doe"

  - `lead.company_name` (string)
    Example: "Acme Inc"

  - `lead.ln_id` (string,null)

  - `lead.sn_id` (string,null)

  - `lead.linkedin` (string,null)

  - `lead.email` (string)
    Example: "john@acme.com"

  - `lead.about` (string)

  - `lead.domain` (string)
    Company domain for email discovery.
    Example: "acme.com"

  - `lead.headline` (string,null)

  - `lead.position` (string,null)

  - `lead.raw_address` (string,null)

  - `custom_fields` (object)
    Custom field values.
    Example: {"field_position":"CTO"}

  - `list_uuid` (string, required)
    List UUID for the new contact.

  - `update_lead_if_exists` (boolean)

  - `move_to_list` (boolean)

  - `flow_segment_id` (integer)
    Automation segment to enter.

  - `skip_if_lead_exists` (boolean)
    Skip if contact already exists.

## Response 200 fields (application/json):

  - `reason` (string)
    Example: "skipped"

## Response 422 fields (application/json):

  - `error` (object)

  - `error.reason` (string)
    Machine-readable error code: validation_error, bad_request, auth_exception, access_denied, payment_required.
    Example: "validation_error"

  - `error.message` (string)
    Example: "The name field is required."

  - `error.data` (object)
    Field-level validation errors (field name → messages).

  - `message` (string)
    Example: "The given data was invalid."

  - `code` (integer)
    Example: 422


## Response 204 fields
