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. Example “FirstName”: “John” or “mx_City”: “Bangalore”.
Note: You can use the Lead Capture API as an alternative.
API URL
Request
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":"mx_KYC",
"Value":"",
"Fields":[
{
"Attribute":"Status",
"Value":"Pending"
},
{
"Attribute":"mx_CustomObject_1",
"Value":"XYZ12345.png"
},
{
"Attribute":"mx_CustomObject_2",
"Value":"864563"
}
]
},
{
"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":"mx_KYC",
"Value":"",
"Fields":[
{
"Attribute":"Status",
"Value":"Pending"
},
{
"Attribute":"mx_CustomObject_1",
"Value":"XYZ12345.png"
},
{
"Attribute":"mx_CustomObject_2",
"Value":"864563"
}
]
},
{
"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":"mx_KYC",
"Value":"",
"Fields":[
{
"Attribute":"Status",
"Value":"Pending"
},
{
"Attribute":"mx_CustomObject_1",
"Value":"XYZ12345.png"
},
{
"Attribute":"mx_CustomObject_2",
"Value":"864563"
}
]
},
{
"Attribute":"SearchBy",
"Value":"EmailAddress"
}
]
]
Request Parameters
| Parameter | Description |
|---|---|
| Attribute | Pass as many lead fields (including custom fields). You must pass at least one unique field (e.g. email address or phone). You can also pass custom field sets. Note:
|
| Value | The value of the specified attribute. For custom field sets, you may pass an optional “Fields” array, containing attribute-value pairs for CFS fields. You must pass the schema name of the custom object fields in the attribute parameters. |
Response
[
{
"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 Codes
| 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. |

