NAV Navbar
Logo 1
javascript curl

Introduction

The Wishpond API lets you track users’ activities across your website, backend systems, and the Wishpond pages. You can also use it access your lists, visitors, leads, their attributes and events available in your Wishpond account.

We’ve developed a Javascript API and an HTTP API. We’ll demonstrate its use in this guide.

Authentication

To get your credential keys, you must log into your Wishpond account, a modal with your credentials should appear after the login. If not, you should click on your account name in the top right corner and then click on API Keys.

There should be 3 keys:

About the examples

The text :id, :lead_id, :list_id and :visitor_id in the examples should be replaced by the resource identifier of the object you intend to manipulate. Remember to replace the entire text, including the colon :.

Rate Limit

> Response After Rate Limit Exceeded:
{ "error": "Rate Limit Exceeded" }

The Wishpond API rate limit is 100 requests per minute.

If the rate limit is exceeded, subsequent requests will receive a response code of 429 until 60 seconds has elapsed since the initial request.

Tracking

Getting Started

> Wishpond Tracking Code

<script>
  (function(d, s, id) {
  window.Wishpond = window.Wishpond || {};
  Wishpond.merchantId = 'YOUR_MERCHANT_ID';
  Wishpond.writeKey = 'YOUR_TRACKING_KEY';
  var js, wpjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//cdn.wishpond.net/connect.js";
  wpjs.parentNode.insertBefore(js, wpjs);
  }(document, 'script', 'wishpond-connect'));
</script>

The tracking API lets you track your users and their activity. When you include the Wishpond javascript tracking code on the html of your website, it will automatically start tracking your users using an anonymous ID. This anonymous ID will be saved on their browser and will track them across websites.

If you know the identity of your user, at any time you can identify your user using your own identifier or cid. All of that user’s anonymous activity will be attached to the new, identified user. This anonymous ID will also be aliased to this identifier, so any further anonymous tracking calls will be associated to the identified user.

To use the javascript tracking library, you must include the Wishpond Tracking Code inside of your website.

Identify

curl http://track.wishpond.com/api/v1/identify \
-u "YOUR_MERCHANT_ID:YOUR_TRACKING_KEY" \
-d '
{
    "cid": "v1a0v94ahb4a5fa4",
    "attributes": {
        "email": "jimothy@equestriansupplies.com",
        "name": "Jimothy Jimmins",
        "occupation": "CEO",
        "age": 44
    },
    "context": {
        "ip": "75.51.12.54"
    }
}'
var attributes = {
  email: "jimandajimmins@equestriansupplies.com",
  name: "Jimanda Jimmins",
  age: 39
};

Wishpond.Tracker.identify("7fn39c1aj2e8p", attributes);

The identify method lets you provide information that identifies a user, and record attributes about them. Attributes tracked with this method will define what you will see in the user’s profile.

An example of needing to identify on every page load could be as follows:

Your website is visited and identify is called. The user is finished with whatever they’re doing and leave, but we don’t know if they will visit again from another device or not. This tool provides you a way of linking the same user across different sessions.

HTTP Request

POST http://track.wishpond.com/api/v1/identify

Limitations

Attribute keys are limited to 64 characters, while its value is limited at 256 characters.

Query Parameters

Parameter Type Required Default Description
cid string yes This is the user’s identifier.
attributes hash yes These are the attributes that will identify the user. The key is a string, but the value can be any primitive.
context hash Any additional information you’d like to track about these attributes.
timestamp string Current time The time these attributes were set (UTC).
source string Useful for tracking where the attributes were set.

Finding the cid

Wishpond.Tracker.getAnonId().then(function(data) {
  // ...
});

If you want to find the cid of the user, you can run the getAnonId function.

Within the function block you can do what you want with the data, assign it to a variable, print it to the console with console.log(data) etc.

Setting Attributes

var attributes = {
  email: 'jimothy@example.com',
  name:  'Jimothy Tenkins',
  age:   32
};

Wishpond.Tracker.setAttributes(attributes)

You can add or change the attributes of the lead or visitor. This will set whatever attributes you pass in on the current user interacting with the page.

Reset

Wishpond.Tracker.reset();

You can stop tracking a user with the reset method. This is useful if the user identity has changed, for example on logout. A new anonymous ID will be generated the next time you either identify a user or track an event.

Tracking events

The track method will let you associate events to the user. This is useful when tracking what your user is doing on your website or application.

curl http://track.wishpond.com/api/v1/track \
-u "YOUR_MERCHANT_ID:YOUR_TRACKING_KEY" \
-d '
{
    "cid": "user_id",
    "event": "upgraded",
    "properties":
        {
            "value": "expensive_plan",
            "price": 9001
        }
}'
var properties = {
  value: "expensive_plan",
  price: 9001
};

Wishpond.Tracker.track("upgraded", properties);

The tracking pixel will automatically track page visits

HTTP Request

POST http://track.wishpond.com/api/v1/track

Limitations

The event value is limited to 32 characters, while the value inside properties.value is limited at 256 characters.

URL Parameters

Parameter Type Required Default Description
cid string yes The user’s identifier.
event string yes The name of the event. e.g.: ‘signed_up’, 'upgraded’.
properties hash The properties associated with the event. (Can only match workflows on the value property at the moment)
context hash Any additional information associated with the event.
timestamp string Current time The time this event happened (UTC).
source string Useful for tracking where the events were set.

Tracking Form Submissions

This feature requires JQuery to be loaded on your website

You can easily track form submissions on your own forms by using these simple HTML attributes.

To track form submissions, you just need to add the data-wishpond-form="Form name" attribute to your form and the form submission, along with all of its inputs, will be sent as a form_submission event on the tracked user.

The data-wishpond-ignore attribute will make us ignore the input element completely.

Form submissions

<form data-wishpond-form="Simple form">
  Email <input type="email" name="email" />
  Company <input type="text" data-wishpond-ignore="true" name="company" />
  Feedback <textarea name="feedback"></textarea>
  Password <input type="password" name="password" />
  <input type="submit" value="Submit" />
</form>

In the case of this example, you would get a form_submission event along with the user’s email and feedback in the event properties.

These attributes will not be tracked as user attributes. To accomplish that, follow the User attributes part below.

User attributes

<form data-wishpond-form="Simple form">
  Email <input type="email" name="email" data-wishpond-attribute="email" />
  Phone Number <input type="text" name="phone" data-wishpond-attribute="phone_number" />
  Feedback <textarea name="feedback"></textarea>
  <input type="submit" value="Submit" />
</form>

This will capture your lead data and send it directly to wishpond when not using a Wishpond Campaign

If you want to use some of the data in your form to identify the user, you need to set the data-wishpond-attribute="attribute_name" attribute on the input element. Note that the form still needs the data-wishpond-form to track the attributes inside of it.

In the case of this example, the email and phone number attributes will be set as email and phone_number respectively.

URL Parser

Upon visiting a URL. The URL Parser takes the URL from the browser’s address bar and fires off attributes for the lead based on the parameters in the URL. The cid is set in the browser if it exists. Then fires off identify attributes for that cid, or the default one.

For Example: If you visit a URL like the one below. http://www.examplelandingpage.com/?wpnd_cid=123&wpnd_first_name=Jimothy&wpnd_last_name=Jimmerson&not_an_attr=Hello

The URL Parser will fire off these identify attributes {first_name: "Jimothy", last_name: "Jimmerson"} for cid 123.

Leads

> Example Request:
curl -H "X-Api-Token:YOUR_API_KEY" \
"https://api.wishpond.com/api/v1/leads?page=1&per_page=10"
> Sample Response:
{
    "leads": [
        {
            "id": "b867dc398592c3ef",
            "email": "someone@test.com",
            "status": "active",
            "created_at": "2015-07-04T00:49:06.420Z",
            "updated_at": "2015-07-16T01:29:00.970Z",
            "lead_score": 0,
            "subscribed": true,
            "cid": "b867dc398592c3ef",
            "mid": "263531",
            "dynamic_attributes": {
                "first_name": "jimothy",
                "last_name": "macdougal"
            }
        }
    ],
    "meta": {
        "current_page": 1,
        "total_entries": 1,
        "total_pages": 1,
        "total_leads": 1,
        "total_visitors":64
    }
}

You can query leads at the following endpoint:

https://api.wishpond.com/api/v1/leads

Parameter Description Type Allowed
page Page number pagination Integers above 0
per_page Number of leads returned per page pagination 0-200
status Filters by lead status filter One of: active, suppressed
email Filters by emails starting with this parameter filter Any string
cid Filters the leads by the client identifier filter Any string
range_start Filter by leads created after date filter Format: '2017-03-13T07:00:00.000Z’
range_end Filter by leads created before date filter Format: '2017-03-13T07:00:00.000Z’
range_data_source If specified, overrides the default field used by range_start and range_end. Default field used is 'created_at’. filter One of: last_email_opened_at, last_email_clicked_at
order_key Sorts by property sort One of: email, created_at
order_type Sort direction sort One of: asc, desc

Create

> Example Request:

curl -X POST https://api.wishpond.com/api/v1/leads/ \
-H "X-Api-Token:YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '
{
    "lead": {
        "email":"panda@wishpond.com",
        "first_name":"Mei",
        "last_name":"Xiang",
        "favorite_food": "Bamboo"
    }
}'
> Sample Response:
{
    "lead": {
        "id":"53c55dab7b414020",
        "cid":"53c55dab7b414020",
        "mid":"696791",
        "email":"panda@wishpond.com",
        "status":"active",
        "created_at":"2016-04-25T20:33:00.282Z",
        "updated_at":"2016-04-25T20:33:00.281Z",
        "lead_score":0,
        "subscribed":true,
        "dynamic_attributes": {
            "first_name":"Mei",
            "last_name":"Xiang",
            "favorite_food": "Bamboo"
        }
    }
}

You can create a lead by making a POST request to the leads endpoint:

POST https://api.wishpond.com/api/v1/leads

In the example on the right, only 4 attributes (email, first_name, last_name, favorite_food) were passed to the lead, but you can pass as many attributes as you want.

We do not suggest including spaces in attribute keys because you would not be able to use them as merge tags. However, if merge tags aren’t a concern for you, spaces in attribute keys are supported.

Show

> Example Request:

curl https://api.wishpond.com/api/v1/leads/:lead_id \
-H "X-Api-Token:YOUR_API_KEY"
> Sample Response:
{
    "lead": {
        "id": "b867dc398592c3ef",
        "email": "someone@test.com",
        "status": "active",
        "created_at": "2015-07-04T00:49:06.420Z",
        "updated_at": "2015-07-16T01:29:00.970Z",
        "lead_score": 0,
        "subscribed": true,
        "cid": "b867dc398592c3ef",
        "mid": "263531",
        "dynamic_attributes": {
            "first_name": "jimothy",
            "last_name": "macdougal"
        }
    }
}

You can get data for a specific lead by just appending the lead’s id to the leads endpoint:

https://api.wishpond.com/api/v1/leads/:lead_id

Update

> Example Request:
curl -X PUT https://api.wishpond.com/api/v1/leads/:lead_id \
-H "X-Api-Token:YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '
{
    "lead":
        {
            "first_name": "Bai",
            "last_name": "Yun",
            "Company": "Zoo Park"
        },
    "list":
        {
            "id": "56e9e92b61353800128d0900",
            "action":"add"
        }
}'
> Sample Response:
{
    "lead": {
        "id":"53c55dab7b414020",
        "cid":"53c55dab7b414020",
        "mid":"696791",
        "email":"panda@wishpond.com",
        "status":"active",
        "created_at":"2016-04-25T20:33:00.282Z",
        "updated_at":"2016-04-25T20:33:00.281Z",
        "lead_score":0,
        "subscribed":true,
        "dynamic_attributes": {
            "first_name":"Bai",
            "last_name":"Yun",
            "Company": "Zoo Park"
        }
    }
}

You can update a lead by making a PUT request to the lead endpoint:

PUT https://api.wishpond.com/api/v1/leads/:lead_id

Add/Remove lead to list

To add/remove a lead to/from a list you need to include the following in your the request.

{ "list": { "id": :list_id, "action":"add/remove" } }

Eg: Suppose you want to add a lead to list_id: '123456789’

{ "list": { "id": '123456789', "action":"add" } }

Check full example on the right →

You can also do an update call either with the list parameters only or lead params only.

You can get the ids for your lists from the Lists API.

Delete

> Example Request:

curl -X DELETE https://api.wishpond.com/api/v1/leads/:lead_id \
-H "X-Api-Token:YOUR_API_KEY"
>Sample Response:
{
  "deleted": "true"
}

You can delete a lead and all of its events by making a DELETE request to the lead endpoint:

DELETE https://api.wishpond.com/api/v1/leads/:lead_id

WARNING: This action is final and will permanently delete all data associated with this lead.

Events

> Example Request:

curl -H "X-Api-Token:YOUR_API_KEY" \
"https://api.wishpond.com/api/v1/leads/:lead_id/events?page=1&per_page=10"
> Sample Response:
{
    "events": [
        {
            "id":"5720e31d5a9c6100063c2f64",
            "key":"completed_workflow",
            "value":"5716a9f4366563000c5a8600",
            "properties":
                {
                    "value":"5716a9f4366563000c5a8600"
                },
            "source":null,
            "event_context":null,
            "created_at":"2016-04-27T16:04:45.000Z",
            "cid":"54ff7d741b89308d"
        },
        {
            "id":"5720e31d87de800006e54526",
            "key":"Downloaded e-book",
            "value":"56ce01f16536630010330400",
            "properties":
                {
                    "value":"marketing for dummies"
                },
            "source":"web",
            "event_context":
                {
                    "price": "22"
                },
            "created_at":"2016-04-27T16:04:45.000Z",
            "cid":"54ff7d741b89308d"
        },
    ],
    "meta":
        {
            "current_page":1,
            "total_entries":21,
            "total_pages":1
        }
}

Events tracked by the track method can be queried at this endpoint:

https://api.wishpond.com/api/v1/leads/:lead_id/events

Parameter Description Type Allowed
page Page number pagination Integers above 0
per_page Number of events returned per page pagination 0-200
> Example Request:

curl -H "X-Api-Token:YOUR_API_KEY" \
"https://api.wishpond.com/api/v1/leads?email=your@email.com"
> Sample Response:
{
  "leads": [
    {
      "id": "03c3d53acff0dff8",
      "cid": "03c3d53acff0dff8",
      "mid": "57806",
      "email": "your@email.com",
      "status": "active",
      "created_at": "2015-07-04T09:30:58.823Z",
      "updated_at": "2016-12-16T23:24:57.000Z",
      "lead_score": 0,
      "subscribed": true,
      "dynamic_attributes":
        {
          "first_name": "Jimothy"
        },
      "sourced_at": "2014-06-11T18:23:13.000Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "total_entries": 1,
    "total_pages": 1,
    "lead_limit": 10000,
    "total_leads": 8465,
    "total_visitors": 9568,
    "total_limited_leads": 0
  }
}

Using the following endpoint, you can search for a specific lead using their email:

https://api.wishpond.com/api/v1/leads

Parameter Description Type Allowed
email Lead email string Any string

Lists‌

> Example Request:

curl -H "X-Api-Token:YOUR_API_KEY" \
https://api.wishpond.com/api/v1/leads/:lead_id/lists
> Sample Response
{
    "lists": [
        {
            "id": "559c4aef626f744c838c1800",
            "type": "static",
            "name": "test",
            "date_added": "2014-06-11T00:14:17.000Z",
            "status": "active"
        }
    ]
}

Using the following endpoint, you can get the lists that a lead belongs to:

https://api.wishpond.com/api/v1/leads/:lead_id/lists

Visitors

> Example Request:
curl -H "X-Api-Token:YOUR_API_KEY" \
"https://api.wishpond.com/api/v1/visitors?page=1&per_page=10"
> Sample Response:
{
    "visitors": [
        {
            "id":"uwykgpro7fi8hsz9",
            "cid":"uwykgpro7fi8hsz9",
            "mid":"696791",
            "email":null,
            "status":"active",
            "created_at":"2016-04-27T21:40:06.000Z",
            "updated_at":"2016-04-27T21:40:32.000Z",
            "lead_score":0,
            "subscribed":true,
            "dynamic_attributes":{}
        },
        {
            "id":"jrrjlfh2en91utff",
            "cid":"jrrjlfh2en91utff",
            "mid":"696791",
            "email":null,
            "status":"active",
            "created_at":"2016-04-27T21:39:58.000Z",
            "updated_at":"2016-04-27T21:40:07.000Z",
            "lead_score":0,
            "subscribed":true,
            "dynamic_attributes":{}
        }
    ],
    "meta":
    {
        "current_page":1,
        "total_entries":68,
        "total_pages":3,
        "lead_limit":-1,
        "total_leads":3,
        "total_visitors":68
    }
}

You can query visitors at the following endpoint:

https://api.wishpond.com/api/v1/visitors

Parameter Description Type Allowed
page Page number pagination Integers above 0
per_page Number of leads returned per page pagination 0-200

Show

> Example Request:

curl https://api.wishpond.com/api/v1/visitors/:visitor_id \
-H "X-Api-Token:YOUR_API_KEY"
> Sample Response:
{
    "visitor": {
    "id":"jrrjlfh2en91utff",
    "cid":"jrrjlfh2en91utff",
    "mid":"696791",
    "email":null,
    "status":"active",
    "created_at":"2016-04-27T21:39:58.000Z",
    "updated_at":"2016-04-27T21:40:07.000Z",
    "lead_score":0,
    "subscribed":true,
    "dynamic_attributes":{}}
}

You can get data for a specific visitor by just appending the visitor’s id to the visitors endpoint:

https://api.wishpond.com/api/v1/visitors/:visitor_id

Delete

> Example Request:

curl -X DELETE https://api.wishpond.com/api/v1/visitors/:visitor_id \
-H "X-Api-Token:YOUR_API_KEY"
>Sample Response:
{
  "deleted": "true"
}

You can delete a visitor and all of its events by making a DELETE request to the visitor endpoint:

DELETE https://api.wishpond.com/api/v1/visitors/:visitor_id

WARNING: This action is final and will permanently delete all data associated with this visitor.

Events

> Example Request:

curl -H "X-Api-Token:YOUR_API_KEY" \
"https://api.wishpond.com/api/v1/visitors/:visitor_id/events?page=1&per_page=10"
> Sample Response:
{
    "events": [
        {
            "id":"57213199b589e800065a41e7",
            "key":"lead_added",
            "value":null,
            "properties":{},
            "source":null,
            "event_context":null,
            "created_at":"2016-04-27T21:39:06.000Z",
            "cid":"hj9f1ozaxh29ayvw"
        },
        {
            "id":"57213177b589e800065a40b1",
            "key":"viewed_campaign",
            "value":1540676.0,
            "properties":
                {
                    "ip_address":"174.6.127.45",
                    "page_title":"Landing Page",
                    "referrer":"",
                    "value":1540676.0
                },
            "source":"web",
            "event_context":null,
            "created_at":"2016-04-27T21:39:03.363Z",
            "cid":"hj9f1ozaxh29ayvw"
        },
        {
            "id":"57213177b589e800065a40b0",
            "key":"visited_url",
            "value":"https://shoesonline.wishpond.com/priyaland/",
            "properties":{"ip_address":"174.6.127.45",
            "page_title":"Landing Page",
            "referrer":"",
            "value":"https://shoesonline.wishpond.com/priyaland/"},
            "source":"web",
            "event_context":null,
            "created_at":"2016-04-27T21:39:03.333Z",
            "cid":"hj9f1ozaxh29ayvw"
        }
    ],
    "meta":
        {
            "current_page":1,"total_entries":4,"total_pages":1
        }
}

Events tracked by the track method can be queried at this endpoint:

https://api.wishpond.com/api/v1/visitors/:visitor_id/events

Parameter Description Type Allowed
page Page number pagination Integers above 0
per_page Number of events returned per page pagination 0-200

Lists‌

> Example Request:

curl -H "X-Api-Token:YOUR_API_KEY" \
https://api.wishpond.com/api/v1/visitors/:visitor_id/lists
> Sample Response:
{
    "lists": [
        {
            "id": "559c4aef626f744c838c1800",
            "type": "static",
            "name": "test",
            "date_added": "2014-06-11T00:14:17.000Z",
            "status": "active"
        }
    ]
}

Using the following endpoint, you can get the lists that a visitor belongs to:

https://api.wishpond.com/api/v1/visitors/:visitor_id/lists

Lists

> Example Request:

curl -H "X-Api-Token:YOUR_API_KEY" \
"https://api.wishpond.com/api/v1/lists?page=1&per_page=10"
> Sample Response:
{
    "lists": [
        {
            "id": "55c278bc626f747ad70c0100",
            "type": "static",
            "external_id": "1025886",
            "name": "My First List",
            "lead_count": 0,
            "last_lead_activity": null,
            "created_at": "2015-08-05T20:57:32.273Z",
            "stat": {
                "_id": {
                    "$oid": "55c278bc626f747ad70d0100"
                },
                "day_bucket": {},
                "hour_bucket": {},
                "month_bucket": {}
            },
            "name_with_count": "My First List (0)",
            "status": "active"
        },
        {
            "id": "55b91baf6a616d3613020000",
            "type": "smart",
            "external_id": "1013721",
            "name": "My Second List",
            "lead_count": 0,
            "last_lead_activity": null,
            "created_at": "2015-07-29T18:30:07.987Z",
            "stat": {
                "_id": {
                    "$oid": "55b91baf6a616d3613030000"
                },
                "day_bucket": {},
                "hour_bucket": {},
                "month_bucket": {}
            },
            "name_with_count": "My Second List (0) ",
            "status": "live"
        }
    ],
    "meta": {
        "current_page": 1,
        "total_entries": 2,
        "total_pages": 1,
        "total_leads": 9313,
        "total_visitors":64
    }
}

You can query lists at the following endpoint:

https://api.wishpond.com/api/v1/lists

Parameter Description Type Allowed
page Page number pagination Integers above 0
per_page Number of leads returned per page pagination 0-200
name Get lists starting with this parameter filter Any string
type Get lists of the specified type filter static, smart

**The list status will be 'active’ for list’s type static, and 'live’ for list’s type smart.

Create

You can create lists at the following endpoint:

POST https://api.wishpond.com/api/v1/lists

Parameter Description Type Required
name Name of the list string yes
> Example Request:

curl -X POST \
-H "X-Api-Token:YOUR_API_KEY" \
-d "list[name]=My First List" \
https://api.wishpond.com/api/v1/lists
> Sample Response:
{
    "list": {
        "id": "55c278bc626f747ad70c0100",
        "type": "static",
        "name": "My First List",
        "created_at": "2015-08-05T20:57:32.273Z",
        "stat": {
            "_id": {
                "$oid": "55c278bc626f747ad70d0100"
            },
            "day_bucket": {},
            "hour_bucket": {},
            "month_bucket": {}
        },
        "sub_rules": [],
        "status": "active",
        "lead_count": 0,
        "external_id": "1025886"
    }
}

Show

> Example Request:

curl -H "X-Api-Token:YOUR_API_KEY" \
https://api.wishpond.com/api/v1/lists/:list_id

> Sample Response:
{
    "list": {
        "id": "55c278bc626f747ad70c0100",
        "type": "static",
        "name": "My First List",
        "created_at": "2015-08-05T20:57:32.273Z",
        "stat": {
            "_id": {
                "$oid": "55c278bc626f747ad70d0100"
            },
            "day_bucket": {},
            "hour_bucket": {},
            "month_bucket": {}
        },
        "sub_rules": [],
        "status": "active",
        "lead_count": 0,
        "external_id": "1025886"
    }
}

You can get a single list by appending the list’s id at the end of the lists endpoint:

https://api.wishpond.com/api/v1/lists/:list_id

Update

You can update a list at the following endpoint:

PUT https://api.wishpond.com/api/v1/lists/:list_id

Parameter Description Type Required
name Name of the list string yes
> Example Request:

curl -X PUT  \
-H "X-Api-Token:YOUR_API_KEY" \
-d "list[name]=potato" \
https://api.wishpond.com/api/v1/lists/:list_id
> Sample Response:
{
    "list": {
        "id": "55c278bc626f747ad70c0100",
        "type": "static",
        "name": "potato",
        "created_at": "2015-08-05T20:57:32.273Z",
        "stat": {
            "_id": {
                "$oid": "55c278bc626f747ad70d0100"
            },
            "day_bucket": {},
            "hour_bucket": {},
            "month_bucket": {}
        },
        "sub_rules": [],
        "status": "active",
        "lead_count": 0,
        "external_id": "1025886"
    }
}

Delete

> Example Request:

curl -X DELETE https://api.wishpond.com/api/v1/leads/:list_id \
-H "X-Api-Token:YOUR_API_KEY"
>Sample Response:
{
  "deleted": "true"
}

You can delete a list at the following endpoint:

DELETE https://api.wishpond.com/api/v1/lists/:list_id

Leads

> Request:

curl -H "X-Api-Token:YOUR_API_KEY" \
"https://api.wishpond.com/api/v1/lists/:list_id/leads?page=1&per_page=10"
> Sample Response:
{
    "leads": [
        {
            "id": "55aa14783965660005126f78",
            "email": "some@test.com",
            "status": "active",
            "created_at": "2015-07-04T00:49:06.420Z",
            "updated_at": "2015-07-16T01:29:00.970Z",
            "listed_attributes": {
                "created_at": "2015-07-04T00:49:06.420Z",
                "updated_at": "2015-07-16T01:29:00.970Z",
                "lead_score": 0,
                "subscribed": true
            },
            "lead_score": 0,
            "subscribed": true,
            "first_name": "brian f",
            "cid": "b867dc398592c3ef",
            "mid": "263531"
        },
        {
            "id": "55aa14643965660005126c6a",
            "email": "another@test.com",
            "status": "active",
            "created_at": "2015-07-04T00:51:02.487Z",
            "updated_at": "2015-07-16T01:29:00.429Z",
            "listed_attributes": {
                "created_at": "2015-07-04T00:51:02.487Z",
                "updated_at": "2015-07-16T01:29:00.429Z",
                "lead_score": 0,
                "subscribed": true
            },
            "lead_score": 0,
            "subscribed": true,
            "first_name": "sadha",
            "cid": "169eab15f123bc62",
            "mid": "263531"
        }
    ],
    "meta": {
        "current_page": 1,
        "total_entries": 2,
        "total_pages": 1,
        "total_leads": 2,
        "total_visitors":64
    }
}

You can get the list’s leads at the following endpoint:

https://api.wishpond.com/api/v1/lists/:list_id/leads

Parameter Description Type Allowed
page Page number pagination Integers above 0
per_page Number of leads returned per page pagination 0-200

Visitors

> Request:

curl -H "X-Api-Token:YOUR_API_KEY" \
"https://api.wishpond.com/api/v1/lists/:list_id/visitors?page=1&per_page=10"
> Sample Response:
{
    "visitors":[
        {
            "id":"70b5c5a3cc09fa6d",
            "cid":"70b5c5a3cc09fa6d",
            "mid":"696791",
            "email":null,
            "status":"active",
            "created_at":"2016-03-16T23:17:11.000Z",
            "updated_at":"2016-03-16T23:18:51.000Z",
            "lead_score":0,
            "subscribed":true,
            "dynamic_attributes":{}
        }
    ],
    "meta":
        {
            "current_page":1,
            "total_entries":1,
            "total_pages":1,
            "lead_limit":-1,
            "total_leads":3,
            "total_visitors":1
        }
}

You can get the list’s visitors at the following endpoint:

https://api.wishpond.com/api/v1/lists/:list_id/visitors

Parameter Description Type Allowed
page Page number pagination Integers above 0
per_page Number of leads returned per page pagination 0-200

`

Errors

The Wishpond API uses the following error codes:

Error Code Meaning
401 Unauthorized – Either your MerchantID or Tracking Key are wrong
403 Forbidden – This user does not have access to this resource
404 Not Found – Could not find method requested
422 Unprocessable Entity - We can’t process what you gave us. Take a look at the errors in the response to know more.
429 Too Many Requests – You’re over the rate limit window. Try your request again later.
500 Internal Server Error – There was an issue processing your request. Get in contact with us at support@wishpond.com
503 Service Unavailable – Our servers decided to take a nap. We’ll wake it up for you, try your requests later or contact us.