---
title: "POST /api/v4/leads/complex"
method: POST
path: "/api/v4/leads/complex"
---

# POST /api/v4/leads/complex

`POST /api/v4/leads/complex`

Create leads using the complex method (supports unsorted metadata).

## Request body

- LeadCreate[]
  - `request_id` string — Client-side request id
  - `name` string
  - `price` integer
  - `responsible_user_id` integer
  - `group_id` integer
  - `status_id` integer
  - `pipeline_id` integer
  - `loss_reason_id` integer
  - `created_by` integer
  - `updated_by` integer
  - `closed_at` integer
  - `created_at` integer
  - `updated_at` integer
  - `visitor_uid` string — Website visitor uid from tracking; links this lead to a site visit
  - `custom_fields_values` CustomFieldValue[] — Custom fields payload
    - `field_id` integer — Use either field_id or field_code (e.g. PHONE/EMAIL)
    - `field_code` string — Field code (e.g. PHONE/EMAIL)
    - `values` CustomFieldValueItem[], required — Values for the field (multiple values allowed)
      - `value` union, required
        - string
        - integer
        - boolean
      - `enum_id` integer — Option id for list/select custom fields (one of predefined options)
      - `enum_code` string — Option code for list/select custom fields (if you use code instead of id)
  - `tags_to_add` Tag[] — Tags to attach
    - `id` integer
    - `name` string
    - `color` string
  - `_embedded` LeadCreateEmbedded
    - `tags` Tag[]
      - `id` integer
      - `name` string
      - `color` string
    - `contacts` ContactCreate[]
      - `id` integer
      - `name` string
      - `first_name` string
      - `last_name` string
      - `custom_fields_values` CustomFieldValue[] — Custom fields payload (same as contact create API)
        - `field_id` integer — Use either field_id or field_code (e.g. PHONE/EMAIL)
        - `field_code` string — Field code (e.g. PHONE/EMAIL)
        - `values` CustomFieldValueItem[], required — Values for the field (multiple values allowed)
          - `value` union, required
            - string
            - integer
            - boolean
          - `enum_id` integer — Option id for list/select custom fields (one of predefined options)
          - `enum_code` string — Option code for list/select custom fields (if you use code instead of id)
    - `companies` CompanyCreate[]
      - `id` integer
      - `name` string
    - `metadata` LeadUnsortedMetadata
      - `category` 'sip' | 'forms' | 'chats' | 'mail' — Unsorted category
      - `ip` string — IP address of the submitter
      - `form_id` union — Form id in your system (string or numeric)
        - string
        - integer
      - `form_sent_at` integer — Unix timestamp (seconds) when the form was submitted
      - `form_name` string — Form name (shown in amoCRM)
      - `form_page` string — Page URL where form lives
      - `referer` string — Referrer URL
      - `visitor_uid` string — Visitor uid from tracking, if you have it
      - `form_type` integer — Form type code from amoCRM, use only if you know it
    - `source` LeadSourceRef
      - `external_id` union — External id in your system
        - string
        - integer
        - boolean
      - `type` string — Source type

## Response `200`

The request has succeeded.

- union
  - LeadComplexCreateResponse
    - `_links` object
    - `_embedded` object
      - `leads` LeadComplexCreateResult[]
        - `id` integer
        - `contact_id` integer
        - `company_id` integer
        - `merged` boolean
        - `request_id` string
  - Problem
    - `title` string
    - `status` integer
    - `detail` string
    - `type` string

---

[API](https://skmtc.net/hexlet/apis/amocrm-api.md) · [All operations](https://skmtc.net/hexlet/apis/amocrm-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hexlet/amocrm-api/versions/800f4ed7083b/schema)
