API Documentation

This document is a work in progress and your opinion helps us to improve. Please let us know what we can do better. Thanks! support@procurios.com

Email Tracking

Retrieve email tracking information.

Accept header for requests to Email Tracking

application/vnd.procurios.emailtracking+json; version=1

Tracked Emails GET

URL: /l/email_api/tracking/emails

Scope:

email/tracking
Last used: Never

Get the list of tracked emails. Will return a max of 100 items per request.



Emails are identified by their trackingId.



The keys in the attributes array will vary depending on the type of email.



Emails are ordered by their trackingId. Because newer emails get a higher trackingId, they are in chronological order.

Parameters

Parameter Type Description
after integer

Use to retrieve the next page of tracked emails. Pass the trackingId of the last email in the list.

Live testing disabled

Tracked Emails

Request

json

Response

jsonStatus: 200
{
    "emails": [
        {
            "trackingId": 31485,
            "subject": "Nieuwsbrief Januari",
            "type": "mailing",
            "title": "Nieuwsbrief",
            "url": "\/mailing2\/31485\/edit#statistics",
            "attributes": {
                "mailingId": 31485
            },
            "_links": {
                "self": {
                    "href": "\/mailing2\/31485\/edit#statistics"
                },
                "links": {
                    "href": "\/l\/email_api\/tracking\/31485\/links"
                },
                "recipients": {
                    "href": "\/l\/email_api\/tracking\/31485\/recipients"
                },
                "opens": {
                    "href": "\/l\/email_api\/tracking\/31485\/opens"
                },
                "clicks": {
                    "href": "\/l\/email_api\/tracking\/31485\/clicks"
                }
            }
        },
        {
            "trackingId": 31701,
            "subject": "Benefits of your membership",
            "type": "journeyStep",
            "title": "Onboarding",
            "url": "\/marketing_automation\/journey\/e4de4fa9-e61d-11ef-8db6-0242ac1b0002\/journey",
            "attributes": {
                "journeyId": "e4de4fa9-e61d-11ef-8db6-0242ac1b0002",
                "stepId": "ea403010-e61d-11ef-8db6-0242ac1b0002"
            },
            "_links": {
                "self": {
                    "href": "\/mailing2\/31701\/edit#statistics"
                },
                "links": {
                    "href": "\/l\/email_api\/tracking\/31701\/links"
                },
                "recipients": {
                    "href": "\/l\/email_api\/tracking\/31701\/recipients"
                },
                "opens": {
                    "href": "\/l\/email_api\/tracking\/31701\/opens"
                },
                "clicks": {
                    "href": "\/l\/email_api\/tracking\/31701\/clicks"
                }
            }
        }
    ],
    "_links": {
        "next": {
            "href": "\/l\/email_api\/tracking\/emails?after=31701"
        }
    }
}

Email Recipients GET

URL: /l/email_api/tracking/42/recipients

Scope:

email/tracking
Last used: Never

Get the list of recipients of a specific email



Recipients are identified by their trackingCode. Recipients will get a new trackingCode for each tracked email they receive.



Recipients are added to this list as soon as the email is sent.

The firstOpen, firstClick, unsubscribed and bounced properties will be updated as those events take place.



This list is in chronological order, sorted by lastUpdate and trackingCode, and will return a max of 1000 items per request.



Instead of paginating through the full list of recipients each time, please use the after query parameter to continue where you left off.

Iterate until there are no more items, and the remember the after query parameter to get the updated items later.

Parameters

Parameter Type Description
after string

Use to retrieve the next page of recipients. Pass the lastUpdate and trackingCode of the last recipient in the list.

Because we store dates with second-level precision we require both the lastUpdate and the trackingCode to iterate the recipients.

These are passed as a single query parameter seperated by an underscore. For example: 2018-11-21T16:52:24+00:00_6f472504-323a-4a7a-ad16-4da0ab127dcd

Live testing disabled

Email Recipients

Request

json

Response

jsonStatus: 200
{
    "recipients": [
        {
            "trackingCode": "7a7ae7fc-24be-458a-abdf-6d2003f0acb4",
            "trackingId": 42,
            "relationId": 148137,
            "name": "John Doe",
            "email": "johndoe@example.com",
            "sent": "2018-11-20T11:23:24+00:00",
            "firstOpen": "2018-11-20T11:30:24+00:00",
            "firstBotOpen": null,
            "firstClick": "2018-11-20T11:34:34+00:00",
            "firstBotClick": null,
            "unsubscribed": null,
            "bounced": null,
            "lastUpdate": "2018-11-20T11:34:34+00:00"
        },
        {
            "trackingCode": "6f472504-323a-4a7a-ad16-4da0ab127dcd",
            "trackingId": 42,
            "relationId": 8762,
            "name": "John Doe",
            "email": "johndoe@example.com",
            "sent": "2018-11-21T16:41:01+00:00",
            "firstOpen": "2018-11-21T16:47:01+00:00",
            "firstBotOpen": null,
            "firstClick": "2018-11-21T16:47:01+00:00",
            "firstBotClick": null,
            "unsubscribed": "2018-11-21T16:52:24+00:00",
            "bounced": null,
            "lastUpdate": "2018-11-21T16:52:24+00:00"
        }
    ],
    "_links": {
        "next": {
            "href": "\/l\/email_api\/tracking\/42\/recipients?after=2018-11-21T16:52:24+00:00_6f472504-323a-4a7a-ad16-4da0ab127dcd"
        }
    }
}

Email Opens GET

URL: /l/email_api/tracking/42/opens

Scope:

email/tracking
Last used: Never

Get the list of opens of a specific email.



Used to retrieve raw open events.



Opens are done a by recipient (trackingCode) in email (trackingId) at the given date.

Location is a hash that can be used to distinguish between different ip addresses used by recipients.



This list is in chronological order, sorted by date, trackingCode, and location, and will return a max of 1000 items per request.



Instead of paginating through the full list of recipients each time, please use the after query parameter to continue where you left off.

Iterate until there are no more items, and the remember the after query parameter to get the new opens later.

Parameters

Parameter Type Description
after string

Use to retrieve the next page of events. Pass the date,trackingCode, and location of the last event in the list.

These are passed as a single query parameter seperated by an underscore. For example: 2025-02-06T11:05:48+00:00_a15d69ff-bd76-4ee3-a660-54fff80d9453_96ae3a8501ccf2ddfa40e4cc6d0505af2afa7afe

Live testing disabled

Email Opens

Request

json

Response

jsonStatus: 200
{
    "opens": [
        {
            "trackingCode": "d27b05e9-906a-468d-adf2-126486ce3c8b",
            "trackingId": 42,
            "date": "2025-02-06T11:05:44+00:00",
            "location": "96ae3a8501ccf2ddfa40e4cc6d0505af2afa7afe",
            "bot": false
        },
        {
            "trackingCode": "bf6ae3f3-e438-4541-a576-6c07e8660891",
            "trackingId": 42,
            "date": "2025-02-06T11:05:46+00:00",
            "location": "ceae9f720caa84bd3caa8c520e67f8c4080bbed4",
            "bot": true
        },
        {
            "trackingCode": "a15d69ff-bd76-4ee3-a660-54fff80d9453",
            "trackingId": 42,
            "date": "2025-02-06T11:05:48+00:00",
            "location": "96ae3a8501ccf2ddfa40e4cc6d0505af2afa7afe",
            "bot": false
        }
    ],
    "_links": {
        "next": {
            "href": "\/l\/email_api\/tracking\/42\/opens?after=2025-02-06T11:05:48+00:00_a15d69ff-bd76-4ee3-a660-54fff80d9453_96ae3a8501ccf2ddfa40e4cc6d0505af2afa7afe"
        }
    }
}

Email Clicks GET

URL: /l/email_api/tracking/42/clicks

Scope:

email/tracking
Last used: Never

Get the list of clicks of a specific email.



Used to retrieve raw click events.



Clicks are done a by recipient (trackingCode), on a link (linkId) in email (trackingId) at the given date.

Location is a hash that can be used to distinguish between different ip addresses used by recipients.



This list is in chronological order, sorted by date, trackingCode, and location, and will return a max of 1000 items per request.



Instead of paginating through the full list of recipients each time, please use the after query parameter to continue where you left off.

Iterate until there are no more items, and the remember the after query parameter to get the new clicks later.

Parameters

Parameter Type Description
after string

Use to retrieve the next page of events. Pass the date,trackingCode, and location of the last event in the list.

These are passed as a single query parameter seperated by an underscore. For example: 2025-02-06T11:05:48+00:00_a15d69ff-bd76-4ee3-a660-54fff80d9453_96ae3a8501ccf2ddfa40e4cc6d0505af2afa7afe

Live testing disabled

Email Clicks

Request

json

Response

jsonStatus: 200
{
    "clicks": [
        {
            "trackingCode": "99118314-5fae-4bff-b920-1f79b54f096e",
            "linkId": 80886,
            "trackingId": 42,
            "date": "2025-02-06T11:05:55+00:00",
            "location": "e1a1199752d1f0731452ca3ab3f33e1603e95197",
            "bot": true
        },
        {
            "trackingCode": "211513f6-faee-4c62-92e3-357e630cb59e",
            "linkId": 80886,
            "trackingId": 42,
            "date": "2025-02-06T11:05:55+00:00",
            "location": "753b35cc70e2870d79565c83dfb919038970b52d",
            "bot": true
        },
        {
            "trackingCode": "211513f6-faee-4c62-92e3-357e630cb59e",
            "linkId": 80887,
            "trackingId": 42,
            "date": "2025-02-06T11:05:55+00:00",
            "location": "753b35cc70e2870d79565c83dfb919038970b52d",
            "bot": true
        }
    ],
    "_links": {
        "next": {
            "href": "\/l\/email_api\/tracking\/42\/clicks?after=2025-02-06T11:05:55+00:00_211513f6-faee-4c62-92e3-357e630cb59e_753b35cc70e2870d79565c83dfb919038970b52d"
        }
    }
}

Global Recipients GET

URL: /l/email_api/tracking/recipients

Scope:

email/tracking
Last used: Never

Get the list of recipients of all emails



Recipients are identified by their trackingCode. Recipients will get a new trackingCode for each tracked email they receive.



Recipients are added to this list as soon as the email is sent.

The firstOpen, firstClick, unsubscribed and bounced properties will be updated as those events take place.



This list is in chronological order, sorted by lastUpdate and trackingCode, and will return a max of 1000 items per request.



Instead of paginating through the full list of recipients each time, please use the after query parameter to continue where you left off.

Iterate until there are no more items, and the remember the after query parameter to get the updated items later.

Parameters

Parameter Type Description
after string

Use to retrieve the next page of recipients. Pass the lastUpdate and trackingCode of the last recipient in the list.

Because we store dates with second-level precision we require both the lastUpdate and the trackingCode to iterate the recipients.

These are passed as a single query parameter seperated by an underscore. For example: 2018-11-21T16:52:24+00:00_6f472504-323a-4a7a-ad16-4da0ab127dcd

Live testing disabled

Global Recipients

Request

json

Response

jsonStatus: 200
{
    "recipients": [
        {
            "trackingCode": "7a7ae7fc-24be-458a-abdf-6d2003f0acb4",
            "trackingId": 42,
            "relationId": 148137,
            "name": "John Doe",
            "email": "johndoe@example.com",
            "sent": "2018-11-20T11:23:24+00:00",
            "firstOpen": "2018-11-20T11:30:24+00:00",
            "firstBotOpen": null,
            "firstClick": "2018-11-20T11:34:34+00:00",
            "firstBotClick": null,
            "unsubscribed": null,
            "bounced": null,
            "lastUpdate": "2018-11-20T11:34:34+00:00"
        },
        {
            "trackingCode": "6f472504-323a-4a7a-ad16-4da0ab127dcd",
            "trackingId": 42,
            "relationId": 8762,
            "name": "John Doe",
            "email": "johndoe@example.com",
            "sent": "2018-11-21T16:41:01+00:00",
            "firstOpen": "2018-11-21T16:47:01+00:00",
            "firstBotOpen": null,
            "firstClick": "2018-11-21T16:47:01+00:00",
            "firstBotClick": null,
            "unsubscribed": "2018-11-21T16:52:24+00:00",
            "bounced": null,
            "lastUpdate": "2018-11-21T16:52:24+00:00"
        }
    ],
    "_links": {
        "next": {
            "href": "\/l\/email_api\/tracking\/recipients?after=2018-11-21T16:52:24+00:00_6f472504-323a-4a7a-ad16-4da0ab127dcd"
        }
    }
}

Global Opens GET

URL: /l/email_api/tracking/opens

Scope:

email/tracking
Last used: Never

Get the list of opens of a any email.



Used to retrieve raw open events.



Opens are done a by recipient (trackingCode) in email (trackingId) at the given date.

Location is a hash that can be used to distinguish between different ip addresses used by recipients.



This list is in chronological order, sorted by date, trackingCode, and location, and will return a max of 1000 items per request.



Instead of paginating through the full list of recipients each time, please use the after query parameter to continue where you left off.

Iterate until there are no more items, and the remember the after query parameter to get the new opens later.

Parameters

Parameter Type Description
after string

Use to retrieve the next page of events. Pass the date,trackingCode, and location of the last event in the list.

These are passed as a single query parameter seperated by an underscore. For example: 2025-02-06T11:05:48+00:00_a15d69ff-bd76-4ee3-a660-54fff80d9453_96ae3a8501ccf2ddfa40e4cc6d0505af2afa7afe

Live testing disabled

Global Opens

Request

json

Response

jsonStatus: 200
{
    "opens": [
        {
            "trackingCode": "d27b05e9-906a-468d-adf2-126486ce3c8b",
            "trackingId": 42,
            "date": "2025-02-06T11:05:44+00:00",
            "location": "96ae3a8501ccf2ddfa40e4cc6d0505af2afa7afe",
            "bot": false
        },
        {
            "trackingCode": "bf6ae3f3-e438-4541-a576-6c07e8660891",
            "trackingId": 42,
            "date": "2025-02-06T11:05:46+00:00",
            "location": "ceae9f720caa84bd3caa8c520e67f8c4080bbed4",
            "bot": true
        },
        {
            "trackingCode": "a15d69ff-bd76-4ee3-a660-54fff80d9453",
            "trackingId": 42,
            "date": "2025-02-06T11:05:48+00:00",
            "location": "96ae3a8501ccf2ddfa40e4cc6d0505af2afa7afe",
            "bot": false
        }
    ],
    "_links": {
        "next": {
            "href": "\/l\/email_api\/tracking\/opens?after=2025-02-06T11:05:48+00:00_a15d69ff-bd76-4ee3-a660-54fff80d9453_96ae3a8501ccf2ddfa40e4cc6d0505af2afa7afe"
        }
    }
}

Global Clicks GET

URL: /l/email_api/tracking/clicks

Scope:

email/tracking
Last used: Never

Get the list of clicks of a any email.



Used to retrieve raw click events.



Clicks are done a by recipient (trackingCode), on a link (linkId) in email (trackingId) at the given date.

Location is a hash that can be used to distinguish between different ip addresses used by recipients.



This list is in chronological order, sorted by date, trackingCode, and location, and will return a max of 1000 items per request.



Instead of paginating through the full list of recipients each time, please use the after query parameter to continue where you left off.

Iterate until there are no more items, and the remember the after query parameter to get the new clicks later.

Parameters

Parameter Type Description
after string

Use to retrieve the next page of events. Pass the date,trackingCode, and location of the last event in the list.

These are passed as a single query parameter seperated by an underscore. For example: 2025-02-06T11:05:48+00:00_a15d69ff-bd76-4ee3-a660-54fff80d9453_96ae3a8501ccf2ddfa40e4cc6d0505af2afa7afe

Live testing disabled

Global Clicks

Request

json

Response

jsonStatus: 200
{
    "clicks": [
        {
            "trackingCode": "99118314-5fae-4bff-b920-1f79b54f096e",
            "linkId": 80886,
            "trackingId": 42,
            "date": "2025-02-06T11:05:55+00:00",
            "location": "e1a1199752d1f0731452ca3ab3f33e1603e95197",
            "bot": true
        },
        {
            "trackingCode": "211513f6-faee-4c62-92e3-357e630cb59e",
            "linkId": 80886,
            "trackingId": 42,
            "date": "2025-02-06T11:05:55+00:00",
            "location": "753b35cc70e2870d79565c83dfb919038970b52d",
            "bot": true
        },
        {
            "trackingCode": "211513f6-faee-4c62-92e3-357e630cb59e",
            "linkId": 80887,
            "trackingId": 42,
            "date": "2025-02-06T11:05:55+00:00",
            "location": "753b35cc70e2870d79565c83dfb919038970b52d",
            "bot": true
        }
    ],
    "_links": {
        "next": {
            "href": "\/l\/email_api\/tracking\/clicks?after=2025-02-06T11:05:55+00:00_211513f6-faee-4c62-92e3-357e630cb59e_753b35cc70e2870d79565c83dfb919038970b52d"
        }
    }
}