Create or Update Leads in Bulk

Lets you create or update leads in bulk. Create or update up to 25 records with a single call.

  • If the lead exists, the attribute-value pairs you pass in the JSON body will update the lead’s information.
  • If the lead doesn’t exist, a new lead will be created.

The email address and phone fields are used as the default search criteria. If none of these match with an existing lead, a new lead will be created. You can pass the “SearchBy” attribute in the JSON body to search by a particular parameter.

Note: You can use the Lead Capture API as an alternative.

API URL

POST
https://{host}/v2/LeadManagement.svc/Lead/Bulk/CreateOrUpdate?accessKey=AccessKey&secretKey=SecretKey
Copy URL

Request

JSON Body/Payload

Content-Type: application/json

[
    [
        {
            "Attribute": "EmailAddress",
            "Value": "email0@gmail.com"
        },
        {
            "Attribute": "FirstName",
            "Value": "F0Name"
        },
        {
            "Attribute": "LastName",
            "Value": "L0Name"
        },
        {
            "Attribute": "mx_City",
            "Value": "C0Name"
        },
        {
            "Attribute": "Company",
            "Value": "C0Company"
        },
        {
            "Attribute": "SearchBy",
            "Value": "EmailAddress"
        }
    ],
    [
        {
            "Attribute": "EmailAddress",
            "Value": "email1@gmail.com"
        },
        {
            "Attribute": "FirstName",
            "Value": "F1Name"
        },
        {
            "Attribute": "LastName",
            "Value": "L1Name"
        },
        {
            "Attribute": "mx_City",
            "Value": "C1Name"
        },
        {
            "Attribute": "Company",
            "Value": "C1Company"
        },
        {
            "Attribute": "SearchBy",
            "Value": "EmailAddress"
        }
    ],
    [
        {
            "Attribute": "EmailAddress",
            "Value": "email2@gmail.com"
        },
        {
            "Attribute": "FirstName",
            "Value": "F2Name"
        },
        {
            "Attribute": "LastName",
            "Value": "L2Name"
        },
        {
            "Attribute": "mx_City",
            "Value": "C2Name"
        },
        {
            "Attribute": "Company",
            "Value": "C2Company"
        },
        {
            "Attribute": "SearchBy",
            "Value": "EmailAddress"
        }
    ]
]

JSON Properties

Parameter Description
EmailAddress

The lead’s email address.

FirstName

The lead’s first name.

LastName

The lead’s last name.

mx_City

Custom field for the lead’s city.

Company

The lead’s company.

SearchBy

Pass the parameter and value according to which you want to search leads. Example “FirstName”: “John” or “mx_City”: “Bangalore”.

Response

200 OK

Content-Type: application/json

[
    {
        "RowNumber": 1,
        "LeadId": "a4f351b9-bc2a-44a9-9a38-f1303cca214a",
        "LeadCreated": false,
        "LeadUpdated": true,
        "AffectedRows": 1
    },
    {
        "RowNumber": 2,
        "LeadId": "4cb6ab7a-77b2-4c4d-abe1-6bce7657d350",
        "LeadCreated": false,
        "LeadUpdated": true,
        "AffectedRows": 1
    },
    {
        "RowNumber": 3,
        "LeadId": "3770d34c-07b2-467b-98ef-e469fcba9dc8",
        "LeadCreated": false,
        "LeadUpdated": true,
        "AffectedRows": 1
    }
]

HTTP Response Code

Code Description
200 OK

This is the status code for successful API call.

401 Unauthorized

The API call was made with invalid access credentials. Check your AccessKey and SecretKey.

400 Bad Request

The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure.

404 Not Found

The API could not be found. Please check the API signature.

429 Too Many Requests

API calls exceeded the limit of 25 in 5 second(s)

500 Internal Server Error

The API called failed. There could be many reasons for it. Check the exception message to get more details.