Skip to main content

Update prospects in database

warning

This is a v1 legacy endpoint. It uses a different path /rest/v1 and may return different error codes and response formats compared to v2. While it remains functional, consider handling errors accordingly.

This endpoint allows you to update one or multiple prospects in your global prospect list in a single request. You can update their statuses and snippet data.

Existing prospects will be updated, while new prospects that do not exist in your database will be added. The key difference between this and add prospects endpoint is the update property.

Request

Endpoint

POST https://api.woodpecker.co/rest/v1/add_prospects_list

Headers

x-api-key: {YOUR_API_KEY}
Content-type: application/json

For details on how to authenticate your requests, please see the authentication guide.

Body

The example below shows all available fields. The update and prospects[].email field is required, while all other fields are optional. If omitted, they will not be updated.

info

You can update up to 20 000 prospects per request

{
"update": true,
"file_name": "API import YYYY-MM-DD",
"prospects": [
{
"email": "erlich@bachman.com",
"status": "ACTIVE",
"first_name": "Erlich",
"last_name": "Bachman",
"company": "Bachmanity",
"website": "http://www.bachmanity.com/",
"linkedin_url": "https://www.linkedin.com/in/erlich-bachman/",
"tags": "#VC",
"title": "VC Angel",
"phone": "111222333",
"address": "221 Newell Rd",
"city": "Palo Alto",
"state": "California",
"country": "USA",
"industry": "Software as a Service",
"snippet1": "Pied Piper board member",
"snippet2": "A personalized sentence <br/> in two lines",
"snippet3": "string",
"snippet4": "string",
"snippet5": "string",
"snippet6": "string",
"snippet7": "string",
"snippet8": "string",
"snippet9": "string",
"snippet10": "string",
"snippet11": "string",
"snippet12": "string",
"snippet13": "string",
"snippet14": "string",
"snippet15": "string"
}
]
}

Body schema

FieldTypeRequiredDescription
updatebooleanYesThis property has to be set to true to update prospects. Otherwise existing prospects will return E_DUPLICATE code
file_namestringNoName of the import batch, visible in the imported column. If not specified, it will clear the existing values
[].prospectsobjectYesContains prospect data, there can be multiple prospects
  └─ emailstringYesProspect's email address
  └─ statusstringNoProspect's status. Available statuses: ACTIVE, BLACKLIST, BOUNCED, INVALID, REPLIED
  └─ first_namestringNoProspect's first name
  └─ last_namestringNoProspect's last name
  └─ companystringNoProspect's company name
  └─ websitestringNoProspect's website URL
  └─ linkedin_urlstringNoProspect's LinkedIn profile URL
  └─ tagsstringNoTags associated with the prospect. Tags start with a # and are separated with a space
  └─ titlestringNoProspect's job title
  └─ phonestringNoProspect's phone number
  └─ addressstringNoProspect's address
  └─ citystringNoProspect's city
  └─ countrystringNoProspect's country
  └─ snippetstringNoProspect custom snippets. There are 15 snippet fields (snippet1 to snippet15)
  └─ industrystringNoProspect's industry
  └─ statestringNoProspect's state or region

Request sample

Update prospects

The example below showcases how to update multiple prospects only with selected snippets.

curl --request POST \
--url "https://api.woodpecker.co/rest/v1/add_prospects_list" \
--header "x-api-key: {YOUR_API_KEY}" \
--header "Content-Type: application/json" \
--data '{
"update": true,
"prospects": [
{
"email": "jared@piedpiper.com",
"snippet1": "New snippet value"
},
{
"email": "erlich@bachman.com",
"snippet1": "New snippet value"
}
]
}'

Response

Response examples

All prospects have been updated. Any prospect that did not previously exist has been added to the prospect list.

{
"prospects": [
{
"email": "jared@piedpiper.com",
"id": 1091123456
},
{
"email": "erlich@bachman.com",
"id": 1091123457
}
],
"status": {
"status": "OK",
"code": "OK",
"msg": "OK"
}
}

Body schema

FieldData TypeDescription
prospectsarray[object]An array of prospects added to the prospect list
  └─[].emailstringProspect's email
  └─[].idintegerUnique ID of a prospect
statusobjectObject containing the status details of the request
  └─statusstringGeneral status message
  └─codestringCode indicating the error category
  └─msgstringError message