All Collections
Managing Your Program
Advanced Use
Fetch or Create Personal URLs (PURLs) using the REST API
Fetch or Create Personal URLs (PURLs) using the REST API

Distribute Personal URLs via marketing and transactional assets

Samantha avatar
Written by Samantha
Updated over a week ago

For information regarding API access, please see here

For more information regarding the API in general, please visit our REST API docs.

You can use our REST API to create or retrieve a PURL using both customer ids and email addresses.

For each PURL that you want, make a POST request to, sending the customer id or email you want to use in addition to the id of the widget you want these PURLs to be associated with. For more details on the formatting, see

If we do not already have a PURL associated with that widget and customer id or email pair, then we will create one. If one already exists, we will retrieve it. In either case, the response to the API call will include the purl in a property called "trackable_link". Just grab that property and insert it into an email to that customer or display it somewhere on your site for them to see.

For example, lets say you want to send all of your customers an email with their PURL in it. For each customer you would make the following Curl call:

curl -XPOST \
  -H "Content-Type: application/json" \
  -d '{"email": customer_email,
         "campaign": {"id": campaign_id}}' \

where customer_email is the email address of the customer and campaign_id is the id of the campaign you are using to generate the PURLs.

The response to each of those calls will look like:

    "referral_code": "reN",
    "type": "personal_url",
    "campaign": {
        "id": 2544,
        "name": "Fall sale",
        "published": true,
        "referral_incentive": {
            "type": "shopper_fixed_revenue",
            "value": "10.00"
        "created_at": "2014-07-25T13:59:52.328016-07:00"
    "customer": {
        "id": "C9997",
        "email": null
    "trackable_link": ""

Simply get the "trackable_link" from the response and insert it into the email and you are ready to move onto the next customer!

Did this answer your question?