This is the full external API documentation for the Partnerize API. The API is organised around REST principles like resource-oriented URLs and uses standard HTTP features like response codes, verbs and Authentication. At Partnerize, we build features API-first and have built our web application on top of the API as we want to make our core functionality available to developers to consume programmatically.
You can refer to the API reference for a full list of supported endpoints. If it is the first time you are using the API, go to the Quick Start section for a quick start tutorial on making your first API call.
Currently there are three global versions of the Partnerize API. You can distinguish between them by looking at the endpoint URL. First version endpoints do not include a version in the path: e.g. https://api.partnerize.com/network/
. Second and third version endpoints can be identified by the v2
and v3
in the URL: e.g. https://api.partnerize.com/v2/campaigns/{campaignId}/commissions
or https://api.partnerize.com/v3/brand/campaigns/{campaignId}/conversions/bulk
.
Since the versions are global, there are common conventions that apply to all API versions as well as version specific ones. The sections below describe these conventions in detail.
This tutorial takes you through creating your first Partnerize API call. The example below demonstrates how to:
Step 1. Obtaining your API keys
Step 2. Generate an Authorization header
Authentication is achieved by providing an Authorization header in the following format:
Authorization: Basic cDN0ZXcxNDV5M3RhZzQxbjowaHkzNGho
Where cDN0ZXcxNDV5M3RhZzQxbjowaHkzNGho
is the Base64 encoding of the User Application Key and User API key joined by a colon ':'.
Refer to the Access and Authentication section for more details.
Step 3. Make your first Partnerize API request
In this step you are going to make a call to the "Networks" endpoint to retrieve a list of all networks your user has access to.
In the example below, replace the {personal_token} with the one generated in the previous step:
curl -X GET https://api.partnerize.com/network -H 'Authorization: Basic {personal_token}'
The response will contain a collection of networks:
{
"count": 1,
"execution_time": "0.20239 seconds",
"networks": [
{
"network": {
"network_id": 1,
"network_name": "Partnerize",
"network_description": "Test Network",
"network_notes": "This is a test Partnerize network",
"network_application_id": 2,
"auto_approve_publishers": "n",
"default_campaign_id": null,
"cm_client_id": “b4d0d85cff813cdce092c261b2b200”,
"network_contact_email": null,
"network_locale": "en"
}
}
]
}
Consumers of the Partnerize API should ensure that their applications can handle backwards-compatible changes. Examples of what Partnerize considers to be backwards-compatible changes:
Partnerize will be making backwards-compatible changes without advanced notice. The changes will be communicated by updating the API documentation.
Breaking changes would usually require changes in the code of a Partnerize API consumer. Examples of what Partnerize considers to be breaking changes:
Partnerize will announce breaking changes at least 3 months in advance.
Partnerize may introduce either breaking or backwards-compatible changes if required to address stability or security issues. In the rare situation of that happening Partnerize reserves the right to make those changes without the agreed minimum notice period announcement.
Partnerize will give API consumers at least 3 months notice about deprecating an API resource. Partnerize will notify affected consumers via email with instructions about the upgrade process. Once the announcement is made the resource will be marked as Obsolete
in the API documentation together with an alternative new functionality to use.
Older API endpoints may refer to Brands as Advertisers and Partners as Publishers. Those terms are used interchangeably throughout the API reference. The reference in this set of documents is the single source of truth for the interface specification.
The Partnerize API uses HTTP Basic Authentication. You must have valid application_key and user_api_key to make API requests. Refer to the Quick Start tutorial for details on how to obtain these. The application_key identifies the Network you are making the request against and the user_api_key identifies the User on whose behalf the request is made. The keys are sent as part of an Authorization header which value contains the word Basic followed by space and a base-64-encoded string username:password, where:
username: application_key
password: user_api_key
Authorization: Basic cDN0ZXcxNDV5M3RhZzQxbjowaHkzNGho
Access to data and operations of certain endpoints is dependent on the access rights of the user.
All API requests must be made over HTTPS and contain a valid Authorization header value.
Certain endpoints will generate large result sets. To save bandwidth and long processing times, these endpoints will paginate the results to reduce the strain on both client and server.
Any endpoint that supports pagination will return 3 attributes to support this:
offset
the current offset of the data returnedlimit
the number of results to which the output was restrictedcount
the total number of results availableIf offset
combined with limit
is less than the overall count, the results have been truncated. Therefore, to consume all data you will need to page through the result set.
To paginate through a result set, you can use a combination of 2 parameters:
Parameter | Description | Notes |
---|---|---|
offset |
Offset the results by a given amount | Integer, defaults to 0 |
limit |
Limit the number of results returned | Integer, maximum limit is defined in result set headers |
For example, if an endpoint produces 500 results, only the first 300 will be returned (results 0
to 299
). In order to retrieve the remaining results, implement the offset
GET param. In this example, adding offset=300
to the query string parameters.
There are 2 considerations when doing this:
offset 0
. If you're retrieving a report with limit=300
, page 2 will begin at offset=300
, page 3 at offset=600
, page 4 at offset=900
, etc.It can be cumbersome to manage pagination programmatically, especially when attempting to rapidly prototype. To provide some helpful assistance, the API will output a hypermedia
node for all paginated result sets. Essentially this performs all necessary calculations and outputs all relevant information with absolute URI's to assist easier pagination.
"hypermedia": {
"pagination": {
"total_page_count": 15,
"total_item_count": 51234,
"first_page": "/user.json?limit=100&offset=0",
"last_page": "/user.json?limit=100&offset=1400",
"next_page": "/user.json?limit=100&offset=100",
"previous_page": null
}
}
For the granular conversion reporting endpoint, we have adopted cursor based pagination. Due to the scale of some clients, there is a large overhead involved in processing the offset and computing the total number of results. This overhead compounds as the data set size increases, and when the data set grows large enough it becomes impractical to perform the task in real time.
To ensure these high volume endpoints can scale, cursor based pagination has been implemented, where each response will now return a cursor_id
attribute along with the results. This indicates where the client is currently within the result set. When the client requests another page, and includes the cursor_id
value, the server will be able to determine where the client is up to in the result set and send the appropriate items.
This approach does not suffer from the same overhead drawbacks that limit/offset pagination does, and provides a consistent view of the result set across pages.
To paginate through a result set, you can use a combination of 2 parameters:
Parameter | Description | Notes |
---|---|---|
cursor_id |
Cursor value that defines client position in result set | Integer |
limit |
Limit the number of results returned | Integer, maximum limit is 300 |
For example, if an endpoint produces 5,000 results, only the first 300 will be returned (results 0 to 299). Within the header attributes, a cursor_id
will be included. Simply pass the cursor_id
in conjunction with the desired limit to return the subsequent items from the result set.
The hypermedia object has been updated to automatically include the relevant cursor_id
and limit for the next page.
"hypermedia": {
"pagination": {
first_page: "/reporting/report_publisher/publisher/10l1/conversion.json?start_date=2018-03-01+00%3A00%3A00&end_date=2018-04-01+00%3A00%3A00&limit=300",
next_page: "/reporting/report_publisher/publisher/10l1/conversion.json?start_date=2018-03-01+00%3A00%3A00&end_date=2018-04-01+00%3A00%3A00&limit=300&cursor_id=10325942995"
}
}
To protect our API users, API endpoints will rate limit based on usage. If violated, the API will respond with with a 429 http status code with the following body:
v1 API:
{
"error": {
"message": "Too Many Requests",
"type": "429"
}
}
v2 API:
{
"error": {
"errors": [
],
"code": "429",
"message": "Too Many Requests"
}
}
v3 API:
{
"error": {
"errors": [
{
"property": "",
"message": "You have made too many requests recently, please try again later.",
"code": "3b22ff00-96a5-4fa4-96cc-f36e68dbd2e2",
"type": "too_many_requests"
}
],
"message": "Too Many Requests",
"code": "429"
}
}
To help monitor your API usage, the following headers will be returned via the API to help moderate the integration:
Code | Data Type | Description |
---|---|---|
X-RateLimit-Limit |
integer | How many tokens are permitted |
X-RateLimit-Remaining |
integer | How many tokens are left in the specified time period |
X-RateLimit-Reset |
integer | How many seconds until the throttle resets itself |
X-RateLimit-Retry-After |
integer | How mow many seconds to wait to retry |
The base URL for version 1 API endpoints is https://api.partnerize.com/
The default response format is JSON. You can specify the response format of each request, by adding a file extension suffix to the end of the request URI. The requested format will dictate the HTTP Content-Type header that is returned in the response. Currently, there are 3 available formats:
Format | Header | Notes |
---|---|---|
.json |
Content-Type: application/json |
|
.xml |
Content-Type: text/xml |
|
.csv |
Content-Type: application/octet-stream |
Only available on specific endpoints |
Whenever too many requests are sent through within a period of time the response will be an error with an http status code 429 Too Many Requests. See Rate limits for more information on this.
Sample JSON response body when a rate limit is hit.
{
"error": {
"message": "Too Many Requests",
"type": "429"
}
}
The API is compression-enabled. To control whether the API response is compressed, send the relevant Accept-Encoding
HTTP header:
Accept-Encoding: gzip
Content-Encoding: gzip
The base URL for version 2 API endpoints is https://api.partnerize.com/v2.
Partnerize's API uses appropriate HTTP verbs where possible. Endpoints support one or more of the following HTTP verbs:
GET – GET requests retrieve one or more entities and are always read-only. A successful request returns a response with a 200 OK status code.
POST – POST requests are mainly are used to create Partnerize entities or batch operations. When successful such a request returns a 201 Created response code. In the cases when the POST request is used for batch operations processing is done asyncronously. In those cases the successful request will return a 202 Accepted response code and the response should contain a job id, which can be used to monitor the status of the processing.
PUT – PUT request update the resource provided in the URL. PUT requests are idempotent and result in the resource being replaced. A successful request returns a response with a 200 OK status code.
PATCH – Used to do partial updates to Partnerize entities. A successful request returns a response with a 200 OK status code.
DELETE – DELETE requests can be used to remove an entity when supported. A successful request returns a response with a 200 OK or a 204 No Content status code.
If an endpoint doesn't support a particular method, it will return a response with a 405 Method Not Allowed code.
Version 2 API endpoints return response data as a JSON object. Refer to the API reference for details of each endpoint responses. The response will include one of the following HTTP status codes:
HTTP Status Code | Description |
---|---|
200 OK |
The request was successfully completed. A 200 status is returned for a successful GET, PUT, PATCH and sometimes DELETE methods. |
201 Created |
The request was successful and a resource was created. The response usually includes an identifier for the newly created resource. |
202 Accepted |
Some of the requests, e.g. bulk are handled by background jobs. This response status code indicates that the request was received and handed over for processing. |
204 No content |
The request was successfully completed and there is no payload in the response. |
400 Bad Request |
The request could not be processed because it contains missing or invalid information. See Errors for more details. |
401 Unauthorized |
The request is not authorized. The request could not be authenticated becuase of wrong or invalid credentials used in the Authorization header. |
403 Forbidden |
The user is not authorized to perform this action. |
404 Not Found |
The request includes a resource URI that cannot be found by the server. |
405 Method Not Allowed |
The request method, e.g. POST, is not allowed for the resource identified by the request URI. |
429 Too Many Requests |
The user has exceeded the quota for a particular request. See Rate limits for more information on this. |
500 Internal Server Error |
Generic server error. The server encountered an unexpected condition that prevented it from fulfilling the request. |
503 Internal Server Error |
The service is temporarily unavailable. |
See the Errors section below for more details on error responses.
Each response document contains an execution_time
top level attribute.
In addition to the execution_time
top level attribute, a collection response contains a count
one, which represents the total number of resources in the collection.
Example:
{
"execution_time": "1.11761 seconds",
"count": 0,
"commissions": []
}
Example:
{
"execution_time": "1.11761 seconds",
"commission": {
"id": '1234',
}
}
The Version 2 API uses the above mentioned standard HTTP status codes to indicate the success or failure of the API calls. The body of the response will be JSON in the following format:
{
"error": {
"errors": [
{
"property": "evaluation_period",
"type": "validation_error",
"code": "required_property",
"message": "Parameter 'evaluation_period' is required"
}
],
"code": "400",
"message": "Bad Request"
}
}
Attribute | Type | Description |
---|---|---|
errors |
array | An array of error(s) which occured which triggered the error. Each item contains the following attributes;property - The attribute the error is related to.message - A human-friendly message describing the error.code - A unique code for this type of error.type - A text based error classification. |
code |
string | An error code representing the error(s) which has occured, this typically matches the HTTP status code. |
message |
string | A human-friendly message describing the error(s) which has occured. |
If there is an error in your input, you’ll receive a “400 Bad Request” http response. The body of the response will be JSON with the errors
attribute containing an array of details of the error(s).
Code | Description |
---|---|
invalid_property_format |
Invalid date format. |
invalid_type |
Invalid parameter type. For example when an array is expected and the input was different type. |
invalid_value |
The value is out of bounds. |
required_property |
Missing parameter. |
invalid_lower_bound |
The value is too low. |
invalid_upper_bound |
The value is too hogh. |
invalid_enum_value |
The value must be one of a specified list of values. |
invalid_max_length |
Maximum number of characters reached. |
invalid_property |
The property is invalid. |
If there is an error with your authentication credentials, you’ll receive a “401 Unauthorized” http response.
Sample JSON response body
{
"error": {
"errors": [
{
"type": "error",
"code": "unauthorized",
"message": "Your API credentials can be found in Account settings. 'Username' will be your 'User application key' and 'Password' will be your 'User API key'"
}
],
"code": "401",
"message": "Unauthorized"
}
}
If there is an denial of access to a resouce within your request, you’ll receive a “403 Forbidden“ http response.
{
"error": {
"errors": [
{
"type": "error",
"code": "unauthorized",
"message": "You do not have 'read' permission on campaign with id '1'"
}
],
"code": "403",
"message": "Forbidden"
}
}
When the user is not allowed to know the resource exists, i.e. they don't have READ permission on the resource, the response will have a 404 Not Found
status code.
If there is an error locating a requested resource, you’ll receive a “404 Not Found" http response.
Sample JSON response body when an invalid URL has been requested.
{
"error": {
"errors": [
{
"type": "error",
"code": "entity_not_found",
"message": "campaign not found for id '1'"
}
],
"code": "404",
"message": "Not Found"
}
}
If there is an error accessing a resource using the given HTTP verb, you’ll receive a “405 Method Not Allowed“ http response. The body of the response will be JSON with the errors
attribute containing an array of details of the error(s).
Sample JSON response body when an valid URL has been requested with an invalid request method.
{
"error": {
"errors": [
{
"type": "error",
"code": "routing_error",
"message": "index not supported"
}
],
"code": "405",
"message": "Method Not Allowed"
}
}
This error code indicates that too many requests were sent within a period of time. See Rate limits for more information on this.
Sample JSON response body when a rate limit is hit.
{
"error": {
"errors": [
],
"code": "429",
"message": "Too Many Requests"
}
}
v2
API endpoints use ISO-8601 date time format.
2019-03-01T12:01:00+00:00
- this example represents 1 minute past midday on the 1st of March 2019 in UTC.
2019-03-01
- date only example
The base URL for version 3 API endpoints is https://api.partnerize.com/v3. Version 3 of the API endpoints introduces brands and partners context to the API. This means that the brand endpoints will have the following base URL: https://api.partnerize.com/v3/brand and the partner ones will have: https://api.partnerize.com/v3/partner
Partnerize's API uses appropriate HTTP verbs where possible. Endpoints support one or more of the following HTTP verbs:
GET – GET requests retrieve one or more entities and are always read-only. A successful request returns a response with a 200 OK status code.
POST – POST requests are mainly are used to create Partnerize entities or batch operations. When successful such a request returns a 201 Created response code. In the cases when the POST request is used for batch operations processing is done asyncronously. In those cases the successful request will return a 202 Accepted response code and the response should contain a job id, which can be used to monitor the status of the processing.
PUT – PUT request update the resource provided in the URL. PUT requests are idempotent and result in the resource being replaced. A successful request returns a response with a 200 OK status code.
PATCH – Used to do partial updates to Partnerize entities. A successful request returns a response with a 200 OK status code.
DELETE – DELETE requests can be used to remove an entity when supported. A successful request returns a response with a 200 OK or a 204 No Content status code.
If an endpoint doesn't support a particular method, it will return a response with a 405 Method Not Allowed code.
Version 3 API endpoints return response data as a JSON object. Refer to the API reference for details of each endpoint responses. The response will include one of the following HTTP status codes:
HTTP Status Code | Description |
---|---|
200 OK |
The request was successfully completed. A 200 status is returned for a successful GET, PUT, PATCH and sometimes DELETE methods. |
201 Created |
The request was successful and a resource was created. The response usually includes an identifier for the newly created resource. |
202 Accepted |
Some of the requests, e.g. bulk are handled by background jobs. This response status code indicates that the request was received and handed over for processing. |
204 No content |
The request was successfully completed and there is no payload in the response. |
400 Bad Request |
The request could not be processed because it contains missing or invalid information. See Errors for more details. |
401 Unauthorized |
The request is not authorized. The request could not be authenticated becuase of wrong or invalid credentials used in the Authorization header. |
403 Forbidden |
The user is not authorized to perform this action. |
404 Not Found |
The request includes a resource URI that cannot be found by the server. |
405 Method Not Allowed |
The request method, e.g. POST, is not allowed for the resource identified by the request URI. |
429 Too Many Requests |
The user has exceeded the quota for a particular request. See Rate limits for more information on this. |
500 Internal Server Error |
Generic server error. The server encountered an unexpected condition that prevented it from fulfilling the request. |
503 Internal Server Error |
The service is temporarily unavailable. |
See the Errors section below for more details on error responses.
Each response document contains a data
top level attribute and may contain a hypermedia
one. The data
attribute wraps all response data in the payload, while hypermedia
will contain links to related resources.
Example:
{
"data": {
"id": "111111l11",
...
},
"hypermedia": {
"links": {
"tasks": "/v3/jobs/111111l11/tasks"
}
}
}
The API uses standard HTTP status codes to indicate the success or failure of the API call. The body of the response will be JSON in the following format:
{
"error": {
"errors": [
{
"property": "[name]",
"message": "The attribute expected to be of type 'string' but 'integer' given.",
"code": "6a6c32c0-de05-4301-89dd-4a72133c137f",
"type": "validation_error"
}
],
"code": "400",
"message": "Bad Request"
}
}
Attribute | Type | Description |
---|---|---|
errors |
array | An array of error(s) which occured which triggered the error. Each item contains the following attributes;property - The attribute the error is related to.message - A human-friendly message describing the error.code - A unique code for this type of error.type - A text based error classification. |
code |
string | An error code representing the error(s) which has occured, this typically matches the HTTP status code. |
message |
string | A human-friendly message describing the error(s) which has occured. |
If there is an error in your input, you’ll receive a “400 Bad Request” http response. The body of the response will be JSON with the errors
attribute containing an array of details of the error(s).
Code | Description |
---|---|
2572f7f9-e87e-4aa7-98cf-6f53c9ed5584 |
A value is required for an attribute which has not been supplied. |
901d8596-1b91-4e87-869f-ef66bd4ffc0c |
The value contains more items than expeceted. |
b9f3a79a-6767-4947-907e-5e0934b5a641 |
The value contains more attributes than expected. |
6771735c-3000-49d1-a978-74aeb33d15b9 |
The value does not match the expected value. |
9ba6d700-08f1-45c9-bde7-873926d4d393 |
The value does not contain the expected value. |
aa903a6c-64ff-4f8b-830d-8967331c5ba3 |
The value does not match one of the expected values. |
c535eb9f-a8fd-40ce-9e99-fcd6056b55de |
The value is not higher than or equal to the maximum value. |
ed574a9e-fa9d-4b3c-83ee-65ecc47fa2fb |
The value is not lower than or equal to the minimum value. |
1945fae7-8937-4086-b06b-2a43da93b7e3 |
The value does not match the expected format. |
1098ac2a-42f4-4a46-a684-64d67b8c274c |
The value contains more items than permitted. |
539b9fb0-b542-422d-992f-4428e26b39e1 |
The value contains less items than permitted. |
32452de9-0c46-4674-a87d-e02f469a003c |
The value contains more characters than required. |
39c6adce-c253-4750-b2c1-7215713af74d |
The value contains less characters than required. |
458f0977-09d2-40ee-bbe5-c21bc9ed6e48 |
The value contains more attributes than expected. |
4d7d63f2-28f1-45d3-b3b8-99a1bf816e53 |
The value contains less attributes than expected. |
d0fd75d5-9246-4c22-b395-4f6d0279555e |
The value is higher than permitted. |
7ed9630d-04c4-4559-ace5-5e44f45e14e9 |
The value is lower than permitted. |
3dff825b-ac80-41da-a991-2f257ab60a79 |
The value is not a multiple of the defined value. |
80d20241-7f19-4ee2-b46d-538f7179f7fb |
The value does not match the defined pattern. |
9f6fab77-488f-449d-85d3-3345c40a2a45 |
The attribute value name does not match the defined pattern. |
976f4746-0e09-44a7-ba46-b53527a24f6a |
The attribute value name does not match one of the expected values. |
6a6c32c0-de05-4301-89dd-4a72133c137f |
The value has been supplied as an invalid type. |
25772442-e9f9-4cb1-9147-65c422026404 |
The value contains a duplicate value. |
0a53a999-8349-4326-9135-929f25745e08 |
The interval value does not represent a date-time period between the dates. |
cff336e3-1245-49f4-87ec-8efe0d2e2dce |
The interval value does represent a valid date-time period. |
66dad313-af0b-4214-8566-6c799be9789c |
The Business Identifier Code (BIC) value is an invalid length. |
f424c529-7add-4417-8f2d-4b656e4833e2 |
The Business Identifier Code (BIC) value contains invalid characters. |
00559357-6170-4f29-aebd-d19330aa19cf |
The Business Identifier Code (BIC) value does not contain a valid bank code. |
1ce76f8d-3c1f-451c-9e62-fe9c3ed486ae |
The Business Identifier Code (BIC) value does not contain a valid country code. |
11884038-3312-4ae5-9d04-699f782130c7 |
The Business Identifier Code (BIC) value does not contain only contain uppercase characters. |
29a2c3bb-587b-4996-b6f5-53081364cea5 |
The Business Identifier Code (BIC) value does not contain a valid iban country code. |
183ad2de-533d-4796-a439-6d3c3852b549 |
The value is empty. |
f196f6bd-1914-4707-a32c-20536041558f |
Campaign is required. |
a2ad9231-e827-485f-8a1e-ef4d9a6d5c2e |
The Credit Card value contains non-numeric characters. |
a8faedbf-1c2f-4695-8d22-55783be8efed |
The Credit Card value is an invalid format. |
8e179f1b-97aa-4560-a02f-2a8b42e49df7 |
The value selected is not a valid choice. |
11edd7eb-5872-4b6e-9f12-89923999fd0e |
The value contains too few choices. |
9bd98e49-211c-433f-8630-fd1c2d0f08c3 |
The value contains too many choices. |
2fa2158c-2a7f-484b-98aa-975522539ff8 |
The value has not been supplied. |
7703c766-b5d5-4cef-ace7-ae0dd82304e9 |
The value has been supplied for an unexpected attribute. |
bef8e338-6ae5-4caf-b8e2-50e7b0579e69 |
The value contains too few items. |
756b1212-697c-468d-a9ad-50dd783bb169 |
The value contains too many items. |
8f900c12-61bd-455d-9398-996cd040f7f0 |
The country value is not a valid country. |
69945ac1-2db4-405f-bec7-d2772f73df52 |
The currency value is not a valid currency. |
1a9da513-2640-4f84-9b6a-4d99dcddc628 |
The date-time value is not a valid date-time. |
d52afa47-620d-4d99-9f08-f4d85b36e33c |
The date value is not a valid date. |
5e797c9d-74f7-4098-baa3-94390c447b27 |
The time value is not a valid time. |
6d99d6c3-1464-4ccf-bdc7-14d083cf455c |
The value is not divisible by the defined value. |
bd79c0ab-ddba-46cc-a703-a7a4b08de310 |
The email value is not a valid email address. |
478618a7-95ba-473d-9101-cabd45e49115 |
The value does not match the expected value. |
6b3befbc-2f01-4ddf-be21-b57898905284 |
The value does not match the expected expression. |
d2a3fb6e-7ddc-4210-8fbf-2ab345ce1998 |
The file value contains a file which does not exist. |
c20c92a4-5bfa-4202-9477-28e800e0f6ff |
The file value contains a non-readable file. |
5d743385-9775-4aa5-8ff5-495fb1e60137 |
The file value contains an empty file. |
df8637af-d466-48c6-a59d-e7126250a654 |
The file value contains a file which is too large. |
744f00bc-4389-4c74-92de-9a43cde55534 |
The file value contains a file which contains an invalid mime type. |
778b7ae0-84d3-481a-9dec-35fdb64b1d78 |
The value is less than the expected value. |
ea4e51d1-3342-48bd-87f1-9e672cd90cad |
The value is not greater than or equal to the expected value. |
de78ee2c-bd50-44e2-aec8-3d8228aeadb9 |
The IBAN value does not contain a valid country code. |
8d3d85e4-784f-4719-a5bc-d9e40d45a3a5 |
The IBAN value contains invalid characters. |
b9401321-f9bf-4dcb-83c1-f31094440795 |
The IBAN value checksum failed. |
c8d318f1-2ecc-41ba-b983-df70d225cf5a |
The IBAN value is not in the correct format. |
e2c259f3-4b46-48e6-b72e-891658158ec8 |
The IBAN value contains an unsupported country code. |
2a8cc50f-58a2-4536-875e-060a2ce69ed5 |
The value is not identical to the defined value. |
6d55c3f4-e58e-4fe3-91ee-74b492199956 |
The Image value size could not be determined. |
7f87163d-878f-47f5-99ba-a8eb723a1ab2 |
The Image value is too wide. |
9afbd561-4f90-4a27-be62-1780fc43604a |
The Image value is too narrow. |
7efae81c-4877-47ba-aa65-d01ccb0d4645 |
The Image value is too tall. |
aef0cb6a-c07f-4894-bc08-1781420d7b4c |
The Image value is too short. |
1b06b97d-ae48-474e-978f-038a74854c43 |
The Image value contains too few pixels. |
ee0804e8-44db-4eac-9775-be91aaf72ce1 |
The Image value contains too many pixels. |
70cafca6-168f-41c9-8c8c-4e47a52be643 |
The Image value aspect radio is too big. |
59b8c6ef-bcf2-4ceb-afff-4642ed92f12e |
The Image value aspect radio is too small. |
5d41425b-facb-47f7-a55a-de9fbe45cb46 |
The Image value cannot be square. |
6f895685-7cf2-4d65-b3da-9029c5581d88 |
The Image value cannot be landscape. |
65608156-77da-4c79-a88c-02ef6d18c782 |
The Image value cannot be portrait. |
5d4163f3-648f-4e39-87fd-cc5ea7aad2d1 |
The Image value is corrupted. |
b1b427ae-9f6f-41b0-aa9b-84511fbb3c5b |
The value does not match the format for a valid IP address. |
949acbb0-8ef5-43ed-a0e9-032dfd08ae45 |
The ISBN value contains too few characters. |
3171387d-f80a-47b3-bd6e-60598545316a |
The ISBN value contains too many characters. |
23d21cea-da99-453d-98b1-a7d916fbb339 |
The ISBN value contains invalid characters. |
2881c032-660f-46b6-8153-d352d9706640 |
The ISBN value checksum failed. |
fa54a457-f042-441f-89c4-066ee5bdd3e1 |
The ISBN value does not match the ISBN-10 or ISBN-13 formats. |
d53a91b0-def3-426a-83d7-269da7ab4200 |
The value is not false . |
60d2f30b-8cfa-4372-b155-9656634de120 |
The value is not null . |
6a20dd3d-f463-4460-8e7b-18a1b98abbfb |
The ISSN value contains too few characters. |
37cef893-5871-464e-8b12-7fb79324833c |
The ISSN value contains too many characters. |
2983286f-8134-4693-957a-1ec4ef887b15 |
The ISSN value does not contain hyphens. |
a663d266-37c2-4ece-a914-ae891940c588 |
The ISSN value contains invalid characters. |
7b6dd393-7523-4a6c-b84d-72b91bba5e1a |
The ISSN value must contain uppercase characters. |
b0f92dbc-667c-48de-b526-ad9586d43e85 |
The ISSN value checksum failed. |
2beabf1c-54c0-4882-a928-05249b26e23b |
The value is not true . |
0789c8ad-2d2b-49a4-8356-e2ce63998504 |
The JSON value contains invalid JSON syntax. |
ee65fec4-9a20-4202-9f39-ca558cd7bdf7 |
The Language value contains an invalid language. |
9ff3fdc4-b214-49db-8718-39c315e33d45 |
The value contains too few characters. |
d94b19cc-114f-4f44-9cc4-4138e80a87b9 |
The value contains too many characters. |
35e6a710-aa2e-4719-b58e-24b35749b767 |
The value contains invalid characters for the defined character set. |
079d7420-2d13-460c-8756-de810eeb37d2 |
The value is greater than the expected value. |
30fbb013-d015-4232-8b3b-8f3be97a7e14 |
The value is not less than or equal to the expected value. |
a0af4293-1f1a-4a1c-a328-979cba6182a2 |
The Locale value does not contain a valid locale. |
dfad6d23-1b74-4374-929b-5cbb56fc0d9e |
The Luhn value contains invalid characters. |
4d760774-3f50-4cd5-a6d5-b10a3299d8d3 |
The Luhn value checksum failed. |
c1051bb4-d103-4f74-8988-acbcafc7fdc3 |
The value is blank. |
d9bcdbfe-a9d6-4bfa-a8ff-da5fd93e0f6d |
The Password value has been compromised. e.g. the Password value has been made public by a data breach. |
aa2e33da-25c8-4d76-8c6c-812f02ea89dd |
The value is not equal to the defined value. |
4aaac518-0dda-4129-a6d9-e216b9b454a0 |
The value is not identical to the defined value. |
ad32d13f-c3d4-423b-909a-857b961eb720 |
The value is null. |
ad9a9798-7a99-4df7-8ce9-46e416a1e60b |
The numeric value does not exclusively contain numeric characters. |
2d28afcb-e32e-45fb-a815-01c431a86a69 |
The numeric value is too high and exists outside the defined range. |
76454e69-502c-46c5-9643-f447d837c4d5 |
The numeric value is too low and exists outside the defined range. |
de1e3db3-5ed4-4941-aae4-59f3667cc3a3 |
The value does not match the defined regular expression. |
9d27b2bb-f755-4fbf-b725-39b1edbdebdf |
The Time value does not match the time format. |
8532f9e1-84b2-4d67-8989-0818bc38533b |
The Time value does not present a valid time value. |
5ce113e6-5e64-4ea2-90fe-d2233956db13 |
The Timezone value does not contain a valid value. |
b57767b1-36c0-40ac-a3d7-629420c775b8 |
The Timezone value does not exist within the defined zone. |
c4a22222-dc92-4fc0-abb0-d95b268c7d0b |
The Timezone value does not exist within the defined country. |
45863c26-88dc-41ba-bf53-c73bd1f7e90d |
The Timezone value is an invalid internationalization code. |
ba785a8c-82cb-4283-967c-3cf342181b40 |
The value has not been supplied in the correct format. e.g. as a number 1 rather than a quoted value "1" . |
7911c98d-b845-4da0-94b7-a8dac36bc55a |
The value does not contain unique elements. |
57c2f299-1154-4870-89bb-ef3b1f5ad229 |
The URL value does not contain a value URL. |
aa314679-dac9-4f54-bf97-b2049df8f2a3 |
The UUID value contains too few characters. |
494897dd-36f8-4d31-8923-71a8d5f3000d |
The UUID value contains too many characters. |
51120b12-a2bc-41bf-aa53-cd73daf330d0 |
The UUID value contains invalid characters. |
98469c83-0309-4f5d-bf95-a496dcaa869c |
The UUID value contains hyphens in invalid positions. |
21ba13b4-b185-4882-ac6f-d147355987eb |
The UUID value contains an invalid version number. |
164ef693-2b9d-46de-ad7f-836201f0c2db |
The UUID value's first two characters do not sum to ten. |
f645b551-53ae-4e8b-8ce8-1c747e9df1e2 |
This value is already used. |
If there is an error with your authentication credentials, you’ll receive a “401 Unauthorized” http response. The body of the response will be JSON with the errors
attribute containing an array of details of the error(s).
Code | Description |
---|---|
39b4b7c2-e5b9-41b1-83d4-db3b23b5ebfa |
The authentication credentials are missing or are an invalid User application key and User API key combination. |
Sample JSON response body when no credentials has been supplied.
{
"error": {
"errors": [
{
"property": "",
"message": "Your API credentials can be found in Account settings. 'Username' will be your 'User application key' and 'Password' will be your 'User API key'.",
"code": "39b4b7c2-e5b9-41b1-83d4-db3b23b5ebfa",
"type": "unauthorised"
}
],
"message": "Unauthorized",
"code": "401"
}
}
Sample JSON response body when an invalid User application key
and User API key
combination has been supplied.
{
"error": {
"errors": [
{
"property": "",
"message": "Your 'User application key' and 'User API key' combination is invalid.",
"code": "39b4b7c2-e5b9-41b1-83d4-db3b23b5ebfa",
"type": "unauthorised"
}
],
"message": "Unauthorized",
"code": "401"
}
}
If there is an denial of access to a resouce within your request, you’ll receive a “403 Forbidden“ http response. The body of the response will be JSON with the errors
attribute containing an array of details of the error(s).
Code | Description |
---|---|
76fb121a-d769-4293-852d-3b9b6a3dcce8 |
Access has not been permitted to a resource or to perform an action. |
16bd7f4a-bf84-45c3-aa95-9b32aeb139b0 |
Access has not been permitted to a resource or to perform an action. |
f0b71be3-c8be-4ff2-893e-2bc7f7a18156 |
There are terms and conditions that need to be acknowledged before continuing. |
{
"error": {
"errors": [
{
"property": "[campaigns][0]",
"message": "You do not have \"view\" access on this entity.",
"code": "16bd7f4a-bf84-45c3-aa95-9b32aeb139b0",
"type": "unauthorised"
}
],
"code": "403",
"message": "Forbidden"
}
}
If there is an error locating a requested resource, you’ll receive a “404 Not Found" http response. The body of the response will be JSON with the errors
attribute containing an array of details of the error(s).
Code | Description |
---|---|
0d528fb3-569c-45fa-b2b5-309b360bf9fa |
A route has not been found to match the supplied URL. |
Sample JSON response body when an invalid URL has been requested.
{
"error": {
"errors": [
{
"property": "",
"message": "No route found for \"POST \/foo\"",
"code": "0d528fb3-569c-45fa-b2b5-309b360bf9fa",
"type": "not_found"
}
],
"message": "Not Found",
"code": "404"
}
}
If there is an error accessing a resource using the given HTTP verb, you’ll receive a “405 Method Not Allowed“ http response. The body of the response will be JSON with the errors
attribute containing an array of details of the error(s).
Code | Description |
---|---|
5fe5c44b-f299-4fa6-bda4-bf80fecf6093 |
A route has been found which matches the supplied URL but cannot be accessed via the HTTP verb. |
Sample JSON response body when an valid URL has been requested with an invalid request method.
{
"error": {
"errors": [
{
"property": "",
"message": "No route found for \"POST \/foo\": Method Not Allowed (Allow: GET)",
"code": "5fe5c44b-f299-4fa6-bda4-bf80fecf6093",
"type": "routing_error"
}
],
"message": "Method Not Allowed",
"code": "405"
}
}
This error code indicates that too many requests were sent within a period of time. See Rate limits for more information on this.
Sample JSON response body when a rate limit is hit.
{
"error": {
"errors": [
{
"property": "",
"message": "You have made too many requests recently, please try again later.",
"code": "3b22ff00-96a5-4fa4-96cc-f36e68dbd2e2",
"type": "too_many_requests"
}
],
"message": "Too Many Requests",
"code": "429"
}
}
If there is an internal error, you’ll receive a “500 Internal Server Error“ http response. The body of the response will be JSON with the errors
attribute containing an array of details of the error(s).
Code | Description |
---|---|
a72717b1-0ecb-4d74-a77f-3e3702a2c8d5 |
A non-specific error has occured. |
c2b63ca9-e15b-48ee-bcf0-0469a2f52047 |
A connection to a remote service could not be established, this could be related to an outage or an invalid request. |
03b1fdbe-ce8a-4de7-b850-b5e4bccf7f81 |
A remote service encountered an error, this could be related to an outage or an invalid request. |
v3
API endpoints use ISO-8601 date time format.
2019-03-01T12:01:00+00:00
- this example represents 1 minute past midday on the 1st of March 2019 in UTC.
2019-03-01
- date only example
All API calls are contextual to the User that is making the request, and all User accounts are associated with the
Network that they are created on. Each network has a unique application_user_key
.
{- "networks": [
- {
- "network": {
- "auto_approve_publishers": "y",
- "cm_client_id": "b4d0d85c2cff813cdce092c261b2b200",
- "default_campaign_id": "",
- "network_application_id": "2",
- "network_contact_email": "",
- "network_description": "PHG Network",
- "network_id": "1l1000003",
- "network_locale": "bg",
- "network_name": "PHG",
- "network_notes": "Internal PHG Network"
}
}
]
}
A Brand can view all Partners who are created on their network. This endpoint is not specific to a Campaign, therefore it pools all available Partners who have been created or are able to access their Network. It is also possible to accept new Partners onto the Network, or to reject any approved or pending Partners from the Network. If a Partners is rejected from the Network, they will be automatically rejected from all participating Campaigns.
Create partners on your network.
account_name required | string Name of the partner |
vertical required | string The vertical ID of the partner |
promotional_method required | string The promotional method ID of the partner |
signup_ip required | string The signup IP address of the partner |
entity_terms_id required | string The agreed terms and conditions ID. The ID must be retrieved by retrieving the terms and conditions from the network terms and conditions API. |
network_terms_id | string The agreed network terms and conditions ID |
vat_number | string The VAT number of the partner |
description | string Description of the partner |
company_name | string Company name associated to the partner |
operating_country | string Country of operation for the partner |
reporting_timezone | string Reporting timezone of the partner. |
default_currency | string Default currency of the partner. |
phone | string Phone number of the partner. |
contact_name | string The contact name of the partner. |
contact_email required | string The contact email of the partner. |
contact_locale | string The contact ISO locale for the partner. |
{- "account_name": "string",
- "vertical": "string",
- "promotional_method": "string",
- "signup_ip": "string",
- "entity_terms_id": "string",
- "network_terms_id": "string",
- "vat_number": "string",
- "description": "string",
- "company_name": "string",
- "operating_country": "string",
- "reporting_timezone": "string",
- "default_currency": "string",
- "phone": "string",
- "contact_name": "string",
- "contact_email": "string",
- "contact_locale": "string"
}
{- "publisher": {
- "websites": [
- {
- "website": {
- "publisher_id": "string",
- "website_id": "string",
- "active": "y",
- "primary": "y",
- "website_country": "AD",
- "website_name": "string",
- "website_type": 0,
- "website_type_name": "string",
- "website_url": "string",
- "website_vertical": 0,
- "website_vertical_name": "string"
}
}
], - "us_tax_state": "string",
- "reporting_identifier": "string",
- "publisher_id": "string",
- "network_status": "a",
- "network_notes": "string",
- "network_id": "string",
- "legal_entity": "AD",
- "is_affiliate_user": "y",
- "gst_registered": "string",
- "foreign_identifier": "string",
- "databases": [
- {
- "database": {
- "database_id": "string",
- "publisher_id": "string",
- "active": "y",
- "creation_method": "string",
- "database_name": "string",
- "female": 0,
- "male": 0,
- "max_age": 0,
- "min_age": 0,
- "size": 0
}
}
], - "campaign_select": "string",
- "abn": "string",
- "account_name": "string",
- "company_division": "string",
- "company_name": "string",
- "contact_email": "string",
- "contact_locale": "bg",
- "contact_name": "string",
- "default_currency": "GBP",
- "description": "string",
- "im_provider": "string",
- "im_username": "string",
- "is_foreign_network": "y",
- "is_lead_user": "y",
- "operating_country": "AD",
- "promotional_method": 0,
- "promotional_method_name": "string",
- "promotional_countries": [
- {
- "iso": "string",
- "name": "string"
}
], - "uk_vat_registered": "y",
- "vat_number": 0,
- "vertical": 0,
- "vertical_name": "string"
}
}
Create partners on your network with their own Partnerize user account, allowing them to login directly to the Partnerize platform.
user_name required | string Username of the user |
email_address required | string Email address of the user |
password required | string Password of the user |
address1 required | string Address Line 1 of the user |
postcode required | string Postcode of the user |
country required | string ISO-2 country code of the user |
phone required | string Phone number of the user |
signup_ip required | string The signup IP address of the user |
firstname | string The first name of the user |
lastname | string The last name of the user |
address2 | string Address Line 2 of the user |
address3 | string Address Line 3 of the user |
address4 | string Address Line 4 of the user |
locale | string Locale of the user |
send_confirm_email | boolean Default: false Send confirmation email to user on successful signup |
object |
{- "user_name": "string",
- "email_address": "string",
- "password": "string",
- "address1": "string",
- "postcode": "string",
- "country": "string",
- "phone": "string",
- "signup_ip": "string",
- "firstname": "string",
- "lastname": "string",
- "address2": "string",
- "address3": "string",
- "address4": "string",
- "locale": "string",
- "send_confirm_email": false,
- "publisher": {
- "account_name": "string",
- "vertical": "string",
- "promotional_method": "string",
- "signup_ip": "string",
- "entity_terms_id": "string",
- "network_terms_id": "string",
- "vat_number": "string",
- "description": "string",
- "company_name": "string",
- "operating_country": "string",
- "reporting_timezone": "string",
- "default_currency": "string",
- "phone": "string",
- "contact_name": "string",
- "contact_email": "string",
- "contact_locale": "string"
}
}
{- "user": {
- "user_name": "string",
- "email_address": "string",
- "password": "string",
- "address1": "string",
- "postcode": "string",
- "country": "string",
- "phone": "string",
- "signup_ip": "string",
- "firstname": "string",
- "lastname": "string",
- "address2": "string",
- "address3": "string",
- "address4": "string",
- "locale": "string",
- "user_id": "string",
- "created": "string",
- "network_id": "string",
- "network_name": "string",
- "user_api_key": "string",
- "publisher": {
- "account_name": "string",
- "vertical": "string",
- "promotional_method": "string",
- "signup_ip": "string",
- "entity_terms_id": "string",
- "network_terms_id": "string",
- "vat_number": "string",
- "description": "string",
- "company_name": "string",
- "operating_country": "string",
- "reporting_timezone": "string",
- "default_currency": "string",
- "phone": "string",
- "contact_name": "string",
- "contact_email": "string",
- "contact_locale": "string"
}
}
}
View all Partners on the Network.
network_id required | string Example: 1l1000003 ID of the network |
{- "publishers": [
- {
- "publisher": {
- "abn": null,
- "account_name": "publisher123",
- "campaign_select": null,
- "company_division": null,
- "company_name": "Demo Partner",
- "contact_email": "demo@performancehorizon.com",
- "contact_locale": "bg",
- "contact_name": "John Smith",
- "databases": [
- {
- "active": "y",
- "creation_method": "Email",
- "database_id": "111111l300347",
- "database_name": "Partnerize Test Database",
- "female": 50,
- "male": 50,
- "max_age": 77,
- "min_age": 25,
- "publisher_id": "1l1007802",
- "size": 53000
}
], - "default_currency": "GBP",
- "description": null,
- "foreign_identifier": null,
- "gst_registered": null,
- "im_provider": "Skype",
- "im_username": "elisangis",
- "is_affiliate_user": "y",
- "is_foreign_network": "y",
- "is_lead_user": "y",
- "legal_entity": "GB",
- "network_id": "1l1000003",
- "network_notes": null,
- "network_status": "a",
- "operating_country": "GB",
- "phone": "01595725007",
- "phone_area": "+44",
- "promotional_method": 10,
- "promotional_method_name": "Portal",
- "promotional_countries": [
- {
- "iso": "GB",
- "name": "United Kingdom"
}, - {
- "iso": "US",
- "name": "United States"
}
], - "publisher_id": "1l1007802",
- "reporting_identifier": null,
- "reporting_timezone": "Australia/Sydney",
- "signup_ip": "178.23.129.160",
- "uk_vat_registered": "y",
- "us_tax_state": null,
- "vat_number": 974997534,
- "vertical": 10,
- "vertical_name": "Other",
- "websites": [
- {
- "active": "y",
- "primary": "n",
- "description": "Demo Partner website",
- "publisher_id": "1l1007802",
- "website_country": "GB",
- "website_id": "11l18694",
- "website_name": null,
- "website_type": 9,
- "website_type_name": "PPC",
- "website_vertical": 10,
- "website_vertical_name": "Technical"
}
], - "week_start": "Monday"
}
}
]
}
Update the network_status
of a Partner by passing each publisher_id
along with the relevant network_status
in an object within a publishers
array.
network_id required | string Example: 1l1000003 ID of the network |
Array of objects |
{- "publishers": [
- {
- "network_status": "a",
- "publisher_id": "1l1007802"
}
]
}
{- "publishers": [
- {
- "publisher": {
- "abn": null,
- "account_name": "partner123",
- "campaign_select": null,
- "company_division": null,
- "company_name": "Demo Partner",
- "contact_email": "demo@performancehorizon.com",
- "contact_locale": "bg",
- "contact_name": "John Smith",
- "databases": [
- {
- "active": "y",
- "creation_method": "Email",
- "database_id": "111111l300347",
- "database_name": "Partnerize Test Database",
- "female": 50,
- "male": 50,
- "max_age": 77,
- "min_age": 25,
- "publisher_id": "1l1007802",
- "size": 53000
}
], - "default_currency": "GBP",
- "description": null,
- "foreign_identifier": null,
- "gst_registered": null,
- "im_provider": "Skype",
- "im_username": "elisangis",
- "is_affiliate_user": "y",
- "is_foreign_network": "y",
- "is_lead_user": "y",
- "legal_entity": "GB",
- "network_id": "1l1000003",
- "network_notes": null,
- "network_status": "a",
- "operating_country": "GB",
- "phone": "01595725007",
- "phone_area": "+44",
- "promotional_method": 10,
- "promotional_method_name": "Portal",
- "publisher_id": "1l1007802",
- "reporting_identifier": null,
- "reporting_timezone": "Australia/Sydney",
- "signup_ip": "178.23.129.160",
- "uk_vat_registered": "y",
- "us_tax_state": null,
- "vat_number": 974997534,
- "vertical": 10,
- "vertical_name": "Other",
- "websites": [
- {
- "active": "y",
- "primary": "n",
- "description": "Demo Partner website",
- "publisher_id": "1l1007802",
- "website_country": "GB",
- "website_id": "11l18694",
- "website_name": null,
- "website_type": 9,
- "website_type_name": "PPC",
- "website_vertical": 10,
- "website_vertical_name": "Technical"
}
], - "week_start": "Monday"
}
}
]
}
Terms and conditions endpoint that returns terms and conditions that must be accepted by a partner to join the network.
locale required | string (Locale) Enum: "bg" "cs" "da" "de" "de_at" "en" "en_au" "en_ca" "en_us" "es" "es_mx" "el" "et" "fi" "fl" "fr" "fr_ca" "hu" "id" "it" "jp" "ko" "ko_kr" "lt" "lv" "ms_my" "mt" "my" "nl" "no" "pl" "po" "pt" "pt_br" "ro" "ru" "sg" "sk" "sl" "sv" "sv_se" "th" "tl" "tr" "vi" "zh_cn" "zh_hk" Example: en Specified locale |
country required | string (Country) Enum: "AD" "AE" "AF" "AG" "AI" "AL" "AM" "AO" "AQ" "AR" "AS" "AT" "AU" "AW" "AX" "AZ" "BA" "BB" "BD" "BE" "BF" "BG" "BH" "BI" "BJ" "BL" "BM" "BN" "BO" "BQ" "BR" "BS" "BT" "BV" "BW" "BY" "BZ" "CA" "CC" "CD" "CF" "CG" "CH" "CI" "CK" "CL" "CM" "CN" "CO" "CR" "CU" "CV" "CW" "CX" "CY" "CZ" "DE" "DJ" "DK" "DM" "DO" "DZ" "EC" "EE" "EG" "EH" "ER" "ES" "ET" "FI" "FJ" "FK" "FM" "FO" "FR" "GA" "GB" "GD" "GE" "GF" "GG" "GH" "GI" "GL" "GM" "GN" "GP" "GQ" "GR" "GS" "GT" "GU" "GW" "GY" "HK" "HM" "HN" "HR" "HT" "HU" "ID" "IE" "IL" "IM" "IN" "IO" "IQ" "IR" "IS" "IT" "JE" "JM" "JO" "JP" "KE" "KG" "KH" "KI" "KM" "KN" "KP" "KR" "KW" "KY" "KZ" "LA" "LB" "LC" "LI" "LK" "LR" "LS" "LT" "LU" "LV" "LY" "MA" "MC" "MD" "ME" "MF" "MG" "MH" "MK" "ML" "MM" "MN" "MO" "MP" "MQ" "MR" "MS" "MT" "MU" "MV" "MW" "MX" "MY" "MZ" "NA" "NC" "NE" "NF" "NG" "NI" "NL" "NO" "NP" "NR" "NU" "NZ" "OM" "PA" "PE" "PF" "PG" "PH" "PK" "PL" "PM" "PN" "PR" "PS" "PT" "PW" "PY" "QA" "RE" "RO" "RS" "RU" "RW" "SA" "SB" "SC" "SD" "SE" "SG" "SH" "SI" "SJ" "SK" "SL" "SM" "SN" "SO" "SR" "SS" "ST" "SV" "SX" "SY" "SZ" "TC" "TD" "TF" "TG" "TH" "TJ" "TK" "TL" "TM" "TN" "TO" "TR" "TT" "TV" "TW" "TZ" "UA" "UG" "UM" "US" "UY" "UZ" "VA" "VC" "VE" "VG" "VI" "VN" "VU" "WF" "WS" "XK" "YE" "YT" "ZA" "ZM" "ZW" Example: GB Specified ISO-2 country code |
network_id required | string Example: 11l100 ID of the network |
{- "terms": [
- {
- "term": {
- "locale": "bg",
- "ref_legal_entity_id": "1",
- "ref_terms_and_conditions_locale_id": "11l100",
- "terms_and_conditions": "You must accept these terms and conditions to join",
- "tnc_type": "entity"
}
}
]
}
A User can create one or more Brand accounts. A User can also have access to one or more Brand accounts - this is determined by the User's permissions. A Network admin may choose to grant a User access to multiple entities within their Network.
One or more Brands can reside on a Network. This endpoint will output a listing of all Brands who reside on the Network and the output is contextual based on the permissions of the User making the request to the endpoint. A limited Brand schema will be utilised for any Brand that the User does not have appropriate permissions to view.
limit | number Example: limit=100 |
offset | number Example: offset=0 |
{- "advertisers": [
- {
- "advertiser": {
- "account_name": "demo_brand",
- "address1": "Gardegasse 11",
- "address2": "Top 7",
- "address3": "London",
- "address4": null,
- "advertiser_id": "10l110",
- "budget_summary_interval": null,
- "budget_summary_start_time": null,
- "company_name": "Partnerize Demo Brand",
- "contact_email": "someone@partnerize.com",
- "country": "GB",
- "current_balance": null,
- "default_currency": "GBP",
- "display_name": "PHG",
- "payment_currency": "GBP",
- "phone": "01595725007",
- "phone_area": "+44",
- "postcode": "A-101",
- "pre_payment": null,
- "signup_ip": "178.23.129.160",
- "status": "a",
- "vat_number": "GB974997534"
}
}
], - "count": 86,
- "execution_time": "0.23640 seconds",
- "limit": 100,
- "offset": 0
}
Create a new Brand account attached to the authenticated User.
account_name required | string Unique brand account name |
address1 required | string 1st line of the address |
address2 | string Nullable 2nd line of the address |
address3 | string Nullable 3rd line of the address |
address4 | string Nullable 4th line of the address |
advertiser_icon | string Nullable Url path to image |
advertiser_id | string ID of the brand |
budget_summary_interval | string Nullable |
budget_summary_start_time | string Nullable |
company_name required | string |
contact_email | string |
country required | string (Country) Enum: "AD" "AE" "AF" "AG" "AI" "AL" "AM" "AO" "AQ" "AR" "AS" "AT" "AU" "AW" "AX" "AZ" "BA" "BB" "BD" "BE" "BF" "BG" "BH" "BI" "BJ" "BL" "BM" "BN" "BO" "BQ" "BR" "BS" "BT" "BV" "BW" "BY" "BZ" "CA" "CC" "CD" "CF" "CG" "CH" "CI" "CK" "CL" "CM" "CN" "CO" "CR" "CU" "CV" "CW" "CX" "CY" "CZ" "DE" "DJ" "DK" "DM" "DO" "DZ" "EC" "EE" "EG" "EH" "ER" "ES" "ET" "FI" "FJ" "FK" "FM" "FO" "FR" "GA" "GB" "GD" "GE" "GF" "GG" "GH" "GI" "GL" "GM" "GN" "GP" "GQ" "GR" "GS" "GT" "GU" "GW" "GY" "HK" "HM" "HN" "HR" "HT" "HU" "ID" "IE" "IL" "IM" "IN" "IO" "IQ" "IR" "IS" "IT" "JE" "JM" "JO" "JP" "KE" "KG" "KH" "KI" "KM" "KN" "KP" "KR" "KW" "KY" "KZ" "LA" "LB" "LC" "LI" "LK" "LR" "LS" "LT" "LU" "LV" "LY" "MA" "MC" "MD" "ME" "MF" "MG" "MH" "MK" "ML" "MM" "MN" "MO" "MP" "MQ" "MR" "MS" "MT" "MU" "MV" "MW" "MX" "MY" "MZ" "NA" "NC" "NE" "NF" "NG" "NI" "NL" "NO" "NP" "NR" "NU" "NZ" "OM" "PA" "PE" "PF" "PG" "PH" "PK" "PL" "PM" "PN" "PR" "PS" "PT" "PW" "PY" "QA" "RE" "RO" "RS" "RU" "RW" "SA" "SB" "SC" "SD" "SE" "SG" "SH" "SI" "SJ" "SK" "SL" "SM" "SN" "SO" "SR" "SS" "ST" "SV" "SX" "SY" "SZ" "TC" "TD" "TF" "TG" "TH" "TJ" "TK" "TL" "TM" "TN" "TO" "TR" "TT" "TV" "TW" "TZ" "UA" "UG" "UM" "US" "UY" "UZ" "VA" "VC" "VE" "VG" "VI" "VN" "VU" "WF" "WS" "XK" "YE" "YT" "ZA" "ZM" "ZW" |
current_balance | string Nullable |
default_currency | string (Currency) Enum: "GBP" "USD" "EUR" "JPY" |
display_name | string Name shown to publishers under brand campaign management |
payment_currency | string (Currency) Enum: "GBP" "USD" "EUR" "JPY" |
phone required | string Primary contact telephone number |
phone_area | string Nullable Phone prefix to declare country or region |
postcode required | string Postcode/Zipcode attached to the address |
pre_payment | string Nullable |
signup_ip required | string |
status | string (Status) Enum: "a" "p" "r" "n" |
vat_number | string Nullable |
{- "account_name": "string",
- "address1": "string",
- "address2": "string",
- "address3": "string",
- "address4": "string",
- "advertiser_icon": "string",
- "advertiser_id": "string",
- "budget_summary_interval": "string",
- "budget_summary_start_time": "string",
- "company_name": "string",
- "contact_email": "string",
- "country": "AD",
- "current_balance": "string",
- "default_currency": "GBP",
- "display_name": "string",
- "payment_currency": "GBP",
- "phone": "string",
- "phone_area": "string",
- "postcode": "string",
- "pre_payment": "string",
- "signup_ip": "string",
- "status": "a",
- "vat_number": "string"
}
{- "advertiser": {
- "account_name": "demo_brand",
- "address1": "Gardegasse 11",
- "address2": "Top 7",
- "address3": "London",
- "address4": null,
- "advertiser_id": "10l110",
- "budget_summary_interval": null,
- "budget_summary_start_time": null,
- "company_name": "Partnerize Demo Brand",
- "contact_email": "someone@partnerize.com",
- "country": "GB",
- "current_balance": null,
- "default_currency": "GBP",
- "display_name": "PHG",
- "payment_currency": "GBP",
- "phone": "01595725007",
- "phone_area": "+44",
- "postcode": "A-101",
- "pre_payment": null,
- "signup_ip": "178.23.129.160",
- "status": "a",
- "vat_number": "GB974997534"
}
}
Outputs the specified brand.
advertiser_id required | string Example: 10l110 ID of the brand |
{- "advertiser": {
- "account_name": "demo_brand",
- "address1": "Gardegasse 11",
- "address2": "Top 7",
- "address3": "London",
- "address4": null,
- "advertiser_id": "10l110",
- "budget_summary_interval": null,
- "budget_summary_start_time": null,
- "company_name": "Partnerize Demo Brand",
- "contact_email": "someone@partnerize.com",
- "country": "GB",
- "current_balance": null,
- "default_currency": "GBP",
- "display_name": "PHG",
- "payment_currency": "GBP",
- "phone": "01595725007",
- "phone_area": "+44",
- "postcode": "A-101",
- "pre_payment": null,
- "signup_ip": "178.23.129.160",
- "status": "a",
- "vat_number": "GB974997534"
}
}
Update the specified Brand.
advertiser_id required | string Example: 10l110 ID of the brand |
advertiser_icon | string Nullable Url of image to download. Supports PNG and JPEG only. |
address1 required | string 1st line of the address |
address2 | string Nullable 2nd line of the address |
address3 | string Nullable 3rd line of the address |
address4 | string Nullable 4th line of the address |
advertiser_id | string ID of the brand |
company_name | string |
country required | string (Country) Enum: "AD" "AE" "AF" "AG" "AI" "AL" "AM" "AO" "AQ" "AR" "AS" "AT" "AU" "AW" "AX" "AZ" "BA" "BB" "BD" "BE" "BF" "BG" "BH" "BI" "BJ" "BL" "BM" "BN" "BO" "BQ" "BR" "BS" "BT" "BV" "BW" "BY" "BZ" "CA" "CC" "CD" "CF" "CG" "CH" "CI" "CK" "CL" "CM" "CN" "CO" "CR" "CU" "CV" "CW" "CX" "CY" "CZ" "DE" "DJ" "DK" "DM" "DO" "DZ" "EC" "EE" "EG" "EH" "ER" "ES" "ET" "FI" "FJ" "FK" "FM" "FO" "FR" "GA" "GB" "GD" "GE" "GF" "GG" "GH" "GI" "GL" "GM" "GN" "GP" "GQ" "GR" "GS" "GT" "GU" "GW" "GY" "HK" "HM" "HN" "HR" "HT" "HU" "ID" "IE" "IL" "IM" "IN" "IO" "IQ" "IR" "IS" "IT" "JE" "JM" "JO" "JP" "KE" "KG" "KH" "KI" "KM" "KN" "KP" "KR" "KW" "KY" "KZ" "LA" "LB" "LC" "LI" "LK" "LR" "LS" "LT" "LU" "LV" "LY" "MA" "MC" "MD" "ME" "MF" "MG" "MH" "MK" "ML" "MM" "MN" "MO" "MP" "MQ" "MR" "MS" "MT" "MU" "MV" "MW" "MX" "MY" "MZ" "NA" "NC" "NE" "NF" "NG" "NI" "NL" "NO" "NP" "NR" "NU" "NZ" "OM" "PA" "PE" "PF" "PG" "PH" "PK" "PL" "PM" "PN" "PR" "PS" "PT" "PW" "PY" "QA" "RE" "RO" "RS" "RU" "RW" "SA" "SB" "SC" "SD" "SE" "SG" "SH" "SI" "SJ" "SK" "SL" "SM" "SN" "SO" "SR" "SS" "ST" "SV" "SX" "SY" "SZ" "TC" "TD" "TF" "TG" "TH" "TJ" "TK" "TL" "TM" "TN" "TO" "TR" "TT" "TV" "TW" "TZ" "UA" "UG" "UM" "US" "UY" "UZ" "VA" "VC" "VE" "VG" "VI" "VN" "VU" "WF" "WS" "XK" "YE" "YT" "ZA" "ZM" "ZW" |
phone required | string Primary contact telephone number |
phone_area | string Nullable Phone prefix to declare country or region |
postcode required | string Postcode/Zipcode attached to the address |
signup_ip required | string |
{- "advertiser_icon_upload": "string",
- "address1": "Gardegasse 11",
- "address2": "Top 7",
- "address3": "London",
- "address4": null,
- "advertiser_id": "10l110",
- "company_name": "Partnerize Demo Brand",
- "country": "GB",
- "phone": "01595725007",
- "phone_area": "+44",
- "postcode": "A-101",
- "signup_ip": "178.23.129.160"
}
{- "advertiser": {
- "account_name": "demo_brand",
- "address1": "Gardegasse 11",
- "address2": "Top 7",
- "address3": "London",
- "address4": null,
- "advertiser_id": "10l110",
- "budget_summary_interval": null,
- "budget_summary_start_time": null,
- "company_name": "Partnerize Demo Brand",
- "contact_email": "someone@partnerize.com",
- "country": "GB",
- "current_balance": null,
- "default_currency": "GBP",
- "display_name": "PHG",
- "payment_currency": "GBP",
- "phone": "01595725007",
- "phone_area": "+44",
- "postcode": "A-101",
- "pre_payment": null,
- "signup_ip": "178.23.129.160",
- "status": "a",
- "vat_number": "GB974997534"
}
}
Lists brands for a given network
networkId | string Example: 1111l11 Network ID to get brands for |
with | string Example: with=deeplink-domains Extra data to fetch as a comma seperated list. Currently only accepts "deeplink-domains" |
{- "data": [
- {
- "brand_id": "111111l1",
- "brand_name": "Brand One"
}, - {
- "brand_id": "111111l2",
- "brand_name": "Brand Two"
}
]
}
A Campaign is owned by a Brand and a Brand may have multiple Campaigns. A Campaign represents an entity which the Brand uses to represent something that they wish to allow Partners the chance to promote. A Campaign dictates what products/events/conversions can be promoted, and lets the Partners understand what Commission they would earn for generating sales/events/conversions. The Brand has complete control over their Campaigns and dictates which Partners they accept onto the Campaign to promote their services.
Return the details of all Campaigns attached to the Network account and visible to the authenticated User. The output is contextual based on the permissions of the User making the request to the endpoint. A limited Campaign schema will be utilised for any Campaign that the User does not have appropriate permissions to view.
network_id | string Example: network_id=11l100 ID of the network |
{- "campaigns": [
- {
- "campaign": {
- "advertiser_id": "10l110",
- "allow_deep_linking": "y",
- "allow_third_party_pixel": "y",
- "append_url_parameters": "",
- "associated_campaigns": "",
- "automated_invoicing_date": 4,
- "automated_invoicing_po_number": null,
- "auto_approve_publisher": "y",
- "auto_rejected_ips": null,
- "basket_value_cap": null,
- "budget_summary_interval": null,
- "budget_summary_start_time": null,
- "campaign_currency_conversions": [ ],
- "campaign_id": "10l176",
- "campaign_languages": null,
- "campaign_notes": "",
- "campaign_overloads": [ ],
- "commission_by_meta_label": "[ \"label 1\",\"label 2\" ]",
- "commission_by_meta": "[ \"field_1\",\"field_2\" ]",
- "commissions": [ ],
- "conversion_hiatus_period": 7,
- "conversion_type": "sale",
- "cookie_period": 0,
- "cookie_status": null,
- "default_commission_rate": "5",
- "default_currency": "GBP",
- "default_override": 10,
- "deferred_lead_submission": null,
- "description": {
- "en": "<p>Awesome new campaign</p>"
}, - "dont_consolidate": "y",
- "dont_invoice": "y",
- "extra_restricted_deep_linking": "",
- "force_approve_period": 0,
- "hidden_campaign": "y",
- "invoice_address_1": null,
- "invoice_address_2": null,
- "invoice_address_3": null,
- "invoice_address_4": null,
- "invoice_address_country": null,
- "invoice_address_postcode": null,
- "invoice_company": null,
- "invoice_contact": null,
- "invoice_only": null,
- "ip_tracking_time": 0,
- "is_cpc": "y",
- "lead_confirmation_url_fail": "",
- "lead_confirmation_url_success": "",
- "multiple_conversions_per_click": "n",
- "network_fee": null,
- "pay_publisher_directly": "y",
- "payment_date": null,
- "recurring_payment_setup": "y",
- "report_meta_purge_period": null,
- "reporting_timezone": "Australia/Sydney",
- "restricted_deep_linking": "y",
- "secure_tracking": "y",
- "status": "a",
- "terms": {
- "en": {
- "terms": "Important campaign terms and conditions"
}
}, - "test_mode": "y",
- "title": "PHG Aff Demo",
- "tq_auto_approve": 60,
- "tq_enabled": "y",
- "tq_enabled_publishers": "",
- "tracking_method": "s2s",
- "tracking_subdomain": null,
- "unique_conversion_refs": "y",
- "vertical_id": 10,
- "vertical_name": "Other",
- "week_start": "Monday",
- "advertiser_name": "Advertiser Name"
}
}
]
}
To create a new Campaign, the Brand must pass their associated advertiser_id
.
default_commission_rate | string |
advertiser_id required | string ID of the brand the campaign should belong to |
allow_deep_linking | string (YesOrNo) Enum: "y" "n" |
allow_third_party_pixel | string (YesOrNo) Enum: "y" "n" |
append_url_parameters | string |
associated_campaigns | string |
auto_rejected_ips | string Nullable |
campaign_icon | string Nullable Url of image to download. Supports PNG and JPEG only. |
campaign_icon_upload | string Nullable Base64 encoded data url of image to upload. Supports PNG and JPEG only. |
campaign_logo | string Nullable |
Array of objects Nullable | |
campaign_notes | string |
cookie_period | number |
default_currency | string Enum: "GBP" "USD" "EUR" "JPY" |
object Nullable | |
destination_url required | string |
hidden_campaign | string (YesOrNo) Enum: "y" "n" |
string or number | |
prepend_url_string | string Nullable Prepend all destination URLs |
secure_tracking | string (YesOrNo) Enum: "y" "n" |
object Nullable | |
test_mode | string (YesOrNo) Enum: "y" "n" |
title required | string |
tq_auto_approve | number |
tracking_method | string Enum: "pixel" "api" "s2s" |
unique_conversion_refs | string Enum: "y" "n" "ignore" |
vertical_id | number |
vertical_name | string |
{- "default_commission_value": "string",
- "advertiser_id": "10l110",
- "allow_deep_linking": "y",
- "allow_third_party_pixel": "y",
- "append_url_parameters": "",
- "associated_campaigns": "",
- "auto_rejected_ips": null,
- "campaign_overloads": [
- {
- "publisher_id": "11111l1",
- "append_url_parameters": "?a=b&c=d",
- "basket_value_cap": 10.01,
- "description": "Example",
- "hide_hybrid_from_publisher": "y",
- "is_cpc": "n",
- "test_mode": "y"
}
], - "campaign_notes": "",
- "cookie_period": 0,
- "default_commission_rate": "5",
- "default_currency": "GBP",
- "description": {
- "en": "<p>Awesome new campaign</p>"
}, - "hidden_campaign": "y",
- "multiple_conversions_per_click": "n",
- "secure_tracking": "y",
- "terms": {
- "en": {
- "terms": "Important campaign terms and conditions"
}
}, - "test_mode": "y",
- "title": "PHG Aff Demo",
- "tq_auto_approve": 60,
- "tracking_method": "s2s",
- "unique_conversion_refs": "y",
- "vertical_id": 10,
- "vertical_name": "Other"
}
{- "campaign": {
- "advertiser_id": "10l110",
- "allow_deep_linking": "y",
- "allow_third_party_pixel": "y",
- "append_url_parameters": "",
- "associated_campaigns": "",
- "automated_invoicing_date": 4,
- "automated_invoicing_po_number": null,
- "auto_approve_publisher": "y",
- "auto_rejected_ips": null,
- "budget_summary_interval": null,
- "budget_summary_start_time": null,
- "campaign_currency_conversions": [ ],
- "campaign_id": "10l176",
- "campaign_languages": null,
- "campaign_notes": "",
- "campaign_overloads": [ ],
- "commission_by_meta_label": "[ \"label 1\",\"label 2\" ]",
- "commission_by_meta": "[ \"field_1\",\"field_2\" ]",
- "commissions": [ ],
- "conversion_hiatus_period": 7,
- "conversion_type": "sale",
- "cookie_period": 0,
- "cookie_status": null,
- "default_commission_rate": "5",
- "default_currency": "GBP",
- "default_override": 10,
- "deferred_lead_submission": null,
- "description": {
- "en": "<p>Awesome new campaign</p>"
}, - "dont_consolidate": "y",
- "dont_invoice": "y",
- "extra_restricted_deep_linking": "",
- "force_approve_period": 0,
- "hidden_campaign": "y",
- "invoice_address_1": null,
- "invoice_address_2": null,
- "invoice_address_3": null,
- "invoice_address_4": null,
- "invoice_address_country": null,
- "invoice_address_postcode": null,
- "invoice_company": null,
- "invoice_contact": null,
- "invoice_only": null,
- "ip_tracking_time": 0,
- "is_cpc": "y",
- "lead_confirmation_url_fail": "",
- "lead_confirmation_url_success": "",
- "multiple_conversions_per_click": "n",
- "network_fee": null,
- "pay_publisher_directly": "y",
- "payment_date": null,
- "promotional_countries": [
- {
- "iso": "US",
- "name": "United States"
}, - {
- "iso": "GB",
- "name": "United Kingdom"
}
], - "recurring_payment_setup": "y",
- "report_meta_purge_period": null,
- "reporting_timezone": "Australia/Sydney",
- "restricted_deep_linking": "y",
- "secure_tracking": "y",
- "status": "a",
- "terms": {
- "en": {
- "terms": "Important campaign terms and conditions"
}
}, - "test_mode": "y",
- "title": "PHG Aff Demo",
- "tq_auto_approve": 60,
- "tq_enabled": "y",
- "tq_enabled_publishers": "",
- "tracking_method": "s2s",
- "tracking_subdomain": null,
- "unique_conversion_refs": "y",
- "vertical_id": 10,
- "vertical_name": "Other",
- "week_start": "Monday",
- "advertiser_name": "Advertiser Name"
}
}
Outputs the specified Campaign.
campaign_id required | string Example: 10l176 ID of the campaign |
{- "campaign": {
- "advertiser_id": "10l110",
- "allow_deep_linking": "y",
- "allow_third_party_pixel": "y",
- "append_url_parameters": "",
- "associated_campaigns": "",
- "automated_invoicing_date": 4,
- "automated_invoicing_po_number": null,
- "auto_approve_publisher": "y",
- "auto_rejected_ips": null,
- "budget_summary_interval": null,
- "budget_summary_start_time": null,
- "campaign_currency_conversions": [ ],
- "campaign_id": "10l176",
- "campaign_languages": null,
- "campaign_notes": "",
- "campaign_overloads": [ ],
- "commission_by_meta_label": "[ \"label 1\",\"label 2\" ]",
- "commission_by_meta": "[ \"field_1\",\"field_2\" ]",
- "commissions": [ ],
- "conversion_hiatus_period": 7,
- "conversion_type": "sale",
- "cookie_period": 0,
- "cookie_status": null,
- "default_commission_rate": "5",
- "default_currency": "GBP",
- "default_override": 10,
- "deferred_lead_submission": null,
- "description": {
- "en": "Awesome new campaign"
}, - "dont_consolidate": "y",
- "dont_invoice": "y",
- "extra_restricted_deep_linking": "",
- "force_approve_period": 0,
- "hidden_campaign": "y",
- "invoice_address_1": null,
- "invoice_address_2": null,
- "invoice_address_3": null,
- "invoice_address_4": null,
- "invoice_address_country": null,
- "invoice_address_postcode": null,
- "invoice_company": null,
- "invoice_contact": null,
- "invoice_only": null,
- "ip_tracking_time": 0,
- "is_cpc": "y",
- "lead_confirmation_url_fail": "",
- "lead_confirmation_url_success": "",
- "multiple_conversions_per_click": "n",
- "network_fee": null,
- "pay_publisher_directly": "y",
- "payment_date": null,
- "promotional_countries": [
- {
- "iso": "US",
- "name": "United States"
}, - {
- "iso": "GB",
- "name": "United Kingdom"
}
], - "recurring_payment_setup": "y",
- "report_meta_purge_period": null,
- "reporting_timezone": "Australia/Sydney",
- "restricted_deep_linking": "y",
- "secure_tracking": "y",
- "status": "a",
- "terms": {
- "en": {
- "terms": "Important campaign terms and conditions"
}
}, - "test_mode": "y",
- "title": "PHG Aff Demo",
- "tq_auto_approve": 60,
- "tq_enabled": "y",
- "tq_enabled_publishers": "",
- "tracking_method": "s2s",
- "tracking_subdomain": null,
- "unique_conversion_refs": "y",
- "vertical_id": 10,
- "vertical_name": "Other",
- "week_start": "Monday",
- "advertiser_name": "Advertiser Name"
}
}
To delete a specific campaign, you must pass 3 required parameters:
'action' => 'delete'
'campaign_id' => ''
'retire_reason' => 'some excuse'
.
campaign_id required | string Example: 10l176 ID of the campaign |
action required | string |
campaign_id required | string ID of the campaign |
retire_reason required | string |
{- "action": "delete",
- "campaign_id": "10l176",
- "retire_reason": "No longer needed"
}
{- "campaign": {
- "advertiser_id": "10l110",
- "allow_deep_linking": "y",
- "allow_third_party_pixel": "y",
- "append_url_parameters": "",
- "associated_campaigns": "",
- "automated_invoicing_date": 4,
- "automated_invoicing_po_number": null,
- "auto_approve_publisher": "y",
- "auto_rejected_ips": null,
- "budget_summary_interval": null,
- "budget_summary_start_time": null,
- "campaign_currency_conversions": [ ],
- "campaign_id": "10l176",
- "campaign_languages": null,
- "campaign_notes": "",
- "campaign_overloads": [ ],
- "commission_by_meta_label": "[ \"label 1\",\"label 2\" ]",
- "commission_by_meta": "[ \"field_1\",\"field_2\" ]",
- "commissions": [ ],
- "conversion_hiatus_period": 7,
- "conversion_type": "sale",
- "cookie_period": 0,
- "cookie_status": null,
- "default_commission_rate": "5",
- "default_currency": "GBP",
- "default_override": 10,
- "deferred_lead_submission": null,
- "description": {
- "en": "Awesome new campaign"
}, - "dont_consolidate": "y",
- "dont_invoice": "y",
- "extra_restricted_deep_linking": "",
- "force_approve_period": 0,
- "hidden_campaign": "y",
- "invoice_address_1": null,
- "invoice_address_2": null,
- "invoice_address_3": null,
- "invoice_address_4": null,
- "invoice_address_country": null,
- "invoice_address_postcode": null,
- "invoice_company": null,
- "invoice_contact": null,
- "invoice_only": null,
- "ip_tracking_time": 0,
- "is_cpc": "y",
- "lead_confirmation_url_fail": "",
- "lead_confirmation_url_success": "",
- "multiple_conversions_per_click": "n",
- "network_fee": null,
- "pay_publisher_directly": "y",
- "payment_date": null,
- "recurring_payment_setup": "y",
- "report_meta_purge_period": null,
- "reporting_timezone": "Australia/Sydney",
- "restricted_deep_linking": "y",
- "secure_tracking": "y",
- "status": "a",
- "terms": {
- "en": {
- "terms": "Important campaign terms and conditions"
}
}, - "test_mode": "y",
- "title": "PHG Aff Demo",
- "tq_auto_approve": 60,
- "tq_enabled": "y",
- "tq_enabled_publishers": "",
- "tracking_method": "s2s",
- "tracking_subdomain": null,
- "unique_conversion_refs": "y",
- "vertical_id": 10,
- "vertical_name": "Other",
- "week_start": "Monday"
}, - "status": {
- "campaign_id": "10l176",
- "message": "Campaign successfully deleted",
- "retire_reason": "No longer needed",
- "status": "Deleted"
}
}
Update the specified Campaign.
campaign_id required | string Example: 10l176 ID of the campaign |
campaign_icon | string Nullable Url of image to download. Supports PNG and JPEG only. |
campaign_id required | string ID of the campaign |
destination_url | string <uri> non-empty |
title | string [ 5 .. 45 ] characters |
object | |
Array of objects | |
associated_campaigns | string |
auto_rejected_ips | string Comma separated list |
campaign_notes | string |
Array of objects Nullable | |
week_start | string Enum: "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday" "Sunday" |
vertical_id | string |
default_currency | string |
string or integer | |
unique_conversion_refs | string Enum: "y" "n" "ignore" |
reporting_timezone | string |
tracking_method | string Enum: "pixel" "s2s" "api" |
deeplink_method | string Enum: "standard" "direct" |
cookie_period | integer >= 0 |
tq_auto_approve | integer >= 0 |
campaign_logo | string <uri> |
short_link_subdomain | string non-empty |
app_tracking_provider | string Enum: "branch" "partnerize" |
app_tracking_provider_tracking_link | string |
test_mode | string Enum: "y" "n" |
hidden_campaign | string Enum: "y" "n" |
allow_deep_linking | string Enum: "y" "n" |
allow_third_party_pixel | string Enum: "y" "n" |
secure_tracking | string Enum: "y" "n" |
is_cpc | string Enum: "y" "n" |
append_url_parameters | string |
prepend_url_string | string <uri> |
object | |
object |
{- "campaign_icon_upload": "data:image/png;base64,...",
- "campaign_id": "10l176",
- "title": "PHG Aff Demo",
- "terms": {
- "en": {
- "terms": "terms for the en locale"
}
}, - "promotional_countries": [
- {
- "iso": "GB"
}
], - "associated_campaigns": "string",
- "auto_rejected_ips": "1.1.1.1,2.2.2.2",
- "campaign_notes": "string",
- "campaign_overloads": [
- {
- "publisher_id": "string",
- "append_url_parameters": "?a=b&c=d",
- "basket_value_cap": 10.01,
- "default_destination": "string",
- "description": "string",
- "hide_hybrid_from_publisher": "y",
- "is_cpc": "y",
- "test_mode": "y"
}
], - "week_start": "Monday",
- "vertical_id": "string",
- "default_currency": "GBP",
- "multiple_conversions_per_click": "y",
- "unique_conversion_refs": "y",
- "reporting_timezone": "Australia/Melbourne",
- "tracking_method": "pixel",
- "deeplink_method": "standard",
- "cookie_period": 0,
- "tq_auto_approve": 0,
- "short_link_subdomain": "string",
- "app_tracking_provider": "branch",
- "app_tracking_provider_tracking_link": "string",
- "test_mode": "y",
- "hidden_campaign": "y",
- "allow_deep_linking": "y",
- "allow_third_party_pixel": "y",
- "secure_tracking": "y",
- "is_cpc": "y",
- "append_url_parameters": "string",
- "description": {
- "en": "string"
},
}
{- "campaign": {
- "advertiser_id": "10l110",
- "allow_deep_linking": "y",
- "allow_third_party_pixel": "y",
- "append_url_parameters": "",
- "associated_campaigns": "",
- "automated_invoicing_date": 4,
- "automated_invoicing_po_number": null,
- "auto_approve_publisher": "y",
- "auto_rejected_ips": null,
- "budget_summary_interval": null,
- "budget_summary_start_time": null,
- "campaign_currency_conversions": [ ],
- "campaign_id": "10l176",
- "campaign_languages": null,
- "campaign_notes": "",
- "campaign_overloads": [ ],
- "commission_by_meta_label": "[ \"label 1\",\"label 2\" ]",
- "commission_by_meta": "[ \"field_1\",\"field_2\" ]",
- "commissions": [ ],
- "conversion_hiatus_period": 7,
- "conversion_type": "sale",
- "cookie_period": 0,
- "cookie_status": null,
- "default_commission_rate": "5",
- "default_currency": "GBP",
- "default_override": 10,
- "deferred_lead_submission": null,
- "description": {
- "en": "Awesome new campaign"
}, - "dont_consolidate": "y",
- "dont_invoice": "y",
- "extra_restricted_deep_linking": "",
- "force_approve_period": 0,
- "hidden_campaign": "y",
- "invoice_address_1": null,
- "invoice_address_2": null,
- "invoice_address_3": null,
- "invoice_address_4": null,
- "invoice_address_country": null,
- "invoice_address_postcode": null,
- "invoice_company": null,
- "invoice_contact": null,
- "invoice_only": null,
- "ip_tracking_time": 0,
- "is_cpc": "y",
- "lead_confirmation_url_fail": "",
- "lead_confirmation_url_success": "",
- "multiple_conversions_per_click": "n",
- "network_fee": null,
- "pay_publisher_directly": "y",
- "payment_date": null,
- "recurring_payment_setup": "y",
- "report_meta_purge_period": null,
- "reporting_timezone": "Australia/Sydney",
- "restricted_deep_linking": "y",
- "secure_tracking": "y",
- "status": "a",
- "terms": {
- "en": {
- "terms": "terms for the locale"
}
}, - "test_mode": "y",
- "title": "PHG Aff Demo",
- "tq_auto_approve": 60,
- "tq_enabled": "y",
- "tq_enabled_publishers": "",
- "tracking_method": "s2s",
- "tracking_subdomain": null,
- "unique_conversion_refs": "y",
- "vertical_id": 10,
- "vertical_name": "Other",
- "week_start": "Monday"
}
}
This endpoint will output a listing of all Campaigns that reside under the provided Brand on the Network and the output is contextual based on the permissions of the User making the request to the endpoint. A limited Campaign schema will be utilised for any Campaign that the User does not have appropriate permissions to view.
advertiser_id required | string Example: 10l110 ID of the brand |
{- "campaigns": [
- {
- "campaign": {
- "advertiser_id": "10l110",
- "allow_deep_linking": "y",
- "allow_third_party_pixel": "y",
- "append_url_parameters": "",
- "associated_campaigns": "",
- "automated_invoicing_date": 4,
- "automated_invoicing_po_number": null,
- "auto_approve_publisher": "y",
- "auto_rejected_ips": null,
- "budget_summary_interval": null,
- "budget_summary_start_time": null,
- "campaign_currency_conversions": [ ],
- "campaign_id": "10l176",
- "campaign_languages": null,
- "campaign_notes": "",
- "campaign_overloads": [ ],
- "commission_by_meta_label": "[ \"label 1\",\"label 2\" ]",
- "commission_by_meta": "[ \"field_1\",\"field_2\" ]",
- "commissions": [ ],
- "conversion_hiatus_period": 7,
- "conversion_type": "sale",
- "cookie_period": 0,
- "cookie_status": null,
- "default_commission_rate": "5",
- "default_currency": "GBP",
- "default_override": 10,
- "deferred_lead_submission": null,
- "description": {
- "en": "Awesome new campaign"
}, - "dont_consolidate": "y",
- "dont_invoice": "y",
- "extra_restricted_deep_linking": "",
- "force_approve_period": 0,
- "hidden_campaign": "y",
- "invoice_address_1": null,
- "invoice_address_2": null,
- "invoice_address_3": null,
- "invoice_address_4": null,
- "invoice_address_country": null,
- "invoice_address_postcode": null,
- "invoice_company": null,
- "invoice_contact": null,
- "invoice_only": null,
- "ip_tracking_time": 0,
- "is_cpc": "y",
- "lead_confirmation_url_fail": "",
- "lead_confirmation_url_success": "",
- "multiple_conversions_per_click": "n",
- "network_fee": null,
- "pay_publisher_directly": "y",
- "payment_date": null,
- "recurring_payment_setup": "y",
- "report_meta_purge_period": null,
- "reporting_timezone": "Australia/Sydney",
- "restricted_deep_linking": "y",
- "secure_tracking": "y",
- "status": "a",
- "terms": {
- "en": {
- "terms": "Important campaign terms and conditions"
}
}, - "test_mode": "y",
- "title": "PHG Aff Demo",
- "tq_auto_approve": 60,
- "tq_enabled": "y",
- "tq_enabled_publishers": "",
- "tracking_method": "s2s",
- "tracking_subdomain": null,
- "unique_conversion_refs": "y",
- "vertical_id": 10,
- "vertical_name": "Other",
- "week_start": "Monday"
}
}
], - "count": 5,
- "execution_time": "0.08001 seconds"
}
Before Partners can generate conversions for a Campaign, they must be approved to do so. A Partner can apply to be part of a Campaign, or the Brand can choose to add the Partner(s) of their choice to their own Campaign. Furthermore, if a Brand has stipulated their own unique set of Campaign Terms and Conditions, the Partner must explicitly agree to these if they are to be fully approved on the Campaign.
View all Partners Participating on the Campaign.
campaign_id required | string Example: 10l176 ID of the campaign |
{- "publishers": [
- {
- "publisher": {
- "abn": null,
- "account_name": "partner123",
- "campaign_custom_terms_and_conditions_id": "10l176",
- "campaign_custom_terms_and_conditions_title": "Some fancy title",
- "campaign_select": null,
- "campaign_status": "a",
- "company_division": null,
- "company_name": "Demo Partner",
- "contact_email": "demo@partnerize.com",
- "contact_locale": "bg",
- "contact_name": "John Smith",
- "databases": [
- {
- "active": "y",
- "creation_method": "Email",
- "database_id": "111111l300347",
- "database_name": "Partnerize Database",
- "female": 50,
- "male": 50,
- "max_age": 77,
- "min_age": 25,
- "publisher_id": "1l1007802",
- "size": 53000
}
], - "default_currency": "GBP",
- "description": null,
- "foreign_identifier": null,
- "gst_registered": null,
- "im_provider": "Skype",
- "im_username": "elisangis",
- "is_affiliate_user": "y",
- "is_foreign_network": "y",
- "is_lead_user": "y",
- "legal_entity": "GB",
- "network_id": "1l1000003",
- "network_notes": null,
- "network_status": "a",
- "operating_country": "GB",
- "phone": "01595725007",
- "phone_area": "+44",
- "promotional_method": 10,
- "promotional_method_name": "Portal",
- "publisher_id": "1l1007802",
- "reporting_identifier": null,
- "reporting_timezone": "Australia/Sydney",
- "signup_ip": "178.23.129.160",
- "uk_vat_registered": "y",
- "us_tax_state": null,
- "vat_number": 974997534,
- "vertical": 10,
- "vertical_name": "Other",
- "websites": [
- {
- "active": "y",
- "primary": "n",
- "description": "Demo Partner website",
- "publisher_id": "1l1007802",
- "website_country": "GB",
- "website_id": "11l18694",
- "website_name": null,
- "website_type": 9,
- "website_type_name": "PPC",
- "website_vertical": 10,
- "website_vertical_name": "Technical"
}
], - "week_start": "Monday"
}
}
]
}
Add new Campaign participations by passing each publisher_id
along with the relevant campaign_status
in an
object within a publishers
array.
campaign_id required | string Example: 10l176 ID of the campaign |
Array of objects |
{- "publishers": [
- {
- "campaign_status": "a",
- "publisher_id": "1l1007802"
}
]
}
{- "publishers": [
- {
- "publisher": {
- "abn": null,
- "account_name": "partner123",
- "campaign_custom_terms_and_conditions_id": "10l176",
- "campaign_custom_terms_and_conditions_title": "Some fancy title",
- "campaign_select": null,
- "campaign_status": "a",
- "company_division": null,
- "company_name": "Demo Partner",
- "contact_email": "demo@partnerize.com",
- "contact_locale": "bg",
- "contact_name": "John Smith",
- "databases": [
- {
- "active": "y",
- "creation_method": "Email",
- "database_id": "111111l300347",
- "database_name": "Partnerize Database",
- "female": 50,
- "male": 50,
- "max_age": 77,
- "min_age": 25,
- "publisher_id": "1l1007802",
- "size": 53000
}
], - "default_currency": "GBP",
- "description": null,
- "foreign_identifier": null,
- "gst_registered": null,
- "im_provider": "Skype",
- "im_username": "elisangis",
- "is_affiliate_user": "y",
- "is_foreign_network": "y",
- "is_lead_user": "y",
- "legal_entity": "GB",
- "network_id": "1l1000003",
- "network_notes": null,
- "network_status": "a",
- "operating_country": "GB",
- "phone": "01595725007",
- "phone_area": "+44",
- "promotional_method": 10,
- "promotional_method_name": "Portal",
- "publisher_id": "1l1007802",
- "reporting_identifier": null,
- "reporting_timezone": "Australia/Sydney",
- "signup_ip": "178.23.129.160",
- "uk_vat_registered": "y",
- "us_tax_state": null,
- "vat_number": 974997534,
- "vertical": 10,
- "vertical_name": "Other",
- "websites": [
- {
- "active": "y",
- "primary": "n",
- "description": "Demo Partner website",
- "publisher_id": "1l1007802",
- "website_country": "GB",
- "website_id": "11l18694",
- "website_name": null,
- "website_type": 9,
- "website_type_name": "PPC",
- "website_vertical": 10,
- "website_vertical_name": "Technical"
}
], - "week_start": "Monday"
}
}
]
}
View a specific Participating Partner.
campaign_id required | string Example: 10l176 ID of the Campaign |
publisher_id required | string Example: 1l1007802 ID of the Partner |
{- "publishers": [
- {
- "publisher": {
- "abn": null,
- "account_name": "partner123",
- "campaign_custom_terms_and_conditions_id": "10l176",
- "campaign_custom_terms_and_conditions_title": "Some fancy title",
- "campaign_select": null,
- "campaign_status": "a",
- "company_division": null,
- "company_name": "Demo Partner",
- "contact_email": "demo@partnerize.com",
- "contact_locale": "bg",
- "contact_name": "John Smith",
- "databases": [
- {
- "active": "y",
- "creation_method": "Email",
- "database_id": "111111l300347",
- "database_name": "Partnerize Database",
- "female": 50,
- "male": 50,
- "max_age": 77,
- "min_age": 25,
- "publisher_id": "1l1007802",
- "size": 53000
}
], - "default_currency": "GBP",
- "description": null,
- "foreign_identifier": null,
- "gst_registered": null,
- "im_provider": "Skype",
- "im_username": "elisangis",
- "is_affiliate_user": "y",
- "is_foreign_network": "y",
- "is_lead_user": "y",
- "legal_entity": "GB",
- "network_id": "1l1000003",
- "network_notes": null,
- "network_status": "a",
- "operating_country": "GB",
- "phone": "01595725007",
- "phone_area": "+44",
- "promotional_method": 10,
- "promotional_method_name": "Portal",
- "publisher_id": "1l1007802",
- "reporting_identifier": null,
- "reporting_timezone": "Australia/Sydney",
- "signup_ip": "178.23.129.160",
- "uk_vat_registered": "y",
- "us_tax_state": null,
- "vat_number": 974997534,
- "vertical": 10,
- "vertical_name": "Other",
- "websites": [
- {
- "active": "y",
- "primary": "n",
- "description": "Demo Partner website",
- "publisher_id": "1l1007802",
- "website_country": "GB",
- "website_id": "11l18694",
- "website_name": null,
- "website_type": 9,
- "website_type_name": "PPC",
- "website_vertical": 10,
- "website_vertical_name": "Technical"
}
], - "week_start": "Monday"
}
}
]
}
A Campaign owner can organise Partners into Partner Groups, also known as Commission Groups. These Groups can be used for Reporting purposes, Commission offers and Voucher Code allocation.
View all Partner (Commission) Groups for a campaign with all associated partners.
campaign_id required | string Example: 10l176 ID of the campaign |
{- "commission_groups": [
- {
- "commission_group": {
- "active": "y",
- "campaign_id": "10l176",
- "commission_group_id": "10l169",
- "description": "",
- "end_date_time": "2013-09-30 15:00:00",
- "last_modified": "2015-04-10 01:59:54",
- "name": "Fansites 3 percent",
- "publishers": [
- "100l06",
- "100l08"
], - "start_date_time": "2013-08-31 15:00:00"
}
}
]
}
Retrieves the specified Partner (Commission) Group.
campaign_id required | string Example: 10l176 ID of the campaign |
commission_group_id required | string Example: 10l169 ID of the Partner (Commission) group |
{- "commission_group": {
- "active": "y",
- "campaign_id": "10l176",
- "commission_group_id": "10l169",
- "description": "",
- "end_date_time": "2013-09-30 15:00:00",
- "last_modified": "2015-04-10 01:59:54",
- "name": "Fansites 3 percent",
- "publishers": [
- "100l06",
- "100l08"
], - "start_date_time": "2013-08-31 15:00:00"
}
}
Create new Partner (Commission) Groups. To add Partners into the Partner (Commission) Group pass them in a publishers
array.
commission_groups | array |
{- "commission_groups": [
- {
- "campaign_id": "10l176",
- "description": "",
- "end_date_time": "2013-09-30 15:00:00",
- "name": "Top Sites 2 percent",
- "publishers": [
- "100l06",
- "100l08"
], - "start_date_time": "2013-08-31 15:00:00"
}
]
}
{- "commission_group": {
- "active": "y",
- "campaign_id": "10l176",
- "commission_group_id": "10l169",
- "description": "",
- "end_date_time": "2013-09-30 15:00:00",
- "last_modified": "2015-04-10 01:59:54",
- "name": "Fansites 3 percent",
- "publishers": [
- "100l06",
- "100l08"
], - "start_date_time": "2013-08-31 15:00:00"
}
}
Update Partner (Commission) Groups by referencing the commission_group_id
in each Group object within the commission_groups
array.
commission_groups | array |
{- "commission_groups": [
- {
- "campaign_id": "10l176",
- "commission_group_id": "10l169",
- "description": "",
- "end_date_time": "2013-09-30 15:00:00",
- "name": "Top Sites 4 percent",
- "publishers": [
- "100l06",
- "100l08"
], - "start_date_time": "2013-08-31 15:00:00"
}
]
}
{- "commission_group": {
- "active": "y",
- "campaign_id": "10l176",
- "commission_group_id": "10l169",
- "description": "",
- "end_date_time": "2013-09-30 15:00:00",
- "last_modified": "2015-04-10 01:59:54",
- "name": "Fansites 3 percent",
- "publishers": [
- "100l06",
- "100l08"
], - "start_date_time": "2013-08-31 15:00:00"
}
}
Manage partner specific terms and conditions. You can use this group of endpoints to create custom terms and conditions for certain partners.
Creates Custom Terms and Conditions for a given campaign and associates them with the provided partners.
campaign_id required | string ID of the campaign |
publisher_id required | Array of strings a list of partner ids to associate with the custom terms and conditions. The list needs to contain at least one valid partner id. |
title required | string title of the custom terms and conditions |
terms required | string the custom terms and conditions content |
locale | string (Locale) Enum: "bg" "cs" "da" "de" "de_at" "en" "en_au" "en_ca" "en_us" "es" "es_mx" "el" "et" "fi" "fl" "fr" "fr_ca" "hu" "id" "it" "jp" "ko" "ko_kr" "lt" "lv" "ms_my" "mt" "my" "nl" "no" "pl" "po" "pt" "pt_br" "ro" "ru" "sg" "sk" "sl" "sv" "sv_se" "th" "tl" "tr" "vi" "zh_cn" "zh_hk" |
{- "publisher_id": [
- "21",
- "250001",
- "3",
- "300009",
- "4d00ecdbe65e6",
- "4d0122781f1f6",
- "4d012e7a77288"
], - "title": "Terms and conditions title",
- "terms": "Terms and conditions content",
- "locale": "pl"
}
{- "execution_time": "1.05973 seconds",
- "custom_terms": [
- {
- "campaign_custom_terms_and_conditions_id": "111111l43",
- "title": "Terms and conditions title",
- "terms": "Terms and conditions content",
- "created": "2019-05-29 09:18:17",
- "campaign_id": "10l176",
- "locale": "pl",
- "active": "y"
}
]
}
List All Custom Terms and Conditions for given campaign
campaign_id required | string ID of the campaign |
{- "execution_time": "1.05973 seconds",
- "custom_terms": [
- {
- "campaign_custom_terms_and_conditions_id": "111111l43",
- "title": "Terms and conditions title",
- "terms": "Terms and conditions content",
- "created": "2019-05-29 09:18:17",
- "campaign_id": "10l176",
- "locale": "pl",
- "active": "y",
- "publishers": [ ]
}
]
}
List Terms and Conditions for a Partner on the specified campaign.
campaign_id required | string ID of the campaign |
publisher_id required | string ID of the Partner |
{- "execution_time": "1.05973 seconds",
- "custom_terms": [
- {
- "campaign_custom_terms_and_conditions_id": "111111l43",
- "title": "Terms and conditions title",
- "terms": "Terms and conditions content",
- "created": "2019-05-29 09:18:17",
- "campaign_id": "10l176",
- "locale": "pl",
- "active": "y",
- "publisher_id": "1",
- "approved": "null",
- "agreed_latest_terms": "n",
- "status": "a"
}
]
}
Delete Campaign Terms and Conditions for a given campaign.
campaign_id required | string ID of the Campaign |
custom_terms_id required | string Id of the Campaign Terms and Conditions to delete |
{- "execution_time": "1.05973 seconds",
- "custom_terms": [
- {
- "removed_terms": 1
}
]
}
Associate the Custom Terms and Conditions with a list of Partners.
campaign_id required | string ID of the Campaign |
custom_terms_id required | string ID of Campaign Terms and Conditions to associate with a list of Partners |
publisher_id required | Array of strings IDs of Partners |
{- "publisher_id": [
- "4d00ecdbe65e6",
- "4d0122781f1f6",
- "4d012e7a77288"
]
}
{- "execution_time": "1.05973 seconds",
- "custom_terms": [
- {
- "campaign_custom_terms_and_conditions_id": "111111l43",
- "title": "Terms and conditions title",
- "terms": "Terms and conditions content",
- "created": "2019-05-29 09:18:17",
- "campaign_id": "10l176",
- "locale": "pl",
- "active": "y",
- "publishers": [ ]
}
]
}
Remove associations between the Custom Terms and Conditions and a list of Partners. If all associations are removed successfully a 200 OK
status code response is returned. In the cases where there were errors a 207 Multi-status
response is returned and the body of the response will contain the list of errors for the failed ones.
campaign_id required | string ID of the Campaign |
custom_terms_id required | string ID of Campaign Terms and Conditions to associate with a list of Partners |
publisher_id required | Array of strings IDs of Partners |
{- "publisher_id": [
- "4d00ecdbe65e6",
- "4d0122781f1f6",
- "4d012e7a77288"
]
}
{- "execution_time": "1.05973 seconds",
- "custom_terms": [
- {
- "removed_associations": 1
}
]
}
A Voucher references a coupon code, or voucher code which the Brand offers to their customers to usually perform a price discount at the end of the transaction. Specific rules can be set to defined Vouchers ensuring that only valid codes can be used and can also be restricted to specific Partners.
View all Voucher Codes associated with the Campaign.
campaign_id required | string Example: 10l176 ID of the Campaign |
{- "voucher_codes": [
- {
- "voucher_code": {
- "active": "y",
- "campaign_id": "10l176",
- "commission_groups": [ ],
- "description": "",
- "end_date_time": "2013-09-30 15:00:00",
- "on_expiry": "ignore",
- "on_invalid_user": "ignore",
- "start_date_time": "2013-08-31 15:00:00",
- "voucher_code": "promocode",
- "voucher_code_id": "111111l1000015"
}
}
]
}
Create new Vouchers by passing each Voucher object within a voucher_codes
array. A voucher_code
string to define
the actual code must be passed with each object, and to allocate the Voucher to specific Groups, pass the Group ids
in a commission_groups
array.
campaign_id required | string Example: 10l176 ID of the Campaign |
Array of objects |
{- "voucher_codes": [
- {
- "commission_groups": [ ],
- "description": "",
- "end_date_time": "2013-09-30 15:00:00",
- "start_date_time": "2013-08-31 15:00:00",
- "voucher_code": "specialoffer69"
}
]
}
{- "voucher_code": {
- "active": "y",
- "campaign_id": "10l176",
- "commission_groups": [ ],
- "description": "",
- "end_date_time": "2013-09-30 15:00:00",
- "on_expiry": "ignore",
- "on_invalid_user": "ignore",
- "start_date_time": "2013-08-31 15:00:00",
- "voucher_code": "promocode",
- "voucher_code_id": "111111l1000015"
}
}
Update Vouchers by referencing the voucher_code_id
in each Group object within the voucher_codes
array.
campaign_id required | string Example: 10l176 ID of the Campaign |
Array of objects |
{- "voucher_codes": [
- {
- "commission_groups": [ ],
- "description": "",
- "end_date_time": "2013-09-30 15:00:00",
- "start_date_time": "2013-08-31 15:00:00",
- "voucher_code": "promocode",
- "voucher_code_id": "111111l1000015"
}
]
}
{- "voucher_code": {
- "active": "y",
- "campaign_id": "10l176",
- "commission_groups": [ ],
- "description": "",
- "end_date_time": "2013-09-30 15:00:00",
- "on_expiry": "ignore",
- "on_invalid_user": "ignore",
- "start_date_time": "2013-08-31 15:00:00",
- "voucher_code": "promocode",
- "voucher_code_id": "111111l1000015"
}
}
Outputs the specified Voucher Code.
campaign_id required | string Example: 10l176 ID of the Campaign |
voucher_code_id required | string Example: 111111l1000015 ID of the voucher code |
{- "voucher_code": {
- "active": "y",
- "campaign_id": "10l176",
- "commission_groups": [ ],
- "description": "",
- "end_date_time": "2013-09-30 15:00:00",
- "on_expiry": "ignore",
- "on_invalid_user": "ignore",
- "start_date_time": "2013-08-31 15:00:00",
- "voucher_code": "promocode",
- "voucher_code_id": "111111l1000015"
}
}
A Brand may wish to offer pre-generated Creative so that the Partners can advertise the Brand easily. It is possible to categorise Creative with tags and there are 3 distinct Creative formats: Image, HTML and Text. Brands can organise their Creatives in a flexible structure by using Creative Tags.
List and view all Creatives for the specified Campaign.
campaign_id required | string Example: 10l176 ID of the Campaign |
{- "creatives": [
- {
- "creative": {
- "tags": "",
- "active": "y",
- "advertiser_reference": "Promotion July 2020",
- "campaign_id": "10l176",
- "created_at": "2016-04-07 04:21:51",
- "created_by": "300621",
- "creative_id": "300441",
- "creative_items": [
- {
- "tags": "",
- "active": "y",
- "campaign_id": "10l176",
- "content_type": "image/jpeg",
- "created_at": "2016-04-07 04:21:51",
- "created_by": "300621",
- "creative_item_id": "300396",
- "creative_type_id": 1,
- "custom_append_url_parameters": "",
- "custom_prepend_url_parameters": "",
- "description": "",
- "filename": "4fdf4b3879da1funny-animals-page.jpg",
- "specific_destination": ""
}
], - "creative_tracking_link": "",
- "creative_tracking_link_rotate": "",
- "creative_type_id": 1,
- "custom_append_url_parameters": "",
- "custom_prepend_url_parameters": "",
- "default_specific_creative_id": "300396",
- "description": "Demo Text",
- "dynamic_tracking_link": "",
- "end_date_time": "2013-09-30 15:00:00",
- "height": 360,
- "html_tracking_link": "",
- "limits": "",
- "start_date_time": "2013-08-31 15:00:00",
- "width": 400
}
}
]
}
Create one or more Creatives against the Campaign entity. Each Creative is sent as an array within a top level creatives
array.
campaign_id required | string Example: 10l176 ID of the Campaign |
Array of objects (Creative_Wrapper) |
{- "creatives": [
- {
- "tags": "",
- "active": "y",
- "advertiser_reference": "Promotion July 2016",
- "campaign_id": "10l176",
- "creative_items": [
- {
- "tags": "",
- "active": "y",
- "campaign_id": "10l176",
- "content_type": "image/jpeg",
- "created_at": "2016-04-07 04:21:51",
- "created_by": "300621",
- "creative_item_id": "300396",
- "creative_type_id": 1,
- "custom_append_url_parameters": "",
- "custom_prepend_url_parameters": "",
- "description": "",
- "filename": "4fdf4b3879da1funny-animals-page.jpg",
- "specific_destination": ""
}
], - "creative_tracking_link": "",
- "creative_tracking_link_rotate": "",
- "creative_type_id": 1,
- "custom_append_url_parameters": "",
- "custom_prepend_url_parameters": "",
- "default_specific_creative_id": "300396",
- "description": "Demo Text",
- "dynamic_tracking_link": "",
- "end_date_time": "2013-09-30 15:00:00",
- "height": 360,
- "html_tracking_link": "",
- "limits": "",
- "start_date_time": "2013-08-31 15:00:00",
- "width": 400
}
]
}
{- "creatives": [
- {
- "creative": {
- "tags": "",
- "active": "y",
- "advertiser_reference": "Promotion July 2016",
- "campaign_id": "10l176",
- "created_at": "2016-04-07 04:21:51",
- "created_by": "300621",
- "creative_id": "300441",
- "creative_items": [
- {
- "tags": "",
- "active": "y",
- "campaign_id": "10l176",
- "content_type": "image/jpeg",
- "created_at": "2016-04-07 04:21:51",
- "created_by": "300621",
- "creative_item_id": "300396",
- "creative_type_id": 1,
- "custom_append_url_parameters": "",
- "custom_prepend_url_parameters": "",
- "description": "",
- "filename": "4fdf4b3879da1funny-animals-page.jpg",
- "specific_destination": ""
}
], - "creative_tracking_link": "",
- "creative_tracking_link_rotate": "",
- "creative_type_id": 1,
- "custom_append_url_parameters": "",
- "custom_prepend_url_parameters": "",
- "default_specific_creative_id": "300396",
- "description": "Demo Text",
- "dynamic_tracking_link": "",
- "end_date_time": "2013-09-30 15:00:00",
- "height": 360,
- "html_tracking_link": "",
- "limits": "",
- "start_date_time": "2013-08-31 15:00:00",
- "width": 400
}
}
]
}
Update one or more Creatives against the Campaign entity. Each Creative is sent as an array within a top level creatives
array and must contain its associated creative_id
.
campaign_id required | string Example: 10l176 ID of the campaign |
Array of objects (Creative_Wrapper) |
{- "creatives": [
- {
- "tags": "",
- "active": "y",
- "advertiser_reference": "Promotion July 2016",
- "campaign_id": "10l176",
- "creative_id": "300441",
- "creative_items": [
- {
- "tags": "",
- "active": "y",
- "campaign_id": "10l176",
- "content_type": "image/jpeg",
- "created_at": "2016-04-07 04:21:51",
- "created_by": "300621",
- "creative_item_id": "300396",
- "creative_type_id": 1,
- "custom_append_url_parameters": "",
- "custom_prepend_url_parameters": "",
- "description": "",
- "filename": "4fdf4b3879da1funny-animals-page.jpg",
- "specific_destination": ""
}
], - "creative_tracking_link": "",
- "creative_tracking_link_rotate": "",
- "creative_type_id": 1,
- "custom_append_url_parameters": "",
- "custom_prepend_url_parameters": "",
- "default_specific_creative_id": "300396",
- "description": "Demo Text",
- "dynamic_tracking_link": "",
- "end_date_time": "2013-09-30 15:00:00",
- "height": 360,
- "html_tracking_link": "",
- "limits": "",
- "start_date_time": "2013-08-31 15:00:00",
- "width": 400
}
]
}
{- "creatives": [
- {
- "creative": {
- "tags": "",
- "active": "y",
- "advertiser_reference": "Promotion July 2016",
- "campaign_id": "10l176",
- "created_at": "2016-04-07 04:21:51",
- "created_by": "300621",
- "creative_id": "300441",
- "creative_items": [
- {
- "tags": "",
- "active": "y",
- "campaign_id": "10l176",
- "content_type": "image/jpeg",
- "created_at": "2016-04-07 04:21:51",
- "created_by": "300621",
- "creative_item_id": "300396",
- "creative_type_id": 1,
- "custom_append_url_parameters": "",
- "custom_prepend_url_parameters": "",
- "description": "",
- "filename": "4fdf4b3879da1funny-animals-page.jpg",
- "specific_destination": ""
}
], - "creative_tracking_link": "",
- "creative_tracking_link_rotate": "",
- "creative_type_id": 1,
- "custom_append_url_parameters": "",
- "custom_prepend_url_parameters": "",
- "default_specific_creative_id": "300396",
- "description": "Demo Text",
- "dynamic_tracking_link": "",
- "end_date_time": "2013-09-30 15:00:00",
- "height": 360,
- "html_tracking_link": "",
- "limits": "",
- "start_date_time": "2013-08-31 15:00:00",
- "width": 400
}
}
]
}
View all Creative Tags for the specified Campaign.
campaign_id required | string Example: 10l176 ID of the Campaign |
{- "creative_tags": [
- {
- "creative_tag": {
- "campaign_id": "10l176",
- "created_at": "2016-04-07 04:21:51",
- "created_by": "300621",
- "creative_tag_id": "111111l2",
- "creatives": [
- {
- "creative_id": "300441",
- "creative_item_id": "300396"
}
], - "name": "logo"
}
}
]
}
Create one or more Creative Tags against the Campaign entity. Each Tag is sent as an array within a top level tags
array.
campaign_id required | string Example: 10l176 ID of the campaign |
Array of objects (Creative_Tag_Wrapper) |
{- "tags": [
- {
- "name": "promo"
}
]
}
{- "creative_tags": [
- {
- "creative_tag": {
- "campaign_id": "10l176",
- "created_at": "2016-04-07 04:21:51",
- "created_by": "300621",
- "creative_tag_id": "111111l2",
- "creatives": [
- {
- "creative_id": "300441",
- "creative_item_id": "300396"
}
], - "name": "logo"
}
}
]
}
Update one or more Creative Tags against the Campaign entity. Each Tag is sent as an array within a top level tags
array and must contain its associated creative_tag_id
.
campaign_id required | string Example: 10l176 ID of the Campaign |
Array of objects (Creative_Tag_Wrapper) |
{- "tags": [
- {
- "creative_tag_id": "111111l2",
- "name": "promotion"
}
]
}
{- "creative_tags": [
- {
- "creative_tag": {
- "campaign_id": "10l176",
- "created_at": "2016-04-07 04:21:51",
- "created_by": "300621",
- "creative_tag_id": "111111l2",
- "creatives": [
- {
- "creative_id": "300441",
- "creative_item_id": "300396"
}
], - "name": "logo"
}
}
]
}
Delete one or more Creative Tags against the Campaign entity. Each Tag is sent as an array within a top level tags
array and must contain its associated creative_tag_id
.
campaign_id required | string Example: 10l176 ID of the Campaign |
Array of objects (Creative_Tag_Wrapper) |
{- "tags": [
- {
- "creative_tag_id": "111111l2"
}
]
}
{- "creative_tags": [
- {
- "creative_tag": {
- "campaign_id": "10l176",
- "created_at": "2016-04-07 04:21:51",
- "created_by": "300621",
- "creative_tag_id": "111111l2",
- "creatives": [
- {
- "creative_id": "300441",
- "creative_item_id": "300396"
}
], - "name": "logo"
}
}
]
}
List and view all Creatives for the specified Campaign and filter by tags.
campaign_id required | string Example: 10l176 ID of the Campaign |
tags[] | string Example: tags[]=1011l56,1011l57 An array of tags IDs to filter the creatives by |
{- "creatives": [
- {
- "creative": {
- "tags": "",
- "active": "y",
- "advertiser_reference": "Promotion July 2020",
- "campaign_id": "10l176",
- "created_at": "2016-04-07 04:21:51",
- "created_by": "300621",
- "creative_id": "300441",
- "creative_items": [
- {
- "tags": [
- {
- "creative_tag_id": "1011l56",
- "campaign_id": "10l176",
- "name": "My tag",
- "created_at": "2016-04-03 16:16:02"
}
], - "active": "y",
- "campaign_id": "10l176",
- "content_type": "image/jpeg",
- "created_at": "2016-04-07 04:21:51",
- "created_by": "300621",
- "creative_item_id": "300396",
- "creative_type_id": 1,
- "custom_append_url_parameters": "",
- "custom_prepend_url_parameters": "",
- "description": "",
- "filename": "4fdf4b3879da1funny-animals-page.jpg",
- "specific_destination": ""
}
], - "creative_tracking_link": "",
- "creative_tracking_link_rotate": "",
- "creative_type_id": 1,
- "custom_append_url_parameters": "",
- "custom_prepend_url_parameters": "",
- "default_specific_creative_id": "300396",
- "description": "Demo Text",
- "dynamic_tracking_link": "",
- "end_date_time": "2013-09-30 15:00:00",
- "height": 360,
- "html_tracking_link": "",
- "limits": "",
- "start_date_time": "2013-08-31 15:00:00",
- "width": 400
}
}
]
}
A Brand may want to offer a selection of Product Feeds to their Partners on a specific Campaign. When a Product Feed is created, it will be periodically downloaded and parsed for all Partners who participate on the Campaign to ensure their tracking links are inserted for all anchor links within the Product Feed. Any text based file format is supported.
Return the details of all Product Feeds associated with a Campaign.
campaign_id required | string Example: 10l176 ID of the Campaign |
{- "feeds": [
- {
- "feed": {
- "active": "y",
- "dynamic": 0,
- "feed_id": "1111l13",
- "fetch_frequency": 3600,
- "filesize": 0,
- "last_processed": 1378980455,
- "name": "Sample Product Feed",
- "updated": 1378980455
}
}
]
}
Create one or more Product Feeds against the Campaign entity. Each Product Feed is sent as an array within a top level feeds
array.
campaign_id required | string Example: 10l176 ID of the Campaign |
required | Array of objects (Feed) |
{- "feeds": [
- {
- "active": "y",
- "dynamic": 0,
- "fetch_frequency": 3600,
- "name": "Sample Feed"
}
]
}
{- "feeds": [
- {
- "feed": {
- "active": "y",
- "dynamic": 0,
- "feed_id": "1111l13",
- "fetch_frequency": 3600,
- "filesize": 0,
- "last_processed": 1378980455,
- "name": "Sample Feed",
- "updated": 1378980455
}
}
]
}
Update one or more feeds
against the Campaign entity. Each Product Feed is sent as an array within a top level feeds
array and must contain its associated feed_id
or location
. As location
is a unique identifier, it's not possible to change the location of a feed once created. To update the location, first update the feed and set active: n
, then create a new feed with the new location.
campaign_id required | string Example: 10l176 ID of the Campaign |
required | Array of objects or objects |
{- "feeds": [
- {
- "active": "y",
- "feed_id": "1111l13",
- "fetch_frequency": 3600,
- "name": "Sample Feed"
}
]
}
{- "feeds": [
- {
- "feed": {
- "action": "update",
- "active": "y",
- "dynamic": 0,
- "feed_id": "1111l13",
- "fetch_frequency": 3600,
- "filesize": 0,
- "last_processed": 1378980455,
- "name": "Sample Feed",
- "updated": 1378980455
}
}
]
}
A Brand may want to offer a specific Deal to Partners on a specific Campaign. These Deals represent a timed promotion which can be programmatically ingested into the Partner's platform and offered dynamically to their user base.
Return the details of all Deals associated to the Campaign.
campaign_id required | string Example: 10l176 ID of the Campaign |
{- "campaign_deals": [
- {
- "campaign_deal": {
- "active": "y",
- "advertiser_reference": "Promo012",
- "category": "Clothing",
- "country_iso": "GB",
- "coupon_code": "DEAL45",
- "description": "There are a lot of awesome deals",
- "end_date_time": "2017-09-01T00:00:00+01:00",
- "offer_type": "coupon",
- "offer_value": "40% off",
- "start_date_time": "2017-08-01T00:00:00+01:00",
- "terms": "No terms for this deal",
- "title": "40% off everything"
}
}
]
}
Create a new Deal against the Campaign entity.
campaign_id required | string Example: 10l176 ID of the Campaign |
active | string (YesOrNo) Enum: "y" "n" |
advertiser_reference | string |
category | string |
country_iso | string (Country) Enum: "AD" "AE" "AF" "AG" "AI" "AL" "AM" "AO" "AQ" "AR" "AS" "AT" "AU" "AW" "AX" "AZ" "BA" "BB" "BD" "BE" "BF" "BG" "BH" "BI" "BJ" "BL" "BM" "BN" "BO" "BQ" "BR" "BS" "BT" "BV" "BW" "BY" "BZ" "CA" "CC" "CD" "CF" "CG" "CH" "CI" "CK" "CL" "CM" "CN" "CO" "CR" "CU" "CV" "CW" "CX" "CY" "CZ" "DE" "DJ" "DK" "DM" "DO" "DZ" "EC" "EE" "EG" "EH" "ER" "ES" "ET" "FI" "FJ" "FK" "FM" "FO" "FR" "GA" "GB" "GD" "GE" "GF" "GG" "GH" "GI" "GL" "GM" "GN" "GP" "GQ" "GR" "GS" "GT" "GU" "GW" "GY" "HK" "HM" "HN" "HR" "HT" "HU" "ID" "IE" "IL" "IM" "IN" "IO" "IQ" "IR" "IS" "IT" "JE" "JM" "JO" "JP" "KE" "KG" "KH" "KI" "KM" "KN" "KP" "KR" "KW" "KY" "KZ" "LA" "LB" "LC" "LI" "LK" "LR" "LS" "LT" "LU" "LV" "LY" "MA" "MC" "MD" "ME" "MF" "MG" "MH" "MK" "ML" "MM" "MN" "MO" "MP" "MQ" "MR" "MS" "MT" "MU" "MV" "MW" "MX" "MY" "MZ" "NA" "NC" "NE" "NF" "NG" "NI" "NL" "NO" "NP" "NR" "NU" "NZ" "OM" "PA" "PE" "PF" "PG" "PH" "PK" "PL" "PM" "PN" "PR" "PS" "PT" "PW" "PY" "QA" "RE" "RO" "RS" "RU" "RW" "SA" "SB" "SC" "SD" "SE" "SG" "SH" "SI" "SJ" "SK" "SL" "SM" "SN" "SO" "SR" "SS" "ST" "SV" "SX" "SY" "SZ" "TC" "TD" "TF" "TG" "TH" "TJ" "TK" "TL" "TM" "TN" "TO" "TR" "TT" "TV" "TW" "TZ" "UA" "UG" "UM" "US" "UY" "UZ" "VA" "VC" "VE" "VG" "VI" "VN" "VU" "WF" "WS" "XK" "YE" "YT" "ZA" "ZM" "ZW" |
coupon_code | string A specific coupon or voucher code associated with the deal |
description required | string |
destination | string A deeplink to the specific deal location |
end_date_time | string Timezone specific timestamp to indicate the deal expiry time |
offer_type required | string Enum: "coupon" "offer" "sale" The type of offer |
offer_value required | string The unit to attribute to the |
start_date_time | string Timezone specific timestamp to indicate the start of the deal |
terms | string Specific terms for the deal |
title required | string |
{- "active": "y",
- "advertiser_reference": "string",
- "category": "string",
- "country_iso": "AD",
- "coupon_code": "string",
- "description": "string",
- "destination": "string",
- "end_date_time": "string",
- "offer_type": "coupon",
- "offer_value": "string",
- "start_date_time": "string",
- "terms": "string",
- "title": "string"
}
{- "campaign_deal": {
- "active": "y",
- "advertiser_reference": "Promo012",
- "campaign_deal_id": "111111l2",
- "category": "Clothing",
- "country_iso": "GB",
- "coupon_code": "DEAL45",
- "created_at": "2017-07-01T00:00:00+01:00",
- "description": "There are a lot of awesome deals",
- "end_date_time": "2017-09-01T00:00:00+01:00",
- "offer_type": "coupon",
- "offer_value": "40% off",
- "start_date_time": "2017-08-01T00:00:00+01:00",
- "terms": "No terms for this deal",
- "title": "40% off everything",
- "updated_at": null
}
}
Review the specified Deal.
campaign_id required | string Example: 10l176 ID of the Campaign |
deal_id required | string Example: 111111l2 ID of the Deal |
{- "campaign_deal": {
- "active": "y",
- "advertiser_reference": "Promo012",
- "campaign_deal_id": "111111l2",
- "category": "Clothing",
- "country_iso": "GB",
- "coupon_code": "DEAL45",
- "created_at": "2017-07-01T00:00:00+01:00",
- "description": "There are a lot of awesome deals",
- "end_date_time": "2017-09-01T00:00:00+01:00",
- "offer_type": "coupon",
- "offer_value": "40% off",
- "start_date_time": "2017-08-01T00:00:00+01:00",
- "terms": "No terms for this deal",
- "title": "40% off everything",
- "updated_at": null
}
}
Update properties of the specified Deal.
campaign_id required | string Example: 10l176 ID of the Campaign |
deal_id required | string Example: 111111l2 ID of the Deal |
active | string (YesOrNo) Enum: "y" "n" |
advertiser_reference | string |
category | string |
country_iso | string (Country) Enum: "AD" "AE" "AF" "AG" "AI" "AL" "AM" "AO" "AQ" "AR" "AS" "AT" "AU" "AW" "AX" "AZ" "BA" "BB" "BD" "BE" "BF" "BG" "BH" "BI" "BJ" "BL" "BM" "BN" "BO" "BQ" "BR" "BS" "BT" "BV" "BW" "BY" "BZ" "CA" "CC" "CD" "CF" "CG" "CH" "CI" "CK" "CL" "CM" "CN" "CO" "CR" "CU" "CV" "CW" "CX" "CY" "CZ" "DE" "DJ" "DK" "DM" "DO" "DZ" "EC" "EE" "EG" "EH" "ER" "ES" "ET" "FI" "FJ" "FK" "FM" "FO" "FR" "GA" "GB" "GD" "GE" "GF" "GG" "GH" "GI" "GL" "GM" "GN" "GP" "GQ" "GR" "GS" "GT" "GU" "GW" "GY" "HK" "HM" "HN" "HR" "HT" "HU" "ID" "IE" "IL" "IM" "IN" "IO" "IQ" "IR" "IS" "IT" "JE" "JM" "JO" "JP" "KE" "KG" "KH" "KI" "KM" "KN" "KP" "KR" "KW" "KY" "KZ" "LA" "LB" "LC" "LI" "LK" "LR" "LS" "LT" "LU" "LV" "LY" "MA" "MC" "MD" "ME" "MF" "MG" "MH" "MK" "ML" "MM" "MN" "MO" "MP" "MQ" "MR" "MS" "MT" "MU" "MV" "MW" "MX" "MY" "MZ" "NA" "NC" "NE" "NF" "NG" "NI" "NL" "NO" "NP" "NR" "NU" "NZ" "OM" "PA" "PE" "PF" "PG" "PH" "PK" "PL" "PM" "PN" "PR" "PS" "PT" "PW" "PY" "QA" "RE" "RO" "RS" "RU" "RW" "SA" "SB" "SC" "SD" "SE" "SG" "SH" "SI" "SJ" "SK" "SL" "SM" "SN" "SO" "SR" "SS" "ST" "SV" "SX" "SY" "SZ" "TC" "TD" "TF" "TG" "TH" "TJ" "TK" "TL" "TM" "TN" "TO" "TR" "TT" "TV" "TW" "TZ" "UA" "UG" "UM" "US" "UY" "UZ" "VA" "VC" "VE" "VG" "VI" "VN" "VU" "WF" "WS" "XK" "YE" "YT" "ZA" "ZM" "ZW" |
coupon_code | string A specific coupon or voucher code associated with the deal |
description required | string |
destination | string A deeplink to the specific deal location |
end_date_time | string Timezone specific timestamp to indicate the deal expiry time |
offer_type required | string Enum: "coupon" "offer" "sale" The type of offer |
offer_value required | string The unit to attribute to the |
start_date_time | string Timezone specific timestamp to indicate the start of the deal |
terms | string Specific terms for the deal |
title required | string |
{- "active": "y",
- "advertiser_reference": "string",
- "category": "string",
- "country_iso": "AD",
- "coupon_code": "string",
- "description": "string",
- "destination": "string",
- "end_date_time": "string",
- "offer_type": "coupon",
- "offer_value": "string",
- "start_date_time": "string",
- "terms": "string",
- "title": "string"
}
{- "campaign_deal": {
- "active": "y",
- "advertiser_reference": "Promo012",
- "campaign_deal_id": "111111l2",
- "category": "Clothing",
- "country_iso": "GB",
- "coupon_code": "DEAL45",
- "created_at": "2017-07-01T00:00:00+01:00",
- "description": "There are a lot of awesome deals",
- "end_date_time": "2017-09-01T00:00:00+01:00",
- "offer_type": "coupon",
- "offer_value": "40% off",
- "start_date_time": "2017-08-01T00:00:00+01:00",
- "terms": "No terms for this deal",
- "title": "40% off everything",
- "updated_at": null
}
}
Based on all tracked events, a real-time cache of currencies and non standard conversion and conversion item attributes are kept for all Campaigns and Partners. This endpoint can be used to determine what non standard data might appear in reports/exports and is also useful when building an external app which will display Conversion data.
View all unique Meta attributes for the Campaign.
campaign_id required | string Example: 10l176 ID of the Campaign |
{- "campaign": {
- "campaign_id": "10l176",
- "meta": {
- "currencies": [
- "GBP"
], - "meta_conversion": [ ],
- "meta_item": [ ]
}
}
}
Transaction Queries (TQs) allow Partners to raise disputes about conversions with a Brand. There are three types of Transaction Queries:
Return the details of all Transaction Queries created on a campaign.
campaign_id required | string Example: 10l176 ID of the Campaign |
campaign_id required | string Example: 10l176 Filter by the ID of a campaign |
transaction_query_id | string Example: transaction_query_id=1l1000532 Filter by the ID of a transaction query |
transaction_query_type | string Example: transaction_query_type=untracked Filter by the type |
publisher_reference | string Example: publisher_reference=A200FG1 Filter by a partner reference |
conversion_reference | string Example: conversion_reference=AF222PO Filter by a conversion reference |
conversion_date_time | string Example: conversion_date_time=2017-01-01 00:00:00 Filter by a conversion date |
current_state | string Example: current_state=pending Filter by the current state |
date_range_column | string Example: date_range_column=created_at Field to filter the date range on |
date_range_start | string Example: date_range_start=2017-01-01 00:00:00 Start of a date range |
date_range_end | string Example: date_range_end=2017-12-30 00:00:00 End of a date range |
text_date | string Example: text_date=last 10 days Natural language representation of a date range |
sort_column | string Example: sort_column=created_at Field to sort the results by |
order_by | string Example: order_by=ASC Direction to sort the results by |
tq_export | string Example: tq_export=true Download the results as a CSV file |
Generate a CSV file in a job and send the result to this email address, helpful when processing takes too long for a normal download
"string"
{- "count": 5,
- "execution_time": "0.08001 seconds",
- "filters": { },
- "sort": {
- "column": "created_at",
- "direction": "ASC"
}, - "transaction_queries": [
- {
- "transaction_query": {
- "actions_available": [
- "approve",
- "reject"
], - "campaign": {
- "advertiser_id": "10l110",
- "campaign_id": "10l176",
- "created": "2017-01-01 00:00:00",
- "created_by": "11l16829",
- "default_override": "1",
- "hidden_campaign": "y",
- "last_modified": "2017-01-01 00:00:00",
- "network_fee": null,
- "payment_date": null,
- "reporting_timezone": "Australia/Sydney",
- "status": "a",
- "title": "Example Campaign",
- "type": "sale",
- "vertical_id": 10,
- "week_start": "monday"
}, - "campaign_id": "10l176",
- "camref": "hrDu67",
- "conversion_currency": "GBP",
- "conversion_date_time": "2017-01-01 00:00:00",
- "conversion_id": "111111l304972",
- "conversion_reference": "AUTO-5953bd8c5fe7b",
- "conversion_value": 9729,
- "created_at": "2017-01-01 00:00:00",
- "current_state": "pending",
- "expected_commission": 907.43,
- "notes": "Quam ex rerum nulla enim.",
- "publisher": {
- "agreed_to_latest_network_terms": "y",
- "created": "2017-01-01 00:00:00",
- "created_by": "11l16829",
- "name": "Example Partner",
- "network_id": "1l1000003",
- "network_status": "a",
- "publisher_id": "1l1007802",
- "ref_terms_and_conditions_locale_id": "1l100284",
- "reporting_timezone": "Australia/Sydney",
- "signup_ip": "127.0.0.1",
- "week_start": "saturday"
}, - "publisher_id": "1l1007802",
- "publisher_reference": "rerum",
- "state_history": {
- "conversion_expected_commission": 837.49,
- "conversion_item_id": "111111l1107235",
- "created_at": "2017-01-01 00:00:00",
- "notes": "Quidem facilis iste sapiente reiciendis.",
- "state": "pending",
- "transaction_query_id": "111111l10",
- "transaction_query_state_id": "111111l9",
- "user_id": "11l16829"
}, - "transaction_query_id": "111111l10",
- "transaction_query_type": "untracked",
- "updated_at": "2017-02-01 00:00:00"
}
}
]
}
Approve a single Transaction Query. Only Transaction Queries with a status of pending can be approved.
campaign_id required | string Example: 10l176 ID of a Campaign |
transaction_query_id required | string Example: 1l1000532 ID of the Transaction Query |
expected_commission | number The commission that the conversion should have after being approved |
{- "expected_commission": 907.43
}
{- "execution_time": "0.08001 seconds",
- "transaction_query": {
- "actions_available": [ ],
- "campaign": {
- "advertiser_id": "10l110",
- "campaign_id": "10l176",
- "created": "2017-01-01 00:00:00",
- "created_by": "11l16829",
- "default_override": "1",
- "hidden_campaign": "y",
- "last_modified": "2017-01-01 00:00:00",
- "network_fee": null,
- "payment_date": null,
- "reporting_timezone": "Australia/Sydney",
- "status": "a",
- "title": "Example Campaign",
- "type": "sale",
- "vertical_id": 10,
- "week_start": "monday"
}, - "campaign_id": "10l176",
- "camref": "hrDu67",
- "conversion_currency": "GBP",
- "conversion_date_time": "2017-01-01 00:00:00",
- "conversion_id": "111111l304972",
- "conversion_reference": "AUTO-5953bd8c5fe7b",
- "conversion_value": 9729,
- "created_at": "2017-01-01 00:00:00",
- "current_state": "pending",
- "expected_commission": 907.43,
- "notes": "Quam ex rerum nulla enim.",
- "publisher": {
- "agreed_to_latest_network_terms": "y",
- "created": "2017-01-01 00:00:00",
- "created_by": "11l16829",
- "name": "Example Partner",
- "network_id": "1l1000003",
- "network_status": "a",
- "publisher_id": "1l1007802",
- "ref_terms_and_conditions_locale_id": "1l100284",
- "reporting_timezone": "Australia/Sydney",
- "signup_ip": "127.0.0.1",
- "week_start": "saturday"
}, - "publisher_id": "1l1007802",
- "publisher_reference": "rerum",
- "state_history": {
- "conversion_expected_commission": 837.49,
- "conversion_item_id": "111111l1107235",
- "created_at": "2017-01-01 00:00:00",
- "notes": "Quidem facilis iste sapiente reiciendis.",
- "state": "pending",
- "transaction_query_id": "111111l10",
- "transaction_query_state_id": "111111l9",
- "user_id": "11l16829"
}, - "transaction_query_id": "111111l10",
- "transaction_query_type": "untracked",
- "updated_at": "2017-02-01 00:00:00"
}
}
Pend a single Transaction Query. Only Transaction Queries with a status of rejected can be pended.
campaign_id required | string Example: 10l176 ID of a Campaign |
transaction_query_id required | string Example: 1l1000532 ID of the Transaction Query |
{- "execution_time": "0.08001 seconds",
- "transaction_query": {
- "actions_available": [
- "approve",
- "reject"
], - "campaign": {
- "advertiser_id": "10l110",
- "campaign_id": "10l176",
- "created": "2017-01-01 00:00:00",
- "created_by": "11l16829",
- "default_override": "1",
- "hidden_campaign": "y",
- "last_modified": "2017-01-01 00:00:00",
- "network_fee": null,
- "payment_date": null,
- "reporting_timezone": "Australia/Sydney",
- "status": "a",
- "title": "Example Campaign",
- "type": "sale",
- "vertical_id": 10,
- "week_start": "monday"
}, - "campaign_id": "10l176",
- "camref": "hrDu67",
- "conversion_currency": "GBP",
- "conversion_date_time": "2017-01-01 00:00:00",
- "conversion_id": "111111l304972",
- "conversion_reference": "AUTO-5953bd8c5fe7b",
- "conversion_value": 9729,
- "created_at": "2017-01-01 00:00:00",
- "current_state": "pending",
- "expected_commission": 907.43,
- "notes": "Quam ex rerum nulla enim.",
- "publisher": {
- "agreed_to_latest_network_terms": "y",
- "created": "2017-01-01 00:00:00",
- "created_by": "11l16829",
- "name": "Example Partner",
- "network_id": "1l1000003",
- "network_status": "a",
- "publisher_id": "1l1007802",
- "ref_terms_and_conditions_locale_id": "1l100284",
- "reporting_timezone": "Australia/Sydney",
- "signup_ip": "127.0.0.1",
- "week_start": "saturday"
}, - "publisher_id": "1l1007802",
- "publisher_reference": "rerum",
- "state_history": {
- "conversion_expected_commission": 837.49,
- "conversion_item_id": "111111l1107235",
- "created_at": "2017-01-01 00:00:00",
- "notes": "Quidem facilis iste sapiente reiciendis.",
- "state": "pending",
- "transaction_query_id": "111111l10",
- "transaction_query_state_id": "111111l9",
- "user_id": "11l16829"
}, - "transaction_query_id": "111111l10",
- "transaction_query_type": "untracked",
- "updated_at": "2017-02-01 00:00:00"
}
}
Reject a single Transaction Query. Only Transaction Queries with a status of pending can be rejected.
campaign_id required | string Example: 10l176 ID of a campaign |
transaction_query_id required | string Example: 1l1000532 ID of the transaction query |
reason | string The reason for rejecting the Transaction Query |
{- "reason": "Example reason"
}
{- "execution_time": "0.08001 seconds",
- "transaction_query": {
- "actions_available": [
- "pend"
], - "campaign": {
- "advertiser_id": "10l110",
- "campaign_id": "10l176",
- "created": "2017-01-01 00:00:00",
- "created_by": "11l16829",
- "default_override": "1",
- "hidden_campaign": "y",
- "last_modified": "2017-01-01 00:00:00",
- "network_fee": null,
- "payment_date": null,
- "reporting_timezone": "Australia/Sydney",
- "status": "a",
- "title": "Example Campaign",
- "type": "sale",
- "vertical_id": 10,
- "week_start": "monday"
}, - "campaign_id": "10l176",
- "camref": "hrDu67",
- "conversion_currency": "GBP",
- "conversion_date_time": "2017-01-01 00:00:00",
- "conversion_id": "111111l304972",
- "conversion_reference": "AUTO-5953bd8c5fe7b",
- "conversion_value": 9729,
- "created_at": "2017-01-01 00:00:00",
- "current_state": "pending",
- "expected_commission": 907.43,
- "notes": "Quam ex rerum nulla enim.",
- "publisher": {
- "agreed_to_latest_network_terms": "y",
- "created": "2017-01-01 00:00:00",
- "created_by": "11l16829",
- "name": "Example Partner",
- "network_id": "1l1000003",
- "network_status": "a",
- "publisher_id": "1l1007802",
- "ref_terms_and_conditions_locale_id": "1l100284",
- "reporting_timezone": "Australia/Sydney",
- "signup_ip": "127.0.0.1",
- "week_start": "saturday"
}, - "publisher_id": "1l1007802",
- "publisher_reference": "rerum",
- "state_history": {
- "conversion_expected_commission": 837.49,
- "conversion_item_id": "111111l1107235",
- "created_at": "2017-01-01 00:00:00",
- "notes": "Quidem facilis iste sapiente reiciendis.",
- "state": "pending",
- "transaction_query_id": "111111l10",
- "transaction_query_state_id": "111111l9",
- "user_id": "11l16829"
}, - "transaction_query_id": "111111l10",
- "transaction_query_type": "untracked",
- "updated_at": "2017-02-01 00:00:00"
}
}
Process multiple Transaction Queries in a single API call. The same rules as approving, rejecting and pending single Transaction Queries apply. The actions are processed asynchronously and the Job endpoint must be polled to find out when all have been completed.
campaign_id required | string Example: 10l176 ID of a Campaign |
Array of objects |
{- "transaction_queries": [
- {
- "new_expected_commission": 13.45,
- "new_reason": "Example reason",
- "new_state": "pending",
- "transaction_query_id": "1l1000532"
}
]
}
{- "execution_time": "0.08001 seconds",
- "job": {
- "completed_at": "2016-04-07 04:21:52",
- "created_at": "2016-04-07 04:21:51",
- "created_by": "300621",
- "created_by_uri": "",
- "estimated_completion": null,
- "job_id": "111111l470",
- "percentage_complete": 100,
- "reference": null,
- "response": "/job/111111l1177306/response.json",
- "response_within_retention": true,
- "status": "complete",
- "time_elapsed": 0,
- "update": "/job/111111l1177306.json"
}
}
Return the details of all saved Transaction Query Reasons.
campaign_id required | string Example: 10l176 ID of a Campaign |
{- "count": 1,
- "execution_time": "0.08001 seconds",
- "transaction_query_reasons": [
- {
- "transaction_query_reason": {
- "campaign_id": "10l176",
- "created_at": "2017-01-01 00:00:00",
- "reason": "Example reason",
- "transaction_query_reason_id": "111111l3"
}
}
]
}
Create a new saved Transaction Query reason.
campaign_id required | string Example: 10l176 ID of a Campaign |
reason required | string The reason for rejecting a Transaction Query |
{- "reason": "Example reason"
}
{- "execution_time": "0.08001 seconds",
- "transaction_query_reason": {
- "campaign_id": "10l176",
- "created_at": "2017-01-01 00:00:00",
- "reason": "Example reason",
- "transaction_query_reason_id": "111111l3"
}
}
Delete a saved Transaction Query Reason for a Campaign.
campaign_id required | string Example: 10l176 ID of a Campaign |
transaction_query_reason_id required | string Example: 111111l3 ID of the Transaction Query Reason |
{- "execution_time": "0.08001 seconds",
- "transaction_query_reason": {
- "deleted": "true"
}
}
So that Brands can receive payment for all approved conversion events they have generated across a Brand's Campaigns, the Brand must raise an Invoice and send payment to Partnerize. Once the payment has cleared, all funds will be deposited into the relevant Partner accounts.
View all Invoices that have been created.
advertiser_id required | string Example: 10l110 ID of the Brand |
{- "invoices": [
- {
- "invoice": {
- "average_conversion_age": 14,
- "campaign_id": "10l176",
- "creation_date": "2015-12-14 22:58:25",
- "currency": "GBP",
- "download": null,
- "invoice_id": "1101l1536",
- "invoice_net_value": 770.84,
- "invoice_reference": "I-10l176-1101l1536",
- "invoice_total_value": 770.84,
- "invoice_vat_value": 0,
- "invoiced": "All",
- "item_download": null,
- "merchant_invoice_id": null,
- "paid_currency": "GBP",
- "payment_date": "",
- "payment_due_by_date": "",
- "payment_reference": null,
- "publisher_commission": 700.76,
- "publisher_override": 70.08,
- "set_end_date": "2015-12-09",
- "set_start_date": "2015-08-30",
- "set_timezone": "Australia/Sydney",
- "status": "created",
- "vat_rate": 0
}
}
]
}
View an individual Invoice.
advertiser_id required | string Example: 10l110 ID of the Brand |
invoice_id required | string Example: 1101l1536 ID of the Invoice |
{- "invoice": {
- "average_conversion_age": 14,
- "campaign_id": "10l176",
- "creation_date": "2015-12-14 22:58:25",
- "currency": "GBP",
- "download": null,
- "invoice_id": "1101l1536",
- "invoice_net_value": 770.84,
- "invoice_reference": "I-10l176-1101l1536",
- "invoice_total_value": 770.84,
- "invoice_vat_value": 0,
- "invoiced": "All",
- "item_download": null,
- "merchant_invoice_id": null,
- "paid_currency": "GBP",
- "payment_date": "",
- "payment_due_by_date": "",
- "payment_reference": null,
- "publisher_commission": 700.76,
- "publisher_override": 70.08,
- "set_end_date": "2015-12-09",
- "set_start_date": "2015-08-30",
- "set_timezone": "Australia/Sydney",
- "status": "created",
- "vat_rate": 0
}
}
This endpoint lists all upcoming and currently active standard commissions
campaignId required | string The ID of the campaign to list the commissions for |
at | string <date-time> Example: at=2023-05-04T12:00:00+00:00 The date and time to show active commissions for. If not set defaults to now. |
{- "count": 1,
- "commissions": [
- {
- "id": "string",
- "description": "string",
- "start_date": null,
- "end_date": null,
- "last_modified": {
- "id": "string",
- "username": "string",
- "date": "2019-08-24T14:15:22Z"
}, - "commission_based_on_field": "string",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
], - "rules": [
- {
- "operator": "BETWEEN",
- "value": [
- "string",
- "string"
]
}
]
}
], - "status": "ACTIVE",
- "rates": [
- {
- "id": "string",
- "type": "publisher",
- "name": "string",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "cookie_period": 0
}
], - "version": 0
}
]
}
This endpoint creates a new commission
campaignId required | string The ID of the campaign to list the commissions for |
description required | string <= 300 characters |
start_date required | string <date-time> The Start Date of the Commission |
end_date | stringnull <date-time> Nullable The End Date of the Commission |
commission_based_on_field | stringnull Nullable Default: "value" The tracking field used to calculate publisher commission |
Array of Meta Field Values (object) or objects (Meta Field Creator) | |
required | Array of objects (Commission Rate) non-empty |
{- "description": "string",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": null,
- "commission_based_on_field": "value",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "rates": [
- {
- "id": "string",
- "type": "publisher",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "cookie_period": 0
}
]
}
{- "commission": {
- "id": "string",
- "description": "string",
- "start_date": null,
- "end_date": null,
- "last_modified": {
- "id": "string",
- "username": "string",
- "date": "2019-08-24T14:15:22Z"
}, - "commission_based_on_field": "string",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
], - "rules": [
- {
- "operator": "BETWEEN",
- "value": [
- "string",
- "string"
]
}
]
}
], - "status": "ACTIVE",
- "rates": [
- {
- "id": "string",
- "type": "publisher",
- "name": "string",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "cookie_period": 0
}
], - "version": 0
}
}
Get the given commission
campaignId required | string The ID of the campaign the commission belongs to |
commissionId required | string The ID of the commission to retrieve |
include | string Enum: "history" "v1" The historical edits will be shown under the history.data attribute when set to 'history'. The endpoint will also return v1 Commissions when set to 'v1'" |
at | string <date-time> Example: at=2023-05-04T12:00:00+00:00 The date and time to show active commissions for. If not set defaults to now. |
{- "commission": {
- "id": "string",
- "description": "string",
- "start_date": null,
- "end_date": null,
- "last_modified": {
- "id": "string",
- "username": "string",
- "date": "2019-08-24T14:15:22Z"
}, - "commission_based_on_field": "string",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
], - "rules": [
- {
- "operator": "BETWEEN",
- "value": [
- "string",
- "string"
]
}
]
}
], - "status": "ACTIVE",
- "rates": [
- {
- "id": "string",
- "type": "publisher",
- "name": "string",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "cookie_period": 0
}
], - "version": 0
}, - "history": {
- "data": [
- null
]
}
}
Update the given commission. If it is currently active it will be retired and a new commission will be set up with the updated configuration.
campaignId required | string The ID of the campaign the commission belongs to |
commissionId required | string The ID of the commission to retrieve |
description | string <= 300 characters |
start_date | string <date-time> The Start Date of the Commission |
end_date | stringnull <date-time> Nullable The End Date of the Commission |
commission_based_on_field | stringnull Nullable Default: "value" The tracking field used to calculate partner commission |
Array of Meta Field Values (object) or objects (Meta Field Creator) | |
Array of objects (Commission Rate) non-empty |
{- "description": "string",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": null,
- "commission_based_on_field": "value",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "rates": [
- {
- "id": "string",
- "type": "publisher",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "cookie_period": 0
}
]
}
{- "commission": {
- "id": "string",
- "description": "string",
- "start_date": null,
- "end_date": null,
- "last_modified": {
- "id": "string",
- "username": "string",
- "date": "2019-08-24T14:15:22Z"
}, - "commission_based_on_field": "string",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
], - "rules": [
- {
- "operator": "BETWEEN",
- "value": [
- "string",
- "string"
]
}
]
}
], - "status": "ACTIVE",
- "rates": [
- {
- "id": "string",
- "type": "publisher",
- "name": "string",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "cookie_period": 0
}
], - "version": 0
}
}
This endpoint migrates a given V1 Commission to a V2 Commission
campaignId required | string The ID of the campaign the commission belongs to |
commissionId required | string The ID of the commission to migrate |
{- "commission": {
- "id": "string",
- "description": "string",
- "start_date": null,
- "end_date": null,
- "last_modified": {
- "id": "string",
- "username": "string",
- "date": "2019-08-24T14:15:22Z"
}, - "commission_based_on_field": "string",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
], - "rules": [
- {
- "operator": "BETWEEN",
- "value": [
- "string",
- "string"
]
}
]
}
], - "status": "ACTIVE",
- "rates": [
- {
- "id": "string",
- "type": "publisher",
- "name": "string",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "cookie_period": 0
}
], - "version": 0
}
}
This endpoint retires a given Commission.
campaignId required | string The ID of the campaign the commission belongs to |
commissionId required | string The ID of the commission to retire |
{- "id": "string",
- "description": "string",
- "start_date": null,
- "end_date": null,
- "last_modified": {
- "id": "string",
- "username": "string",
- "date": "2019-08-24T14:15:22Z"
}, - "commission_based_on_field": "string",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
], - "rules": [
- {
- "operator": "BETWEEN",
- "value": [
- "string",
- "string"
]
}
]
}
], - "status": "ACTIVE",
- "rates": [
- {
- "id": "string",
- "type": "publisher",
- "name": "string",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "cookie_period": 0
}
], - "version": 0
}
Request a CSV for a Commission report which includes all individual items defined for the Campaign. Each item represents a commission type of default, standard, promotional or voucher commission and rates.
campaignId required | string The ID of the campaign for the commissions |
start_date_time | string <datetime> Limits list to commissions active at/from this date |
end_date_time | string <datetime> Limits list to commissions active until this date |
type | string Enum: "default" "standard" "promotional" "voucher" Limits list to commissions of specified types |
status | string Enum: "retired" "active" "scheduled" Limits list to commissions with specified status |
commission_group_id,commission_id,commission_type,scope,campaign_id,group_id,group_name,publisher_id,publisher_name,voucher_id,voucher_code,group_limit,start_date_time_utc,end_date_time_utc,status,name,performance_model,commission,commission_based_on_field,cookie_period_seconds,dynamic_sut,created_utc,created_by_id,created_by_name,last_modified_utc,last_modified_by,last_modified_by_name 1111111l1,1111111l3,promotional,publisher,,,,111111l9,test_publisher,,,,"2023-05-05 16:00:00","2023-09-30 00:00:00",ACTIVE,"Test Promotional Commission","% CPA",10.0000,,,,,,,,promosku,,,,avalue,"2023-05-05 14:46:54",111111l1,user_name,"2023-05-05 14:46:54",111111l1,user_name
This endpoint lists all active and scheduled promotional commissions for the given campaign.
campaignId required | string The ID of the campaign to list the promotional commissions for |
at | string Example: at=2021-07-02T12:00:00+01:00 Check the promotional commissions for a given moment |
{- "promotions": [
- {
- "id": "string",
- "description": "string",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "last_modified_by": "string",
- "last_modified": "string",
- "start_date": "string",
- "end_date": "string",
- "cookie_period": 0,
- "commission_based_on_field": "string",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "publishers": [
- {
- "id": "string",
- "name": "string"
}
], - "groups": [
- {
- "id": "string",
- "name": "string"
}
], - "status": "ACTIVE"
}
]
}
This creates a new promotional commission for the given campaign
campaignId required | string The ID of the campaign to create the promotional commission for |
description | string |
performance_value required | number The value to be rewarded based on selected Performance Measurement |
performance_model required | string (Performance Model) Enum: "fixed_cpa" "percentage_cpa" "cpc" Model used to calculate Partner commission |
start_date required | string^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$ The start date and time in UTC |
end_date | string Nullable ^(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}|null)$ The end date and time in UTC |
cookie_period | integer [ 0 .. 31536000 ] The cookie period defined in seconds |
commission_based_on_field | string The tracking field used to calculate partner commission |
Array of objects (Meta Field Values) | |
publishers | Array of strings (Partner ID) >= 0 items |
groups | Array of strings (Group ID) >= 0 items |
{- "description": "string",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "start_date": "string",
- "end_date": "string",
- "cookie_period": 0,
- "commission_based_on_field": "string",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "publishers": [
- "string"
], - "groups": [
- "string"
]
}
{- "promotion": {
- "id": "string",
- "description": "string",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "last_modified_by": "string",
- "last_modified": "string",
- "start_date": "string",
- "end_date": "string",
- "cookie_period": 0,
- "commission_based_on_field": "string",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "publishers": [
- {
- "id": "string",
- "name": "string"
}
], - "groups": [
- {
- "id": "string",
- "name": "string"
}
], - "status": "ACTIVE"
}
}
This endpoint returns the promotional commission for the given campaign and promotional commission ID.
campaignId required | string The ID of the campaign the promotional commission belongs to |
promotionalId required | string The ID of the promotional commission to retrieve |
include | string Value: "history" The historical edits will be shown under the history.data attribute when set to 'history'. |
{- "promotion": {
- "id": "string",
- "description": "string",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "last_modified_by": "string",
- "last_modified": "string",
- "start_date": "string",
- "end_date": "string",
- "cookie_period": 0,
- "commission_based_on_field": "string",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "publishers": [
- {
- "id": "string",
- "name": "string"
}
], - "groups": [
- {
- "id": "string",
- "name": "string"
}
], - "status": "ACTIVE"
}, - "history": {
- "data": [
- null
]
}
}
Modifies the promotional commission for the given commission ID and campaign
campaignId required | string The ID of the campaign to update the promotional commission for |
promotionalId required | string The ID of the promotional commission to update |
id | string |
description | string Nullable |
performance_value | number The value to be rewarded based on selected Performance Measurement |
performance_model | string (Performance Model) Enum: "fixed_cpa" "percentage_cpa" "cpc" Model used to calculate Partner commission |
start_date | string^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$ The start date and time in UTC |
end_date | string Nullable ^(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}|null)$ The end date and time in UTC |
cookie_period | integer [ 0 .. 31536000 ] Nullable The cookie period defined in seconds |
commission_based_on_field | string The tracking field used to calculate partner commission |
Array of objects (Meta Field Values) | |
publishers | Array of strings (Partner ID) >= 0 items |
groups | Array of strings (Group ID) >= 0 items |
{- "id": "string",
- "description": "string",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "start_date": "string",
- "end_date": "string",
- "cookie_period": 0,
- "commission_based_on_field": "string",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "publishers": [
- "string"
], - "groups": [
- "string"
]
}
{- "promotion": {
- "id": "string",
- "description": "string",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "last_modified_by": "string",
- "last_modified": "string",
- "start_date": "string",
- "end_date": "string",
- "cookie_period": 0,
- "commission_based_on_field": "string",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "publishers": [
- {
- "id": "string",
- "name": "string"
}
], - "groups": [
- {
- "id": "string",
- "name": "string"
}
], - "status": "ACTIVE"
}
}
This endpoint retires a given Promotional Commission
campaignId required | string The ID of the campaign the promotional commission belongs to |
promotionalId required | string The ID of the promotional commission to retire |
{- "promotion": {
- "id": "string",
- "description": "string",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "last_modified_by": "string",
- "last_modified": "string",
- "start_date": "string",
- "end_date": "string",
- "cookie_period": 0,
- "commission_based_on_field": "string",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "publishers": [
- {
- "id": "string",
- "name": "string"
}
], - "groups": [
- {
- "id": "string",
- "name": "string"
}
], - "status": "ACTIVE"
}, - "history": {
- "data": [
- null
]
}
}
This endpoint lists all active and scheduled Voucher commissions for the given campaign.
campaignId required | string Example: 11111l1 The ID of the campaign to list the Voucher commissions for |
at | string Example: at=2021-07-02T12:00:00+01:00 Check the Voucher commissions for a given moment |
{- "count": "1",
- "execution_time": "0.30000 seconds",
- "voucher_commissions": [
- {
- "description": "example",
- "end_date": "2023-10-01 00:00:00",
- "group_limit": {
- "id": "111111l1",
- "name": "example"
}, - "id": "111111l1",
- "last_modified": "2023-10-01 00:00:00",
- "last_modified_by": "111111l1",
- "meta_fields": [
- {
- "name": "sku",
- "value": [
- "1"
], - "weight": 1
}
], - "performance_model": "fixed_cpa",
- "performance_value": 20,
- "start_date": "2023-10-01 00:00:00",
- "status": "SCHEDULED",
- "voucher_codes": [
- {
- "code": "example-code",
- "description": "example",
- "end_date": "2023-10-01 00:00:00",
- "id": "111111l1",
- "start_date": "2023-10-01 00:00:00",
- "groups": [
- {
- "id": "111111l1",
- "name": "example"
}
]
}
]
}
]
}
This endpoint saves a given Voucher Commission
campaignId required | string Example: 11111l1 The ID of the campaign the voucher commission belongs to |
description | stringnull |
start_date | string <date-time> |
end_date | stringnull <date-time> |
group_limit_id | stringnull |
Array of objects | |
voucher_codes | Array of strings |
performance_value | integer |
performance_model | string |
{- "description": "example",
- "end_date": "2023-10-01 00:00:00",
- "start_date": "2023-10-01 00:00:00",
- "group_limit_id": "111111l1",
- "meta_fields": [
- {
- "name": "sku",
- "value": "1"
}
], - "performance_model": "fixed_cpa",
- "performance_value": 20,
- "voucher_codes": [
- "111111l1",
- "111111l2"
]
}
{- "execution_time": "0.30000 seconds",
- "voucher_commission": {
- "description": "example",
- "end_date": "2023-10-01 00:00:00",
- "group_limit": {
- "id": "111111l1",
- "name": "example"
}, - "id": "111111l1",
- "last_modified": "2023-10-01 00:00:00",
- "last_modified_by": "111111l1",
- "meta_fields": [
- {
- "name": "sku",
- "value": [
- "1"
], - "weight": 1
}
], - "performance_model": "fixed_cpa",
- "performance_value": 20,
- "start_date": "2020-01-01 00:00:00",
- "status": "SCHEDULED",
- "voucher_codes": [
- {
- "code": "example-code",
- "description": "example",
- "end_date": "2023-10-01 00:00:00",
- "id": "111111l1",
- "start_date": "2023-10-01 00:00:00",
- "groups": [
- {
- "id": "111111l1",
- "name": "example"
}
]
}
]
}
}
This endpoint shows an active or scheduled Voucher commission for the given campaign.
campaignId required | string Example: 11111l1 The ID of the campaign to list the Voucher commissions for |
commissionId required | string Example: 11111l1 The ID of the commission to edit the Voucher commissions for |
{- "execution_time": "0.30000 seconds",
- "voucher_commission": {
- "description": "example",
- "end_date": "2023-10-01 00:00:00",
- "group_limit": {
- "id": "111111l1",
- "name": "example"
}, - "id": "111111l1",
- "last_modified": "2023-10-01 00:00:00",
- "last_modified_by": "111111l1",
- "meta_fields": [
- {
- "name": "sku",
- "value": [
- "1"
], - "weight": 1
}
], - "performance_model": "fixed_cpa",
- "performance_value": 20,
- "start_date": "2023-10-01 00:00:00",
- "status": "SCHEDULED",
- "voucher_codes": [
- {
- "code": "example-code",
- "description": "example",
- "end_date": "2023-10-01 00:00:00",
- "id": "111111l1",
- "start_date": "2023-10-01 00:00:00",
- "groups": [
- {
- "id": "111111l1",
- "name": "example"
}
]
}
]
}
}
This endpoint edits all active and scheduled Voucher commission for the given campaign.
campaignId required | string Example: 11111l1 The ID of the campaign to list the Voucher commissions for |
commissionId required | string Example: 11111l1 The ID of the commission to edit the Voucher commissions for |
description | stringnull |
start_date | string <date-time> |
end_date | stringnull <date-time> |
Array of objects | |
performance_value | number |
performance_model | string |
voucher_codes | Array of strings |
{- "description": "example",
- "end_date": "2023-10-01 00:00:00",
- "start_date": "2023-10-01 00:00:00",
- "meta_fields": [
- {
- "name": "sku",
- "value": "1"
}
], - "performance_model": "fixed_cpa",
- "performance_value": 20,
- "voucher_codes": [
- "111111l1",
- "111111l2"
]
}
{- "execution_time": "0.30000 seconds",
- "voucher_commission": {
- "description": "example",
- "end_date": "2023-10-01 00:00:00",
- "group_limit": {
- "id": "111111l1",
- "name": "example"
}, - "id": "111111l1",
- "last_modified": "2023-10-01 00:00:00",
- "last_modified_by": "111111l1",
- "meta_fields": [
- {
- "name": "sku",
- "value": [
- "1"
], - "weight": 1
}
], - "performance_model": "fixed_cpa",
- "performance_value": 20,
- "start_date": "2023-10-01 00:00:00",
- "status": "SCHEDULED",
- "voucher_codes": [
- {
- "code": "example-code",
- "description": "example",
- "end_date": "2023-10-01 00:00:00",
- "id": "111111l1",
- "start_date": "2023-10-01 00:00:00",
- "groups": [
- {
- "id": "111111l1",
- "name": "example"
}
]
}
]
}
}
This endpoint deletes a scheduled Voucher Commission. Active Voucher Commissions should be retired.
campaignId required | string Example: 11111l1 The ID of the campaign the voucher commission belongs to |
commissionId required | string Example: 11111l1 The ID of the commission to retire the Voucher commissions for |
{- "execution_time": "0.30000 seconds",
- "voucher_commission": {
- "description": "example",
- "end_date": "2023-10-01 00:00:00",
- "group_limit": {
- "id": "111111l1",
- "name": "example"
}, - "id": "111111l1",
- "last_modified": "2023-10-01 00:00:00",
- "last_modified_by": "111111l1",
- "meta_fields": [
- {
- "name": "sku",
- "value": [
- "1"
], - "weight": 1
}
], - "performance_model": "fixed_cpa",
- "performance_value": 20,
- "start_date": "2023-10-01 00:00:00",
- "status": "DELETED",
- "voucher_codes": [
- {
- "code": "example-code",
- "description": "example",
- "end_date": "2023-10-01 00:00:00",
- "id": "111111l1",
- "start_date": "2023-10-01 00:00:00",
- "groups": [
- {
- "id": "111111l1",
- "name": "example"
}
]
}
]
}
}
This endpoint retires an active Voucher Commission. Scheduled Voucher Commissions should be deleted.
campaignId required | string Example: 11111l1 The ID of the campaign the voucher commission belongs to |
commissionId required | string Example: 11111l1 The ID of the commission to retire the Voucher commissions for |
{- "execution_time": "0.30000 seconds",
- "voucher_commission": {
- "description": "example",
- "end_date": "2023-10-01 00:00:00",
- "group_limit": {
- "id": "111111l1",
- "name": "example"
}, - "id": "111111l1",
- "last_modified": "2023-10-01 00:00:00",
- "last_modified_by": "111111l1",
- "meta_fields": [
- {
- "name": "sku",
- "value": [
- "1"
], - "weight": 1
}
], - "performance_model": "fixed_cpa",
- "performance_value": 20,
- "start_date": "2023-10-01 00:00:00",
- "status": "RETIRED",
- "voucher_codes": [
- {
- "code": "example-code",
- "description": "example",
- "end_date": "2023-10-01 00:00:00",
- "id": "111111l1",
- "start_date": "2023-10-01 00:00:00",
- "groups": [
- {
- "id": "111111l1",
- "name": "example"
}
]
}
]
}
}
This endpoint lists all upcoming and currently active commission tiers for the given campaign.
campaignId required | string The ID of the campaign to list the commission tiers for |
{- "tiers": [
- {
- "id": "string",
- "name": "string",
- "start_date": "string",
- "end_date": "string",
- "evaluation_period": 0,
- "reward_pending": true,
- "reward_model": "fixed_reward",
- "performance_measurement": "total_items",
- "meta_fields": [
- {
- "name": "string",
- "weight": 0,
- "value": null
}
], - "levels": [
- {
- "threshold": 0.01,
- "bonus_value": 0.01
}
], - "publishers": [
- {
- "id": "string",
- "name": "string"
}
], - "groups": [
- {
- "id": "string",
- "name": "string"
}
], - "status": "ACTIVE"
}
]
}
This creates a new commission tier for the given campaign
campaignId required | string The ID of the campaign to create the commission tier for |
id | string |
name required | string |
start_date required | string^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$ The Start Date of the Commission Tier |
end_date required | string^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$ The End Date of the Commission Tier |
evaluation_period required | integer [ 0 .. 86399999 ] The earliest number of seconds after the end date the Commission Tier will be rewarded. Maximum length is 86,399,999 seconds, or rather, less than 1000 days exactly |
reward_pending required | boolean Enum: true false If enabled, pending conversion items can also be rewarded. |
reward_model required | string (Reward Model) Enum: "fixed_reward" "fixed_cpa" "percentage_cpa" Model used to calculate Partner rewards |
performance_measurement required | string (Performance Measurement) Enum: "total_items" "total_revenue" The measurement used to calculate Partners performance |
required | Array of objects (Meta Field Value) |
required | Array of objects (Commission Tier Level) non-empty An array of Commission Tier Levels. Each Commission Tier Level's threshold must be unique. |
publishers | Array of strings (Partner ID) >= 0 items |
groups | Array of strings (Group ID) >= 0 items |
{- "id": "string",
- "name": "string",
- "start_date": "string",
- "end_date": "string",
- "evaluation_period": 0,
- "reward_pending": true,
- "reward_model": "fixed_reward",
- "performance_measurement": "total_items",
- "meta_fields": [
- {
- "name": "string",
- "value": null
}
], - "levels": [
- {
- "threshold": 0.01,
- "bonus_value": 0.01
}
], - "publishers": [
- "string"
], - "groups": [
- "string"
]
}
{- "tier": {
- "id": "string",
- "name": "string",
- "start_date": "string",
- "end_date": "string",
- "evaluation_period": 0,
- "reward_pending": true,
- "reward_model": "fixed_reward",
- "performance_measurement": "total_items",
- "meta_fields": [
- {
- "name": "string",
- "weight": 0,
- "value": null
}
], - "levels": [
- {
- "threshold": 0.01,
- "bonus_value": 0.01
}
], - "publishers": [
- {
- "id": "string",
- "name": "string"
}
], - "groups": [
- {
- "id": "string",
- "name": "string"
}
], - "status": "ACTIVE"
}
}
Modifies the commission tier for the given tier ID and campaign
campaignId required | string The ID of the campaign to update the commission tier for |
tierId required | string The ID of the tier to update |
name | string |
start_date | string^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$ The Start Date of the Commission Tier |
end_date | string^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$ The End Date of the Commission Tier |
evaluation_period | integer [ 0 .. 86399999 ] The earliest number of seconds after the end date the Commission Tier will be rewarded. Maximum length is 86,399,999 seconds, or rather, less than 1000 days exactly |
reward_pending | boolean Enum: true false If enabled, pending conversion items can also be rewarded. |
reward_model | string Enum: "fixed_reward" "fixed_cpa" "percentage_cpa" Model used to calculate Partner rewards |
performance_measurement | string Enum: "total_items" "total_revenue" The measurement used to calculate Partners performance |
Array of objects (Meta Field Value) | |
Array of objects (Commission Tier Level) non-empty | |
publishers | Array of strings (Partner ID) >= 0 items |
groups | Array of strings (Group ID) >= 0 items |
{- "name": "string",
- "start_date": "string",
- "end_date": "string",
- "evaluation_period": 0,
- "reward_pending": true,
- "reward_model": "fixed_reward",
- "performance_measurement": "total_items",
- "meta_fields": [
- {
- "name": "string",
- "value": null
}
], - "levels": [
- {
- "threshold": 0.01,
- "bonus_value": 0.01
}
], - "publishers": [
- "string"
], - "groups": [
- "string"
]
}
{- "tier": {
- "id": "string",
- "name": "string",
- "start_date": "string",
- "end_date": "string",
- "evaluation_period": 0,
- "reward_pending": true,
- "reward_model": "fixed_reward",
- "performance_measurement": "total_items",
- "meta_fields": [
- {
- "name": "string",
- "weight": 0,
- "value": null
}
], - "levels": [
- {
- "threshold": 0.01,
- "bonus_value": 0.01
}
], - "publishers": [
- {
- "id": "string",
- "name": "string"
}
], - "groups": [
- {
- "id": "string",
- "name": "string"
}
], - "status": "ACTIVE"
}
}
Get Partner Commissions. Active and Scheduled Commissions will be returned
campaignId required | string The ID of the campaign for which to get partner commission rates |
publisherId required | string The ID of a partner on a campaign |
status | string Value: "scheduled" Retrieve Commissions with a specifc Status |
type | string Enum: "default" "campaign" Retrieve Commissions of a specific Commission Type |
{- "commissions": [
- {
- "id": null,
- "type": "default",
- "description": "string",
- "start_date": null,
- "end_date": null,
- "commission_based_on_field": "string",
- "status": "ACTIVE",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "rates": [
- {
- "id": "string",
- "scope": "publisher",
- "name": "string",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "cookie_period": null
}
]
}
]
}
Get Partner Default Commissions
campaignId required | string The ID of the campaign for which to get partner commission rates |
publisherId required | string The ID of a Partner on a campaign |
{- "description": "The Default Commission",
- "performance_value": "2.5",
- "performance_model": "fixed_cpa",
- "last_modified_by": "3",
- "last_modified": "2010-01-01 12:30:00",
- "publishers": {
- "id": "10110l2398476",
- "performance_value": "3.25",
- "name": "Best Partner"
}, - "groups": {
- "id": "111001l90872354",
- "performance_value": "3.75",
- "name": "Special Group"
}
}
This endpoint lists partner commissions for the given partner and campaign.
publisherId required | string The ID of the Partner to list commissions for |
campaignId required | string The ID of the campaign to list the Partner commissions for |
{- "commissions": [
- {
- "id": "string",
- "description": "string",
- "performance_value": 0.01,
- "performance_model": "cpc",
- "start_date": "string",
- "end_date": "string",
- "status": "ACTIVE",
- "meta_fields": [
- {
- "name": "string",
- "value": null
}
], - "last_modified": "string",
- "last_modified_by": "string",
- "cookie_period": 0,
- "commission_based_on_field": "string"
}
]
}
This endpoint lists partner voucher commissions for the given partner and campaign.
publisherId required | string The ID of the partner to list commissions for |
campaignId required | string The ID of the campaign to list the partner commissions for |
{- "voucher_commissions": [
- {
- "id": "string",
- "description": "string",
- "performance_value": 0.01,
- "performance_model": "cpc",
- "start_date": "string",
- "end_date": "string",
- "status": "ACTIVE",
- "meta_fields": [
- {
- "name": "string",
- "value": null
}
], - "last_modified": "string",
- "last_modified_by": "string",
- "voucher_codes": [
- {
- "id": "string",
- "code": "string",
- "description": "string",
- "start_date": "string",
- "end_date": "string",
- "groups": [
- {
- "id": "string",
- "name": "string"
}
]
}
], - "commission_based_on_field": "string"
}
]
}
This endpoint lists partner promotional commissions for the given partner and campaign.
publisherId required | string The ID of the Partner to list commissions for |
campaignId required | string The ID of the campaign to list the Partner commissions for |
{- "promotions": [
- {
- "id": "string",
- "description": "string",
- "performance_value": 0.01,
- "performance_model": "cpc",
- "start_date": "string",
- "end_date": "string",
- "cookie_period": 0,
- "commission_based_on_field": "string",
- "status": "ACTIVE",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "publishers": [
- {
- "id": "string",
- "name": "string"
}
], - "groups": [
- {
- "id": "string",
- "name": "string"
}
], - "last_modified": "string",
- "last_modified_by": "string"
}
]
}
This endpoint lists partner tiered commissions for the given partner and campaign.
publisherId required | string The ID of the Partner to list commissions for |
campaignId required | string The ID of the campaign to list the Partner commissions for |
{- "tiers": [
- {
- "id": "string",
- "name": "string",
- "start_date": "string",
- "end_date": "string",
- "evaluation_period": 0,
- "reward_pending": true,
- "reward_model": "fixed_reward",
- "performance_measurement": "total_items",
- "meta_fields": [
- {
- "name": "string",
- "weight": 0,
- "value": null
}
], - "levels": [
- {
- "threshold": 0.01,
- "bonus_value": 0.01
}
], - "publishers": [
- {
- "id": "string",
- "name": "string"
}
], - "groups": [
- {
- "id": "string",
- "name": "string"
}
], - "status": "ACTIVE"
}
]
}
This endpoint lists all active commissions including default, standard, voucher and promotional commissions for a partner a campaign
campaignId required | string The ID of the campaign to list the commissions for |
publisherId required | string The ID of a Partner on a campaign |
at | string <date-time> The date and time to show the active commissions for. If not set defaults to now. |
{- "active_commissions": [
- {
- "id": "string",
- "type": "default",
- "description": "string",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z",
- "commission_based_on_field": "string",
- "status": "ACTIVE",
- "meta_fields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "rates": [
- {
- "id": "string",
- "scope": "publisher",
- "name": "string",
- "performance_value": 0,
- "performance_model": "fixed_cpa",
- "cookie_period": null
}
]
}
]
}
Determine the meta fields available when filtering commissions. This endpoint returns either the default set of meta fields, or a custom set which replaces the default fields.
campaignId required | string The ID of the campaign to list the commission tiers for |
{- "meta_fields": [
- {
- "name": "string",
- "weight": 0
}
]
}
Returns the meta fields available when defining commission tiers. This endpoint returns campaign meta fields, plus meta fields that can be used to refine commission tiers, but not commission rates.
campaignId required | string The ID of the campaign to list the commission tiers for |
{- "meta_fields": [
- {
- "name": "string",
- "weight": 0
}
]
}
Note: Attribution is a limited availability BETA feature. Attribution features allow you to control who the transaction is attributed to, based on the the configured rules. To process attribution rules we analyse clicks within the click trail going back the length of the cookie period for the campaign.
Get available ongoing and upcoming attribution opportunities for the given partner.
Any of the keys within the response will be excluded if they are not applicable, such as not being enabled or configured for the partner.
campaign_id required | string The ID of the campaign |
partner_id required | string The ID of the partner |
{- "data": {
- "preferred_partner": [
- {
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z"
}
], - "exclusive_codes": [
- {
- "code": {
- "operator": "EQUALS",
- "value": "string"
}, - "start_date": "2019-08-24T14:15:22Z",
- "end_date": null
}
], - "in_cart": {
- "threshold": 0
}, - "split": {
- "initiator": 0,
- "contributor_missing": "converter",
- "converter": 0
}
}, - "meta": {
- "preferred_partner": true,
- "exclusive_codes": true
}
}
Get the status of each of the Attribution Settings
campaignId required | string Example: 111111l1 The ID of the Campaign |
{- "data": {
- "code_suppression": false,
- "preferred_partners": true,
- "exclusive_codes": true,
- "in_cart": false,
- "split": true
}
}
Update the Attribution Settings
campaignId required | string Example: 111111l1 The ID of the Campaign |
code_suppression | boolean Is Code Suppression enabled? |
preferred_partners | boolean Is Preferred Partners Enabled? |
exclusive_codes | boolean Is Exclusive Codes enabled? |
in_cart | boolean Is In-Cart enabled? Mutually exclusive with Split |
split | boolean Is Split enabled? Mutually exclusive with In-Cart |
first_click | boolean Is First Click enabled? Mutually exclusive with In-Cart and Split |
{- "code_suppression": true,
- "preferred_partners": true,
- "exclusive_codes": true,
- "in_cart": true,
- "split": true,
- "first_click": true
}
{- "data": {
- "code_suppression": false,
- "preferred_partners": true,
- "exclusive_codes": true,
- "in_cart": false,
- "split": true
}
}
Suppressed codes are assigned to a campaign. If a suppressed code is matched, the sale is no longer rewarded - even if there are supporting clicks.
Show a list of all configured suppressed codes. May be filtered with several filters.
campaignId required | string Example: 111111l1 The ID of the Campaign |
limit | integer [ 0 .. 200 ] Used to limit the response to a number of results |
offset | integer >= 0 Used to offset the results we're returning |
query | string^[-a-z0-9_]++$ Search for specific codes |
dates | string^.*?,.*?$ Example: dates=2020-10-01,2020-10-31 Search for codes within a date-time range. Comma separated start and end date-times |
statuses | string^\w+(,\w+)*$ Example: statuses=active,scheduled,expired A comma separated list of statuses to return results for |
{- "data": [
- {
- "id": "string",
- "voucher_code": {
- "value": "SUPP-1",
- "operator": "EQUALS"
}, - "start_date": "2019-08-24T14:15:22Z",
- "end_date": null,
- "status": "scheduled"
}
], - "hypermedia": {
- "next": null
}, - "meta": {
- "enabled": true
}
}
Create a Suppressed Code configuration
campaignId required | string Example: 111111l1 The ID of the Campaign |
required | string or object or Suppressed Code All Values (object) |
start_date required | string <date-time> |
end_date | stringnull <date-time> |
{- "voucher_code": "string",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": null
}
{- "data": {
- "id": "string",
- "voucher_code": {
- "value": "SUPP-1",
- "operator": "EQUALS"
}, - "start_date": "2019-08-24T14:15:22Z",
- "end_date": null,
- "status": "scheduled"
}
}
Delete Suppressed Codes. This is only possible if the Suppressed Codes are scheduled, otherwise an error will occur.
campaignId required | string Example: 111111l1 The ID of the Campaign |
suppressed_code_ids required | Array of strings non-empty |
{- "suppressed_code_ids": [
- "string"
]
}
{- "error": {
- "errors": [
- {
- "type": "validation_error",
- "code": "invalid_suppressed_code",
- "message": "Unable to delete Suppressed Code 12344. Only scheduled Suppressed Code can be deleted."
}
]
}, - "code": 400,
- "message": "Bad Request"
}
Get a Suppressed Code instance
campaignId required | string Example: 111111l1 The ID of the Campaign |
id required | string Example: 1001l1 The ID of the Suppressed Code |
{- "data": {
- "id": "string",
- "voucher_code": {
- "value": "SUPP-1",
- "operator": "EQUALS"
}, - "start_date": "2019-08-24T14:15:22Z",
- "end_date": null,
- "status": "scheduled"
}
}
Update a Suppressed Code. All request body properties are optional but at least one must be specified for update.
campaignId required | string Example: 111111l1 The ID of the Campaign |
id required | string Example: 1001l1 The ID of the Suppressed Code |
string or object or Suppressed Code All Values (object) | |
start_date | string <date-time> The date from which the voucher code is valid. This is inclusive. |
string or null The date until the voucher code is valid. This is inclusive. |
{- "voucher_code": "string",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z"
}
{- "data": {
- "id": "string",
- "voucher_code": {
- "value": "SUPP-1",
- "operator": "EQUALS"
}, - "start_date": "2019-08-24T14:15:22Z",
- "end_date": null,
- "status": "scheduled"
}
}
Exclusive codes are assigned to a partner. If a partner’s exclusive code is redeemed, the partner wins the sale - even if they don’t contribute any clicks.
Show a list of all configured exclusive codes. May be filtered with several filters.
campaignId required | string Example: 111111l1 The ID of the Campaign |
limit | integer [ 0 .. 200 ] Used to limit the response to a number of results |
offset | integer >= 0 Used to offset the results we're returning |
query | string^[-a-z0-9_]++$ Search for specific codes or partner names |
dates | string^.*?,.*?$ Example: dates=2020-10-01T00:00:00Z,2020-10-31T00:00:00Z Search for codes within a date-time range. Comma separated start and end date-times |
statuses | string^\w+(,\w+)*$ Example: statuses=active,scheduled,expired A comma separated list of statuses to return results for |
{- "data": [
- {
- "id": "10110l22587",
- "voucher_code": {
- "value": "SUMMER10",
- "operator": "EQUALS"
}, - "partner": {
- "id": "10110l567801",
- "name": "Joel",
- "status": "approved"
}, - "start_date": "2022-11-01T00:00:00+00:00",
- "end_date": "2022-11-30T23:59:59+00:00",
- "is_clickless": false,
- "status": "scheduled"
}
], - "count": 15,
- "hypermedia": {
}, - "meta": {
- "enabled": true
}
}
Create an Exclusive Code configuration
campaignId required | string Example: 111111l1 The ID of the Campaign |
required | string or object |
partner_id required | string non-empty ^[a-z0-9]+$ |
start_date required | string <date-time> |
end_date | stringnull <date-time> |
is_clickless | boolean Default: false Specifies if the Exclusive Code has Clickless Campaign Based Reallocation behaviour. This setting only applies to Master Campaign setups. |
{- "voucher_code": "string",
- "partner_id": "string",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": null,
- "is_clickless": false
}
{- "data": {
- "id": "10110l22587",
- "voucher_code": {
- "value": "SUMMER10",
- "operator": "EQUALS"
}, - "partner": {
- "id": "10110l567801",
- "name": "Joel",
- "status": "approved"
}, - "start_date": "2022-11-01T00:00:00+00:00",
- "end_date": "2022-11-30T23:59:59+00:00",
- "is_clickless": false,
- "status": "scheduled"
}
}
Delete Exclusive Codes. This is only possible if the Exclusive Codes are scheduled, otherwise an error will occur.
campaignId required | string Example: 111111l1 The ID of the Campaign |
exclusive_code_ids required | Array of strings non-empty |
{- "exclusive_code_ids": [
- "string"
]
}
Get an Exclusive Code instance
campaignId required | string Example: 111111l1 The ID of the Campaign |
id required | string Example: 1001l1 The ID of the Exclusive Code |
{- "data": {
- "id": "10110l22587",
- "voucher_code": {
- "value": "SUMMER10",
- "operator": "EQUALS"
}, - "partner": {
- "id": "10110l567801",
- "name": "Joel",
- "status": "approved"
}, - "start_date": "2022-11-01T00:00:00+00:00",
- "end_date": "2022-11-30T23:59:59+00:00",
- "is_clickless": false,
- "status": "scheduled"
}
}
Update an Exclusive Code. All request body properties are optional but at least one must be specified for update.
campaignId required | string Example: 111111l1 The ID of the Campaign |
id required | string Example: 1001l1 The ID of the Exclusive Code |
string or object | |
partner_id | string The ID of the Partner who will receive commission when this voucher code is used. |
start_date | string <date-time> The date from which the voucher code is valid. This is inclusive. |
end_date | stringnull <date-time> The date until the voucher code is valid. This is inclusive. |
is_clickless | boolean Default: false Specifies if the Exclusive Code has Clickless Campaign Based Reallocation behaviour. This setting only applies to Master Campaign setups. |
{- "voucher_code": "string",
- "partner_id": "string",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": null,
- "is_clickless": false
}
{- "data": {
- "id": "10110l22587",
- "voucher_code": {
- "value": "SUMMER10",
- "operator": "EQUALS"
}, - "partner": {
- "id": "10110l567801",
- "name": "Joel",
- "status": "approved"
}, - "start_date": "2022-11-01T00:00:00+00:00",
- "end_date": "2022-11-30T23:59:59+00:00",
- "is_clickless": false,
- "status": "scheduled"
}
}
Campaigns can have one preferred partner at any time. A sale will be attributed to a preferred partner if they contribute any clicks to that sale.
Show a list of all configured preferred partners. May be filtered with several filters.
campaignId required | string Example: 111111l1 The ID of the Campaign |
limit | integer [ 0 .. 200 ] Used to limit the response to a number of results. Defaults to 20 |
offset | integer >= 0 Used to offset the results we're returning |
name | string^[-a-z0-9_]++$ Search for partner by name. Alphanumeric with dashes and underscores |
dates | string^.*?,.*?$ Example: dates=2020-10-01T00:00:00Z,2020-10-31T00:00:00Z Search for preferred partners within a date range. Comma separated start and end date |
statuses | string^\w+(,\w+)*$ Example: statuses=active,scheduled,expired A comma separated list of statuses to return results for |
{- "data": [
- {
- "id": "10110l2398476",
- "partner": {
- "id": "10110l567801",
- "name": "Joel",
- "status": "approved"
}, - "start_date": "2022-11-01T00:00:00+00:00",
- "end_date": "2022-11-30T23:59:59+00:00",
- "status": "scheduled",
- "created": "2022-09-24T14:15:22+00:00"
}
], - "hypermedia": {
}, - "meta": {
- "enabled": true
}
}
Create a Preferred Partner configuration
campaignId required | string Example: 111111l1 The ID of the Campaign |
partner_id required | string non-empty ^[a-z0-9]+$ The ID of the Partner to prefer for this date range |
start_date required | string <date-time> The date the partner is considered preferred from |
end_date required | string <date-time> The date the partner is considered preferred until. This is inclusive. |
{- "partner_id": "10110l567801",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z"
}
{- "data": {
- "id": "10110l2398476",
- "partner": {
- "id": "10110l567801",
- "name": "Joel",
- "status": "approved"
}, - "start_date": "2022-11-01T00:00:00+00:00",
- "end_date": "2022-11-30T23:59:59+00:00",
- "status": "scheduled",
- "created": "2022-09-24T14:15:22+00:00"
}
}
Delete Preferred Partners. This is only possible if the Preferred Partners are scheduled, otherwise an error will occur.
campaignId required | string Example: 111111l1 The ID of the Campaign |
preferred_partner_ids required | Array of strings non-empty |
{- "preferred_partner_ids": [
- "string"
]
}
Delete a Preferred Partner. This is only possible if the Preferred Partner is scheduled, otherwise an error will occur.
campaignId required | string Example: 111111l1 The ID of the Campaign |
id required | string Example: 10110l2398476 The Preferred Partner ID |
Get a Preferred Partner by ID
campaignId required | string Example: 111111l1 The ID of the Campaign |
id required | string Example: 10110l2398476 The Preferred Partner ID |
{- "data": {
- "id": "10110l2398476",
- "partner": {
- "id": "10110l567801",
- "name": "Joel",
- "status": "approved"
}, - "start_date": "2022-11-01T00:00:00+00:00",
- "end_date": "2022-11-30T23:59:59+00:00",
- "status": "scheduled",
- "created": "2022-09-24T14:15:22+00:00"
}
}
Update Preferred Partner
campaignId required | string Example: 111111l1 The ID of the Campaign |
id required | string Example: 10110l2398476 The Preferred Partner ID |
partner_id | string The ID of the Partner to prefer for this date range |
start_date | string <date-time> The date the partner is considered preferred from |
end_date | string <date-time> The date the partner is considered preferred until. This is inclusive. |
{- "partner_id": "10110l567801",
- "start_date": "2022-11-01T00:00:00+00:00",
- "end_date": "2022-11-30T23:59:59+00:00"
}
{- "data": {
- "id": "10110l2398476",
- "partner": {
- "id": "10110l567801",
- "name": "Joel",
- "status": "approved"
}, - "start_date": "2022-11-01T00:00:00+00:00",
- "end_date": "2022-11-30T23:59:59+00:00",
- "status": "scheduled",
- "created": "2022-09-24T14:15:22+00:00"
}
}
Define a period leading up to the time of purchase where clicks will be ignored and not attributed with a commission. Helps prevent last-click poaching.
Update the In-Cart settings for the Given Campaign
campaignId required | string Example: 111111l1 The ID of the Campaign |
threshold required | integer [ 1 .. 3540 ] Duration in seconds |
{- "threshold": 1
}
{- "data": {
- "threshold": 1
}
}
Split all CPA commissions between the initiator (first click), contributors (supporting click) and convertor (last click) in the click chain.
Get the Split attribution settings for the given Campaign
campaignId required | string Example: 111111l1 The ID of the Campaign |
{- "data": {
- "initiator": 50,
- "contributor_missing": "converter",
- "converter": 50,
- "excluded_partners": [
- {
- "id": "10110l123",
- "name": "Joel"
}, - {
- "id": "10110l456",
- "name": "Jenny"
}
], - "excluded_groups": [
- {
- "id": "10110l789",
- "name": "Cashback"
}, - {
- "id": "10110l246",
- "name": "Voucher"
}
]
}, - "meta": {
- "enabled": true
}
}
Update the Split settings for the given Campaign
campaignId required | string Example: 111111l1 The ID of the Campaign |
initiator | number [ 0 .. 100 ] What portion of the conversion does the initiator receive |
contributor_missing | string Enum: "converter" "initiator" "split" If no contributors are found, how should the remaining amount be divided? |
converter | number [ 0 .. 100 ] What portion of the conversion does the converter receive |
excluded_partners | Array of strings An array of partner IDs that are not affected by split attribution. |
excluded_groups | Array of strings An array of group IDs that are not affected by split attribution. |
{- "initiator": 50,
- "contributor_missing": "split",
- "converter": 50,
- "excluded_partners": [
- "10110l123",
- "10110l456"
], - "excluded_groups": [
- "10110l789",
- "10110l246"
]
}
{- "data": {
- "initiator": 50,
- "contributor_missing": "converter",
- "converter": 50,
- "excluded_partners": [
- {
- "id": "10110l123",
- "name": "Joel"
}, - {
- "id": "10110l456",
- "name": "Jenny"
}
], - "excluded_groups": [
- {
- "id": "10110l789",
- "name": "Cashback"
}, - {
- "id": "10110l246",
- "name": "Voucher"
}
]
}
}
Get Publishers for Network
network_id required | string The publishers' network id |
account_created | string Example: account_created=2020-01-01..2021-01-01 Date range for when partners signed up |
string or Array of strings The publishers' campaign ids | |
string or Array of strings The publishers' campaign statuses | |
string or Array of strings The publishers' commission group ids | |
company_name | string The publishers' company name |
fields | string, Enum: "account_created" "address" "campaigns" "commission_groups" "company_name" "company_logo" "contact_email" "contact_name" "default_currency" "description" "id" "locale" "metadata" "name" "operating_country" "partner_collection_ids" "phone_number" "promotional_countries" "promotional_method" "reporting_identifier" "vertical" "websites" "network_notes" "network_id" "signup_ip" CSV list of fields to be returned as part of the response |
string or Array of strings Filter by partner IDs | |
include_discovery | string (Boolean) Enum: "y" "n" Whether to include partners with pending requests from brand discovery or invites from partner discovery |
limit | integer The number of records to retrieve |
string or Array of strings The publishers' contact locale (locale codes), see https://api.partnerize.com/reference/locale | |
string or Array of strings The publishers' network status. Choosing requested or invited will automatically enable the include_discovery option for convenience. | |
offset | integer Starting position |
string or Array of strings The publishers' operating countries (country isos), see https://api.partnerize.com/reference/country | |
partner_collection_id | string Filter by partner collection ID |
string or Array of strings The publishers' promotional countries (country isos), see https://api.partnerize.com/reference/country | |
string or Array of strings The publishers' promotional methods , see https://api.partnerize.com/reference/promotional_method | |
publisher_email | string |
publisher_name | string Search by the publishers' company name, falling back the publisher name |
string or Array of strings | |
publisher_website | string |
reporting_identifier | string |
search | string Search for matching publishers |
sort | string Example: sort=name Order results |
string or Array of strings The publishers' verticals, see https://api.partnerize.com/reference/vertical | |
recipient_status | string Example: recipient_status=111111l1 Accepts a communication ID. Adds a flag into the response whether publishers are on that communication's recipient list |
{- "execution_time": "0.08853 seconds",
- "count": 56,
- "limit": 100,
- "offset": 0,
- "publishers": [
- {
- "id": "10000l1",
- "name": "Name",
- "company_name": "Company Name",
- "contact_email": "contact@partnerize.com",
- "locale": "en",
- "operating_country": {
- "id": "string",
- "iso": "string",
- "name": "string"
}, - "vertical": {
- "id": "string",
- "name": "string"
}, - "promotional_method": {
- "id": "string",
- "name": "string"
}, - "websites": [
- {
- "id": "string",
- "description": "A blog about partner marketing"
}
], - "campaigns": [
- {
- "id": "string",
- "name": "string",
- "status": "approved",
- "camref": null,
- "tracking_link": null,
- "status_changed_at": null
}
], - "commission_groups": [
- {
- "id": "string",
- "name": "string"
}
], - "partner_collection_ids": [
- "string"
], - "signup_ip": "127.0.0.1",
- "network_notes": "string",
- "network_id": "111111l1",
- "recipient_status": true
}
]
}
Export publishers for a network
network_id required | string The publishers' network id |
Accept | string Value: "charset=UTF-16" |
delimiter | string Default: "," Enum: "," "|" "\t" |
excluded_publisher_id | Array of strings |
Array of objects or objects or objects or objects | |
string or boolean | |
fields | Array of strings Items Enum: "account_created" "campaigns" "company_name" "contact_email" "contact_name" "id" "instant_messaging" "locale" "metadata" "name" "network_id" "network_notes" "operating_country" "phone_number" "promotional_method" "reporting_identifier" "signup_ip" "vertical" "websites" "commission_groups" |
{- "delimiter": ",",
- "excluded_publisher_id": [
- "string"
], - "filter": [
- {
- "property": "campaign_ids",
- "value": null
}
], - "email_result": "user@example.com",
- "fields": [
- "account_created"
]
}
created_date,signup_ip,publisher_id,account_name,reporting_identifier,available_campaigns,approved_campaigns,invited_campaigns,requested_campaigns,rejected_campaigns,contact_name,contact_email,company_name,phone_area,phone,im_provider,im_username,operating_country,contact_locale,vertical_name,promotional_method_name,websites_website_url,network_metadata_1,network_metadata_2,network_metadata_3 "2019-10-30 11:08:41",80.80.80.80,111111l1,my_account,acc_reporting_id,"Campaign Avail","Campaign App A,Campaign App B","Campaign Inv","Campaign Req","Campaign Rej","Joe Bloggs",info@partnerize.com,"Partnerize",0191,12345678,Skype,jbskype,GB,en,Retail,PPC,http://www.partnerize.com,"Network metadata 1","Network metadata 2","Network metadata 3"
Get Publishers Details for Network
network_id required | string The publishers' network id |
publisher_id required | string The publisher id |
{- "id": "10000l1",
- "name": "Name",
- "company_name": "Company Name",
- "contact_email": "contact@partnerize.com",
- "locale": "en",
- "operating_country": {
- "id": "string",
- "iso": "string",
- "name": "string"
}, - "vertical": {
- "id": "string",
- "name": "string"
}, - "promotional_method": {
- "id": "string",
- "name": "string"
}, - "websites": [
- {
- "id": "string",
- "description": "A blog about partner marketing"
}
], - "campaigns": [
- {
- "id": "string",
- "name": "string",
- "status": "approved",
- "camref": null,
- "tracking_link": null,
- "status_changed_at": null,
- "destination_url": "string",
- "advertiser_id": "string"
}
], - "commission_groups": [
- {
- "id": "string",
- "name": "string"
}
], - "partner_collection_ids": [
- "string"
], - "signup_ip": "127.0.0.1",
- "network_notes": "string",
- "network_id": "111111l1",
- "account_created": "2020-09-01T14:20:03+00:01",
- "contact_name": "string",
- "description": "string",
- "active": true,
- "address": {
- "line1": "string",
- "line2": "string",
- "line3": "string",
- "line4": "string",
- "postcode": "string",
- "country": "string"
}
}
Get a list of publisher ids
network_id required | string The publishers' network id |
account_created | string Example: account_created=2020-01-01..2021-01-01 Date range for when partners signed up |
string or Array of strings The publishers' campaign ids | |
string or Array of strings The publishers' campaign statuses | |
string or Array of strings The publishers' commission group ids | |
company_name | string The publishers' company name |
fields | string, Enum: "account_created" "address" "campaigns" "commission_groups" "company_name" "company_logo" "contact_email" "contact_name" "default_currency" "description" "id" "locale" "metadata" "name" "operating_country" "partner_collection_ids" "phone_number" "promotional_countries" "promotional_method" "reporting_identifier" "vertical" "websites" "network_notes" "network_id" "signup_ip" CSV list of fields to be returned as part of the response |
string or Array of strings Filter by partner IDs | |
include_discovery | string (Boolean) Enum: "y" "n" Whether to include partners with pending requests from brand discovery or invites from partner discovery |
limit | integer The number of records to retrieve |
string or Array of strings The publishers' contact locale (locale codes), see https://api.partnerize.com/reference/locale | |
string or Array of strings The publishers' network status. Choosing requested or invited will automatically enable the include_discovery option for convenience. | |
offset | integer Starting position |
string or Array of strings The publishers' operating countries (country isos), see https://api.partnerize.com/reference/country | |
string or Array of strings The publishers' promotional countries (country isos), see https://api.partnerize.com/reference/country | |
string or Array of strings The publishers' promotional methods , see https://api.partnerize.com/reference/promotional_method | |
publisher_email | string |
publisher_name | string Search by the publishers' company name, falling back the publisher name |
string or Array of strings | |
publisher_website | string |
reporting_identifier | string |
search | string Search for matching publishers |
sort | string Example: sort=name Order results |
string or Array of strings The publishers' verticals, see https://api.partnerize.com/reference/vertical |
{- "execution_time": "0.08853 seconds",
- "count": 1,
- "publisher_ids": [
- "string"
]
}
Create publisher collection
network_id required | string The publishers' network id |
partner_ids | Array of strings |
ttl | integer |
{- "filter": [
- {
- "property": "commission_group_ids",
- "value": "string"
}
], - "excluded_publisher_ids": [
- "string"
], - "expected_count": 0,
- "ttl": 0
}
{- "collection": {
- "id": "111111l86",
- "network_id": "111111l1",
- "created_by": "111111l1",
- "created": {
- "date": "2023-04-07 11:12:25.000000",
- "timezone_type": 3,
- "timezone": "UTC"
}, - "updated": {
- "date": "2023-04-07 11:12:25.000000",
- "timezone_type": 3,
- "timezone": "UTC"
}, - "delete": {
- "date": "2023-04-07 11:12:25.000000",
- "timezone_type": 3,
- "timezone": "UTC"
}, - "partners_count": 12
}
}
network_id required | string The publishers' network id |
collection-id required | string The collection id |
{- "error": {
- "errors": [
- {
- "type": "string",
- "code": "string",
- "message": "string"
}
], - "message": "string",
- "code": 0
}
}
network_id required | string The publishers' network id |
collection-id required | string The collection id |
partner_ids | Array of strings |
{- "filter": [
- {
- "property": "commission_group_ids",
- "value": "string"
}
], - "excluded_publisher_ids": [
- "string"
], - "expected_count": 0
}
{- "collection": {
- "id": "111111l86",
- "network_id": "111111l1",
- "created_by": "111111l1",
- "created": {
- "date": "2023-04-07 11:12:25.000000",
- "timezone_type": 3,
- "timezone": "UTC"
}, - "updated": {
- "date": "2023-04-07 11:12:25.000000",
- "timezone_type": 3,
- "timezone": "UTC"
}, - "delete": {
- "date": "2023-04-07 11:12:25.000000",
- "timezone_type": 3,
- "timezone": "UTC"
}, - "partners_count": 12
}
}
network_id required | string The publishers' network id |
collection-id required | string The collection id |
partner_ids | Array of strings |
{- "filter": [
- {
- "property": "commission_group_ids",
- "value": "string"
}
], - "excluded_publisher_ids": [
- "string"
], - "expected_count": 0
}
{- "collection": {
- "id": "111111l86",
- "network_id": "111111l1",
- "created_by": "111111l1",
- "created": {
- "date": "2023-04-07 11:12:25.000000",
- "timezone_type": 3,
- "timezone": "UTC"
}, - "updated": {
- "date": "2023-04-07 11:12:25.000000",
- "timezone_type": 3,
- "timezone": "UTC"
}, - "delete": {
- "date": "2023-04-07 11:12:25.000000",
- "timezone_type": 3,
- "timezone": "UTC"
}, - "partners_count": 12
}
}
Lists partners with campaign requests or invites
networkId required | string ID of the brand network |
vertical_id | string ID of the vertical being filtered by |
promo_method_id | string ID of the promo method being filtered by |
operating_country | string The operating country code being filtered by |
promotional_country | string The promotional country ISO code |
campaign_id | string ID of the vertical being filtered by |
status | string The status of the interaction |
search | string Query string being search for which gets checked against the applicable fields. |
{- "partners": [
- {
- "id": "111111l300761",
- "name": "Partner UK",
- "reporting_identifier": "wedo.com",
- "active": false,
- "company_name": "Partner UK",
- "contact_name": "John Smith",
- "contact_email": "john@partner.uk",
- "description": "Partner UK",
- "account_created": "2020-09-01 14:20:03",
- "phone_number": "+440201234123",
- "operating_country": {
- "iso": "GB",
- "name": "United Kingdom"
}, - "vertical": {
- "id": "1",
- "name": "Retail"
}, - "promotional_method": {
- "id": 1,
- "name": "PPC"
}, - "promotional_countries": [
- {
- "iso": "string",
- "name": "string"
}
], - "websites": [
], - "request_count": 0,
- "invite_count": 0
}
], - "hypermedia": {
- "pagination": {
- "total_page_count": 0,
- "total_item_count": 0,
- "first_page": "string",
- "last_page": "string",
- "next_page": "string",
- "previous_page": null
}
}
}
Lists filters which can be used in conjuction with the List Campaign Requests and Invites contains the values required for the campaign interaction page filters.
networkId required | string ID of the brand network |
{- "filters": {
- "promo_methods": [
- {
- "name": "Cashback",
- "value": "73"
}
], - "verticals": [
- {
- "name": "Automotive",
- "value": "179"
}
], - "campaigns": [
- {
- "name": "Adidas",
- "value": "111111l32"
}
], - "operating_countries": [
- {
- "name": "Afghanistan",
- "value": "AF"
}
], - "statuses": [
- "invited",
- "requested"
], - "custom_promo_methods": [
- {
- "name": "Cashback",
- "value": "73"
}
], - "custom_verticals": [
- {
- "name": "Automotive",
- "value": "179"
}
]
}
}
Retrieve details for campaign invites and requests of a particular partner.
networkId required | string ID of the brand network |
publisherId required | string The ID of the partner |
{- "partner": {
- "id": "111111l300761",
- "name": "Partner UK",
- "reporting_identifier": "wedo.com",
- "active": false,
- "company_name": "Partner UK",
- "contact_name": "John Smith",
- "contact_email": "john@partner.uk",
- "description": "Partner UK",
- "account_created": "2020-09-01 14:20:03",
- "phone_number": "+440201234123",
- "operating_country": {
- "iso": "GB",
- "name": "United Kingdom"
}, - "vertical": {
- "id": "1",
- "name": "Retail"
}, - "promotional_method": {
- "id": 1,
- "name": "PPC"
}, - "promotional_countries": [
- {
- "iso": "string",
- "name": "string"
}
], - "websites": [
], - "address": {
- "line1": null,
- "line2": null,
- "line3": null,
- "line4": null,
- "postcode": null,
- "country": null
}, - "requests": [
- {
- "id": "111111l300883",
- "campaign": {
- "id": "string",
- "default_destination": null,
- "title": "string",
- "currency": {
- "iso": "GBP",
- "name": "Pound sterling",
- "symbol": "£"
}, - "advertiser_id": "string"
}
}
], - "invites": [
- {
- "id": "111111l300878",
- "campaign": {
- "id": "string",
- "default_destination": null,
- "title": "string",
- "currency": {
- "iso": "GBP",
- "name": "Pound sterling",
- "symbol": "£"
}, - "advertiser_id": "string"
}
}
]
}
}
This endpont is now Obsolete
. Use Approve and Invite Partners to Campaigns instead
An Advertiser may accept requests from Partners to join campaigns within their Network. This bulk endpoint allows a user to reject multiple requests in one call. The payload contains one or more campaign ID and partner ID pairs that uniquely identify each campaign request to accept.
networkId required | string ID of the network |
required | Array of objects |
{- "campaign_requests": [
- {
- "campaign_id": "726fl66778123",
- "publisher_id": "6aedl83886767"
}
]
}
{- "success_count": 1,
- "failure_count": 0
}
An Advertiser may decline requests from Partners to join campaigns within their Network. This bulk endpoint allows a user to decline multiple requests in one call. The payload contains one or more campaign ID and partner ID pairs that uniquely identify each campaign request to decline. Each partner and campaign pair must include a decline "reason". Use null if no reason is provided.
networkId required | string ID of the network |
required | Array of objects |
{- "campaign_requests": [
- {
- "campaign_id": "726fl66778123",
- "publisher_id": "6aedl83886767",
- "reason": "string"
}
]
}
{- "success_count": 1,
- "failure_count": 0
}
An Advertiser can invite one or more Network Partners to one or more Campaigns. The user must have manage participation permission over each campaign in the payload. The payload will be validated and invitations will be created only if all fields are valid. If a partner has already been invited or is approved on the campaign, the campaign will be skipped. If the partner has an existing request to join the campaign, the request will be resolved and the partner will be immediately approved on the campaign. Notifications will be sent according to each partner's preferences.
network_id required | string |
X-Prefer | string Enum: "return-synch" "return-asynch" |
Selection based requests simply require a list of Publisher and Campaign IDs. The server will create invitations from the combination of the two lists.
Collection based requests require a partner collection creating first.
Alternatively when inviting many Publishers at once, instead of listing every PublisherID, a filter based request allows the user to specify filters with which to match Publishers. In this case, the expected_count
should match the count returned from /v2/networks/{network_id}/publishers endpoint. You can exclude specific Publishers by listing their IDs using the excluded_publisher_id
property.
partner_collection_id | string |
campaign_id | Array of strings |
{- "partner_collection_id": "11111l1",
- "campaign_id": [
- "11111l21",
- "11111l22"
]
}
{- "success_count": 1,
- "failure_count": 0
}
List all potential invitations and approvals for given set of campaigns
network_id required | any The network id |
partner_collection_id required | string |
campaign_ids required | Array of strings |
search | string |
limit | number |
offset | number |
{- "partners": [
- {
- "id": "1101l78103",
- "name": "Greatest Partner",
- "company_name": "Greatest Partner Inc.",
- "campaigns": [
- {
- "id": "1101l78105",
- "name": "Campaign #1",
- "status": "APPROVED",
- "approval_date": "2022-01-01 00:00:00"
}
], - "websites": [
]
}
], - "count": 3,
- "limit": 10,
- "offset": 0
}
CSV all potential invitations and approvals for given set of campaigns
network_id required | any The network id |
partner_collection_id required | string |
campaign_ids required | Array of strings |
partner_id,partner_name,company_name,partner_website,campaign_id,campaign_name,campaign_status,campaign_approval_date 111111l1,voucherbox_demo,16plus_voucherbox,https://www.bbc.co.uk,111111l1,"Cards & Loans",approved,2019-10-30T11:08:41+00:00
An Advertiser can reject one or more Partners from a campaign.
network_id required | string |
X-Prefer | string Enum: "return-synch" "return-asynch" |
Selection based requests simply require a list of Publisher IDs. The server will approve publishers in the list.
Collection based requests require a partner collection creating first.
Alternatively when blocking many Publishers at once, instead of listing every PublisherID, a filter based request allows the user to specify filters with which to match Publishers. In this case, the expected_count
should match the count returned from /v2/networks/{network_id}/publishers endpoint. You can exclude specific Publishers by listing their IDs using the excluded_publisher_id
property.
partner_collection_id | string |
campaign_id | array |
{- "publisher_id": [
- "11111l1",
- "11111l2"
], - "campaign_id": [
- "11111l1",
- "11111l2"
]
}
{- "success_count": 1,
- "failure_count": 0
}
Retrieve a list of brands and their campaign discovery settings
show_test_mode | boolean Decide if campaigns should be returned if they are in test mode (default value: false) |
show_hidden | boolean Decide if campaigns should be returned if they are hidden (default value: false) |
{- "advertisers": [
- {
- "id": "string",
- "name": "string",
- "participating": true,
- "campaigns": [
- {
- "id": "string",
- "name": "string",
- "shown": true,
- "testMode": true,
- "hidden": true,
- "status": "Active"
}
]
}
]
}
Update the discovery settings of the brand
required | Array of objects (Advertiser) |
{- "advertisers": [
- {
- "id": "string",
- "name": "string",
- "participating": true,
- "campaigns": [
- {
- "id": "string",
- "name": "string",
- "shown": true
}
]
}
]
}
{- "advertisers": [
- {
- "id": "string",
- "name": "string",
- "participating": true,
- "campaigns": [
- {
- "id": "string",
- "name": "string",
- "shown": true
}
]
}
]
}
Lists all communications which the user has access to. Filtering by status is available via a query parameter.
status | string Enum: "draft" "sent" "scheduled" A comma separated list of statuses |
{- "execution_time": "0.08853 seconds",
- "communications": [
- {
- "id": "100l06",
- "name": "Awesome communication",
- "subject": "Wonderful subject",
- "from_name": "Joy O'Happy",
- "from_email": "user@example.com",
- "reply_to_email": "user@example.com",
- "type": "general",
- "campaigns": [
- "string"
], - "send_date": "2019-08-24T14:15:22Z",
- "timezone": "Europe/London",
- "status": "sent",
- "last_updated": "2019-08-24T14:15:22Z"
}
]
}
Draft communications belong to the user that created them (the owner). Note: this endpoint accepts publisher_ids or recipients, not both together
html required | string The HTML contents of the communication |
unlayer_json | string non-empty Nullable The Unlayer JSON contents of the communication |
name | string <= 64 characters |
subject | string <= 128 characters |
from_name | string <= 64 characters The from name to be used |
from_email | string <email> <= 255 characters The from email to be used |
reply_to_email | string <email> <= 255 characters The reply to email to be used |
type | string Default: "general" Enum: "general" "prospect_invitation" The purpose of email being sent |
campaigns | Array of strings <= 180 items unique |
Array of strings or objects An array containing the emails of the recipients |
{- "html": "<html>Communication content</html>",
- "unlayer_json": "{}",
- "name": "Awesome communication",
- "subject": "Wonderful subject",
- "from_name": "Joy O'Happy",
- "from_email": "user@example.com",
- "reply_to_email": "user@example.com",
- "type": "general",
- "campaigns": [
- "string"
], - "publisher_ids": [
- "string"
]
}
{- "execution_time": "0.08853 seconds",
- "communication": {
- "id": "100l06",
- "name": "Awesome communication",
- "subject": "Wonderful subject",
- "type": "general",
- "from_name": "Joy O'Happy",
- "from_email": "user@example.com",
- "reply_to_email": "user@example.com",
- "send_date": "2020-07-23T10:02:53Z",
- "timezone": "Europe/London",
- "status": "sent",
- "publisher_ids": [
- "string"
]
}, - "hypermedia": {
- "links": {
- "content": "/v2/communications/{id}/content"
}
}
}
Retrieves a communication for a given id
id required | string The ID of the communication |
{- "execution_time": "0.08853 seconds",
- "communication": {
- "id": "100l06",
- "name": "Awesome communication",
- "subject": "Wonderful subject",
- "from_name": "Joy O'Happy",
- "from_email": "user@example.com",
- "reply_to_email": "user@example.com",
- "type": "general",
- "campaigns": [
- "string"
], - "send_date": "2019-08-24T14:15:22Z",
- "timezone": "Europe/London",
- "status": "sent",
- "last_updated": "2019-08-24T14:15:22Z"
}
}
Only the owner of the draft can update it. The recipients of the communication can be defined by a list of emails or by a list of existing partner ids
id required | string The ID of the communication |
Array of strings or objects An array containing the emails of the recipients | |
name | string <= 64 characters |
subject | string <= 128 characters |
from_name | string <= 64 characters The from name to be used |
from_email | string <email> <= 255 characters The from email to be used |
reply_to_email | string <email> <= 255 characters The reply to email to be used |
type | string Default: "general" Enum: "general" "prospect_invitation" The purpose of email being sent |
campaigns | Array of strings <= 180 items unique |
{- "publisher_ids": [
- "string"
], - "name": "Awesome communication",
- "subject": "Wonderful subject",
- "from_name": "Joy O'Happy",
- "from_email": "user@example.com",
- "reply_to_email": "user@example.com",
- "type": "general",
- "campaigns": [
- "string"
]
}
{- "execution_time": "0.08853 seconds",
- "communication": {
- "id": "100l06",
- "name": "Awesome communication",
- "subject": "Wonderful subject",
- "from_name": "Joy O'Happy",
- "from_email": "user@example.com",
- "reply_to_email": "user@example.com",
- "type": "general",
- "campaigns": [
- "string"
], - "send_date": "2019-08-24T14:15:22Z",
- "timezone": "Europe/London",
- "status": "sent",
- "last_updated": "2019-08-24T14:15:22Z"
}
}
Returns the HTML content of an existing communication.
id required | string The ID of the communication |
{- "execution_time": "0.08853 seconds",
- "html": "<html>communication content</html>",
- "unlayer_json": "{}"
}
Updates the HTML content of an existing communication.
id required | string The ID of the communication |
html required | string The HTML contents of the communication |
unlayer_json | string non-empty Nullable The Unlayer JSON contents of the communication |
{- "html": "<html>Communication content</html>",
- "unlayer_json": "{}"
}
Send a preview of a communication
html | string The HTML contents of the communication |
recipients | Array of strings An array containing the emails of the recipients |
{- "html": "string",
- "recipients": [
- "string"
]
}
Send a Communication
id required | string The ID of the communication |
send_date | string The date when the communication will be sent (at least 15 minutes in the future), or the string "immediately" for immediate sending |
timezone | string <= 64 characters The timezone of the "send_date" as listed here https://www.php.net/manual/en/timezones.php. |
{- "send_date": "2019-06-17 12:34:56",
- "timezone": "Europe/London"
}
Retrieves summary report for all sent communications.
limit | integer Default: 100 The number of records to retrieve |
offset | integer Default: 0 Starting position |
{- "count": 17,
- "limit": 100,
- "offset": 0,
- "summary": [
- {
- "communication_id": "100l06",
- "communication_name": "Communication name",
- "send_date": "2019-08-24T14:15:22Z",
- "opens": 100,
- "unique_opens": 80,
- "not_opened": 200,
- "clicks": 5,
- "bounces": 2,
- "unsubscribes": 10,
- "spam": 4
}
]
}
Returns the available events for triggering platform communications
{- "execution_time": "0.08853 seconds",
- "events": [
- {
- "id": "no_conversion_in_x_days",
- "name": "No new conversion after",
- "type": "conversion",
- "allows_recipients": false,
- "required_placeholder": {
- "placeholder": "[Pz-campaign-ref-code]",
- "fallback": "campaign list"
}
}
]
}
Creates a platform communication that can be triggered automatically when a given event occurs
event_id required | string |
html | string |
unlayer_json | string non-empty Nullable |
name | string |
subject | string <= 128 characters |
from_name | string |
reply_to_email | string |
event_properties | object |
disable | boolean |
{- "event_id": "100l01",
- "html": "<html>platform email content</html>",
- "unlayer_json": "{}",
- "name": "Sign Up Confirmation",
- "subject": "Sign Up Confirmation",
- "from_name": "John Smith",
- "reply_to_email": "someone@partnerize.com",
- "event_properties": {
- "days_elapsed": 10
}, - "disable": true
}
{- "execution_time": "0.08853 seconds",
- "platform_communication": {
- "id": "100l03",
- "event_id": "100l01",
- "name": "Sign Up Confirmation",
- "subject": "Sign Up Confirmation",
- "from_name": "John Smith",
- "reply_to_email": "someone@partnerize.com",
- "updated_at": "2019-08-24T14:15:22Z",
- "event_properties": {
- "days_elapsed": 10
}, - "disable": true
}
}
{- "execution_time": "0.08853 seconds",
- "platform_communications": [
- {
- "id": "100l03",
- "event_id": "100l01",
- "name": "Sign Up Confirmation",
- "subject": "Sign Up Confirmation",
- "from_name": "John Smith",
- "reply_to_email": "someone@partnerize.com",
- "updated_at": "2019-08-24T14:15:22Z",
- "event_properties": {
- "days_elapsed": 10
}, - "disable": true
}
]
}
Updates an existing platform communication content
html required | string |
unlayer_json | string non-empty Nullable |
{- "html": "<html>platform email content</html>",
- "unlayer_json": "{}"
}
{- "execution_time": "0.08853 seconds",
- "platform_communication": {
- "id": "100l03",
- "event_id": "100l01",
- "name": "Sign Up Confirmation",
- "subject": "Sign Up Confirmation",
- "from_name": "John Smith",
- "reply_to_email": "someone@partnerize.com",
- "updated_at": "2019-08-24T14:15:22Z",
- "event_properties": {
- "days_elapsed": 10
}, - "disable": true
}
}
Returns the HTML content of an existing platform communication.
id required | string The ID of the platform communication |
{- "execution_time": "0.08853 seconds",
- "html": "<html>platform communication content</html>",
- "unlayer_json": "{}"
}
A helper endpoint which can be used to validate the html for a platform communication
html | string The HTML contents of the platform communication |
unlayer_json | string non-empty Nullable The Unlayer JSON contents of the platform communication |
{- "html": "<html>platform communication content</html>",
- "unlayer_json": "{}"
}
name | string Name of template to search by |
source | string Enum: "partnerize" "unlayer" Source of the template to filter by |
{- "execution_time": "0.08853 seconds",
- "communication_templates": [
- {
- "id": "string",
- "name": "My comms template",
- "unlayer_json": null,
- "html": null,
- "visibility": "user",
- "source": "partnerize",
- "thumbnail": "string",
- "network_id": "string",
- "last_updated": "2024-02-09T15:18:35+00:00"
}
]
}
name required | string [ 1 .. 128 ] characters |
unlayer_json required | object non-empty |
html required | string non-empty |
visibility | string Default: "user" Enum: "user" "network" |
thumbnail required | string non-empty The url for the communication template thumbnail |
{- "name": "My comms template",
- "unlayer_json": { },
- "html": "string",
- "visibility": "user",
- "thumbnail": "string"
}
{- "execution_time": "0.08853 seconds",
- "communication_template": {
- "id": "string",
- "name": "My comms template",
- "unlayer_json": { },
- "html": "string",
- "visibility": "user",
- "source": "partnerize",
- "thumbnail": "string",
- "network_id": "string",
- "last_updated": "2024-02-09T15:18:35+00:00"
}
}
id required | string ID of the template to get |
source required | string Enum: "partnerize" "unlayer" Whether the template is from Partnerize or Unlayer |
{- "execution_time": "0.08853 seconds",
- "communication_template": {
- "id": "string",
- "name": "My comms template",
- "unlayer_json": { },
- "html": "string",
- "visibility": "user",
- "source": "partnerize",
- "thumbnail": "string",
- "network_id": "string",
- "last_updated": "2024-02-09T15:18:35+00:00"
}
}
id required | string ID of the template to patch |
name | string [ 1 .. 128 ] characters |
unlayer_json | object non-empty |
html | string non-empty |
visibility | string Default: "user" Enum: "user" "network" |
thumbnail | string non-empty The url for the communication template thumbnail |
{- "name": "My comms template",
- "unlayer_json": { },
- "html": "string",
- "visibility": "user",
- "thumbnail": "string"
}
{- "execution_time": "0.08853 seconds",
- "communication_template": {
- "id": "string",
- "name": "My comms template",
- "unlayer_json": { },
- "html": "string",
- "visibility": "user",
- "source": "partnerize",
- "thumbnail": "string",
- "network_id": "string",
- "last_updated": "2024-02-09T15:18:35+00:00"
}
}
Allows for conversion update operations to be performed on conversions within a particular campaign. This can be achieved using the conversion_id
, conversion_item_id
or conversion_reference
identifiers depending on what works best in the situation.
Any changes to status
at the conversions
or conversion_references
level will be applied to all items within that conversion, provided the individual item is allowed to be updated. Should you want to be more explicit with status
(or any other field) updates then the conversion_items
key allows this.
Note Only one of the accepted parameters to the payload (conversions
, conversion_items
, or conversion_references
) can be used at once, each allowing a maximum of 100,000 items.
Deprecates POST /campaign/{campaignID}/conversion
campaignID required | string Id of the Campaign |
required | object (conversions) |
object (conversion items) | |
object (conversion references) |
{- "conversions": {
- "111111l1": {
- "status": "approved"
}, - "111111l2": {
- "status": "rejected",
- "reason": "cancelled order"
}
}
}
{- "data": {
- "id": "111111l11",
- "created_at": "2018-11-13T20:20:39+00:00",
- "started_at": "2018-11-13T20:20:39+00:00",
- "completed_at": "2018-11-13T20:20:39+00:00",
- "created_by": "1111l111",
- "created_by_username": "API User",
- "status": "complete",
- "type": "conversion_bulk_update",
- "percentage_complete": 100,
- "item_success_count": 1,
- "item_total_count": 4,
- "item_error_count": 3
}, - "hypermedia": {
- "links": {
- "self": "/v3/jobs/111111l11",
- "tasks": "/v3/jobs/111111l11/tasks"
}
}
}
Returns information about a single v1 job by the given ID.
Once the job
status
is complete
the job output can be retrieved from the path given in the hypermedia
response
(/job/111111l11/response.csv
in the response samples).
jobID required | string Id of the job |
{- "job": {
- "job_id": "111111l11",
- "created_at": "2018-11-13 20:20:39",
- "completed_at": "2018-11-13 20:20:55",
- "created_by": "111111l11",
- "created_by_uri": "reporting/export/export/conversion_item.csv",
- "status": "complete",
- "percentage_complete": 100,
- "reference": "myref",
- "response_within_retention": true,
- "hypermedia": {
- "response": "/job/111111l11/response.csv",
- "update": "/job/111111l11"
}
}
}
Returns a list of jobs for the api user
type | string Job type to filter by |
reference | string Job reference to filter by. Performs a partial match, eg "partner" would match a reference of "partnerize", "dance-partner" and "partner". |
offset | integer Default: 0 Pagination offset |
limit | integer Default: 20 Pagination limit |
{- "data": [
- {
- "id": "111111l11",
- "created_at": "2018-11-13T20:20:39+00:00",
- "started_at": "2018-11-13T20:20:39+00:00",
- "completed_at": "2018-11-13T20:20:39+00:00",
- "status": "complete",
- "percentage_complete": 100,
- "type": "conversion_bulk_update",
- "hypermedia": {
- "links": {
- "self": "v3/jobs/111111l11",
- "tasks": "v3/jobs/111111l11/tasks/111111l112"
}
}
}
], - "hypermedia": {
- "pagination": {
- "total_page_count": 5,
- "total_item_count": 5,
- "first_page": "/jobs?offset=0&limit=100",
- "last_page": "/jobs?offset=400&limit=100",
- "next_page": "/jobs?offset=100&limit=100",
- "previous_page": null
}
}
}
Returns information about a single v3 job by the given ID
jobID required | string Id of the job |
{- "data": {
- "id": "111111l11",
- "created_at": "2018-11-13T20:20:39+00:00",
- "started_at": "2018-11-13T20:20:39+00:00",
- "completed_at": "2018-11-13T20:20:39+00:00",
- "created_by": "1111l111",
- "created_by_username": "API User",
- "status": "complete",
- "type": "conversion_bulk_update",
- "percentage_complete": 100,
- "item_success_count": 1,
- "item_total_count": 4,
- "item_error_count": 3
}, - "hypermedia": {
- "links": {
- "self": "/v3/jobs/111111l11",
- "tasks": "/v3/jobs/111111l11/tasks"
}
}
}
Returns a list of tasks for a given job
jobID required | string Id of the job |
offset | integer Default: 0 Pagination offset |
limit | integer Default: 20 Pagination limit |
{- "data": [
- {
- "id": "111111l11",
- "status": "complete",
- "hypermedia": {
- "links": {
- "self": "v3/jobs/111111l11/tasks/111111l112"
}
}
}
], - "hypermedia": {
- "pagination": {
- "total_page_count": 5,
- "total_item_count": 5,
- "first_page": "/jobs/111111l11/tasks?offset=0&limit=100",
- "last_page": "/jobs/111111l11/tasks?offset=400&limit=100",
- "next_page": "/jobs/111111l11/tasks?offset=100&limit=100",
- "previous_page": null
}
}
}
Returns detailed information for a given task
jobID required | string Id of the job |
taskID required | string Id of the task |
{- "data": {
- "id": "111111l11",
- "job_id": "111111l12",
- "item_success_count": 1,
- "item_total_count": 4,
- "item_error_count": 3,
- "created_at": "2018-11-13T20:20:39+00:00",
- "started_at": "2018-11-13T20:20:39+00:00",
- "completed_at": "2018-11-13T20:20:39+00:00",
- "status": "complete",
- "result_data": "{Result data generated by the completion of the job}"
}
}
Resubmits a job in to the queue for re-processing. Only jobs of type conversion_bulk_update
can be replayed.
jobID required | string Id of the job |
{- "data": {
- "id": "111111l11",
- "created_at": "2018-11-13T20:20:39+00:00",
- "started_at": "2018-11-13T20:20:39+00:00",
- "completed_at": "2018-11-13T20:20:39+00:00",
- "created_by": "1111l111",
- "created_by_username": "API User",
- "status": "complete",
- "type": "conversion_bulk_update",
- "percentage_complete": 100,
- "item_success_count": 1,
- "item_total_count": 4,
- "item_error_count": 3
}, - "hypermedia": {
- "links": {
- "self": "/v3/jobs/111111l11",
- "tasks": "/v3/jobs/111111l11/tasks"
}
}
}
Resubmits a task in to the queue for re-processing. Only tasks of type conversion_bulk_update
can be replayed.
jobID required | string Id of the job |
taskID required | string Id of the task |
{- "data": {
- "id": "111111l11",
- "job_id": "111111l12",
- "item_success_count": 1,
- "item_total_count": 4,
- "item_error_count": 3,
- "created_at": "2018-11-13T20:20:39+00:00",
- "started_at": "2018-11-13T20:20:39+00:00",
- "completed_at": "2018-11-13T20:20:39+00:00",
- "status": "complete",
- "result_data": "{Result data generated by the completion of the job}"
}
}
Return a mix of aggregated and basket/item level conversion data for a brand.
campaign_id required | string Example: 10l176 ID of the Campaign |
format required | string Enum: "json" "xml" Example: json Format for the response |
start_date required | string Example: start_date=2016-02-30T05:15:32Z Start date for data to be included in the report |
end_date | string Example: end_date=2016-03-10T19:02:35Z End date for data to be included in the report |
text_date | string Example: text_date=yesterday Restricts the results to one of the following - this hour, last hour, today, yesterday, this week, last week, last X days, this month, last month, this year, last year. |
timezone | string Example: timezone=Europe/London Enforce a specified Timezone. |
currency[] | string (Currency) Enum: "GBP" "USD" "EUR" "JPY" Example: currency[]=USD Filter the results by the specified currency |
date_type | string Example: date_type=last_modified This parameter to run the report for conversions that have been updated. When you specify |
multipivot[{pivot}][] | string Example: multipivot[{pivot}][]=value Add a secondary pivot filter. You need to specify the pivot parameter name and the value to filter by. E.g. multipivot[publisher][]=111111l29. Supported values are: |
statuses[] | string Example: statuses[]=approved Filter by statuses. Available values - approved, pending, rejected |
include_payment_info | boolean Example: include_payment_info=true Include payment information. Omit parameter or false to exclude, which is the default. Fields included are:
|
offset | string Example: offset=0 Offset the results by a given amount. Defaults to 0. |
{- "total_conversion_count": {
- "USD": 1
}, - "total_commission_value": {
- "USD": 44
}, - "total_publisher_commission": {
- "USD": 40
}, - "total_value": {
- "USD": 400
}, - "start_date_time_utc": "2019-08-10 00:00:00",
- "end_date_time_utc": null,
- "start_date_time": "2020-05-13 00:00:00",
- "end_date_time": "2020-05-13 00:00:00",
- "limit": 300,
- "meta_data": [ ],
- "count": 1,
- "execution_time": "1.97706 seconds",
- "conversions": [
- {
- "conversion_data": {
- "conversion_id": "111111l10",
- "campaign_id": "111111l26",
- "publisher_id": "111111l92",
- "conversion_time": "2020-05-13 00:00:00",
- "device_id": "111111l12",
- "creative_type": 0,
- "creative_id": 0,
- "specific_creative_id": 0,
- "currency": "USD",
- "advertiser_reference": "adrefc",
- "conversion_reference": "AUTO-5ebc12334abb39.26532332",
- "customer_type": null,
- "referer_ip": "33c0:7b2c:2cad:5eb:a6cd:b312:111a:cf23",
- "source_referer": "",
- "last_modified": "2020-05-13 15:28:51",
- "conversion_type": 1,
- "country": "US",
- "customer_reference": "custrefc",
- "ref_device_id": 2,
- "ref_partnership_model_id": 2,
- "ref_traffic_source_id": 3,
- "ref_conversion_metric_id": 2,
- "ref_user_context_id": 2,
- "campaign_title": "rubycampaigncoybwvsv",
- "publisher_name": null,
- "click": {
- "click_id": "111111l12",
- "device_id": "111111l12",
- "campaign_id": "111111l26",
- "publisher_id": "111111l92",
- "type": "standard",
- "status": "nibbled",
- "set_time": "2020-05-13 00:00:00",
- "set_ip": "33c0:7b2c:2cad:5eb:a6cd:b312:111a:cf23",
- "last_used": 1589383731,
- "last_ip": "33c0:7b2c:2cad:5eb:a6cd:b312:111a:cf23",
- "advertiser_reference": "",
- "referer": "",
- "creative_id": 0,
- "creative_type": 0,
- "specific_creative_id": 0,
- "country": "US",
- "ref_device_id": 2,
- "ref_traffic_source_id": 3,
- "ref_partnership_model_id": 2,
- "ref_user_context_id": 2,
- "ref_device": "Desktop",
- "ref_traffic_source": "Affiliate",
- "ref_partnership_model": "CPA",
- "ref_user_context": "Web",
- "clickref": "111111lk"
}, - "ref_conversion_metric": "Standard",
- "ref_device": "Desktop",
- "ref_partnership_model": "CPA",
- "ref_traffic_source": "Affiliate",
- "ref_user_context": "Web",
- "conversion_value": {
- "conversion_value_id": "111111l10",
- "conversion_status": "pending",
- "value": 400,
- "commission": 44,
- "publisher_commission": 40
}, - "meta_data": {
- "gclid": "adword_google_meta_data"
}, - "conversion_items": [
- {
- "conversion_item_id": "111111l10",
- "sku": 123,
- "category": "Product",
- "item_value": 400,
- "item_commission": 44,
- "item_publisher_commission": 40,
- "item_status": "pending",
- "invoice_id": null,
- "last_update": "2020-05-13 15:28:51",
- "display_to_publisher": 1,
- "approved_at": null,
- "item_status_id": 1,
- "reject_reason": null,
- "voucher_codes": [ ],
- "meta_data": {
- "gclid": "adword_google_meta_data"
}
}
], - "was_disputed": false,
- "currency_original": "",
- "currency_conversion_rate": "",
- "conversion_lag": 0,
- "clickref": "111111lk"
}
}
]
}
Return a mix of aggregated and basket/item level click data for a brand.
campaign_id required | string Example: 10l176 ID of the Campaign |
format required | string Enum: "json" "xml" Example: json Format for the response |
start_date required | string Example: start_date=2016-02-30T05:15:32Z Start date for data to be included in the report |
end_date | string Example: end_date=2016-03-10T19:02:35Z End date for data to be included in the report |
text_date | string Example: text_date=yesterday Restricts the results to one of the following - this hour, last hour, today, yesterday, this week, last week, last X days, this month, last month, this year, last year. |
timezone | string Example: timezone=Europe/London Enforce a specified Timezone. |
currency[] | string (Currency) Enum: "GBP" "USD" "EUR" "JPY" Example: currency[]=USD Filter the results by the specified currency |
date_type | string Example: date_type=last_modified This parameter to run the report for conversions that have been updated. When you specify |
multipivot[{pivot}][] | string Example: multipivot[{pivot}][]=value Add a secondary pivot filter. You need to specify the pivot parameter name and the value to filter by. E.g. multipivot[publisher][]=111111l29. Supported values are: |
statuses[] | string Example: statuses[]=approved Filter by statuses. Available values - approved, pending, rejected |
offset | string Example: offset=0 Offset the results by a given amount. Defaults to 0. |
{- "unique_click_count": 2,
- "start_date_time_utc": "2019-08-10 00:00:00",
- "end_date_time_utc": null,
- "start_date_time": "2020-05-13 00:00:00",
- "end_date_time": "2020-05-13 00:00:00",
- "limit": 300,
- "offset": 0,
- "count": 2,
- "execution_time": "0.50885 seconds",
- "clicks": [
- {
- "click": {
- "click_id": "111111l11",
- "device_id": "111111l11",
- "campaign_id": "111111l26",
- "publisher_id": "111111l92",
- "type": "standard",
- "status": "nibbled",
- "set_time": "2020-05-13 00:00:00",
- "set_ip": "33c0:7b2c:2cad:5eb:a6cd:b312:111a:cf23",
- "last_used": "2020-05-13 15:28:52",
- "last_ip": "33c0:7b2c:2cad:5eb:a6cd:b312:111a:cf23",
- "advertiser_reference": "",
- "referer": "",
- "creative_id": 0,
- "creative_type": 0,
- "specific_creative_id": 0,
- "country": "RU",
- "ref_device_id": 2,
- "ref_traffic_source_id": 3,
- "ref_partnership_model_id": 2,
- "ref_user_context_id": 2,
- "clickref": "111111lj",
- "publisher_name": null
}
}, - {
- "click": {
- "click_id": "111111l12",
- "device_id": "111111l12",
- "campaign_id": "111111l26",
- "publisher_id": "111111l92",
- "type": "standard",
- "status": "nibbled",
- "set_time": "2020-05-13 00:00:00",
- "set_ip": "33c0:7b2c:2cad:5eb:a6cd:b312:111a:cf23",
- "last_used": "2020-05-13 15:28:51",
- "last_ip": "33c0:7b2c:2cad:5eb:a6cd:b312:111a:cf23",
- "advertiser_reference": "",
- "referer": "",
- "creative_id": 0,
- "creative_type": 0,
- "specific_creative_id": 0,
- "country": "US",
- "ref_device_id": 2,
- "ref_traffic_source_id": 3,
- "ref_partnership_model_id": 2,
- "ref_user_context_id": 2,
- "clickref": "111111lk",
- "publisher_name": null
}
}
]
}
Depending on the query parameters, an export request may need to be processed asynchronously. When that happens a background job will be automatically created, and the API response will describe the job rather than the export (see Jobs v1).
If the complete_email
parameter has been set the export will be sent to the given address once the background job is complete.
Request a CSV for a granular Click report for the defined Campaign or Partner and within the requested time period.
campaign_id required | string Example: campaign_id=10l176 ID of the campaign. You must provide either this parameter or |
publisher_id required | string Example: publisher_id=1l1007802 ID of the partner. You must provide either this parameter or |
start_date required | string Example: start_date=2016-02-30T05:15:32Z Start date for data to be included in the report |
end_date required | string Example: end_date=2016-03-10T19:02:35Z End date for data to be included in the report |
timezone | string Example: timezone=Europe/London Force a specified Timezone |
complete_email | string Example: complete_email=me@example.com When used in conjunction with limit=0 send a link to the CSV when generation is complete |
limit | string Example: limit=0 When set to zero, attempt to download everything |
export_reference | string Example: export_reference=JanSales Add a prefix to the report filename |
encoding | string Example: encoding=UTF-8
|
delimiter | string Example: delimiter=comma Choose the delimiter for separating values
|
click_id,cookie_id,campaign_id,publisher_id,status,set_time,set_ip,last_used,last_ip,advertiser_reference,referer,creative_id,creative_type,specific_creative_id,country,publisher_name 111111l2210,111111l2136,10l176,1l1007802,nibbled,"2016-03-02 10:11:36",127.0.0.1,"2016-06-17 19:13:09",127.0.0.1,,,0,0,0,GB,apipublisher123
Request a CSV for a granular Conversion report for the defined Campaign or Partner and within the requested time period. This report will give you details of orders at the basket level
campaign_id required | string Example: campaign_id=10l176 ID of the campaign. You must provide either this parameter or |
publisher_id required | string Example: publisher_id=1l1007802 ID of the partner. You must provide either this parameter or |
start_date required | string Example: start_date=2016-02-30T05:15:32Z Start date for data to be included in the report |
end_date required | string Example: end_date=2016-03-10T19:02:35Z End date for data to be included in the report |
date_type | string Example: date_type=standard Alter the context of what the dates ranges apply to
|
currency[] | string Example: currency[]=GBP Filter on a specific currency |
conversion_id | string Example: conversion_id=1l28718278 Filter on a specific conversion_id |
conversion_reference | string Example: conversion_reference=ORDER872137 Filter on a specific conversion_reference value |
ref_conversion_metric_id | string Example: ref_conversion_metric_id=2 Filter on a specific conversion metric, use an array for multiple |
timezone | string Example: timezone=Europe/London Force a specified Timezone |
complete_email | string Example: complete_email=me@example.com When used in conjunction with limit=0 send a link to the CSV when generation is complete |
limit | string Example: limit=0 When set to zero, attempt to download everything |
export_reference | string Example: export_reference=JanSales Add a prefix to the report filename |
encoding | string Example: encoding=UTF-8
|
delimiter | string Example: delimiter=comma Choose the delimiter for separating values
|
conversion_id,campaign_id,publisher_id,conversion_date,conversion_date_time,click_time,click_date,click_date_time,currency,advertiser_reference,conversion_reference,referer_ip,source_referer,campaign_title,publisher_name,conversion_status,conversion_lag,value,commission,publisher_commission,creative_type,creative_id,specific_creative_id,customer_type,was_disputed,cookie_id,country,currency_original,currency_conversion_rate,customer_reference,camref 111111l3919676,10l176,1l1007802,2016-03-02,"2016-03-02 10:22:02",10:11:36,2016-03-02,"2016-03-02 10:11:36",EUR,,AUTO-57643db548165,127.0.0.1,,"API Campaign Demo",apipublisher123,pending,626,90.92,1.0001,0.9092,0,0,0,,,111111l2136,GB,,,,1l3v9UA
Request a CSV for a granular Conversion report which includes all individual items for the defined Campaign or Partner and within the requested time period. In Conversion Item reports you will be able to see details of each item including individual item’s commission and value as each item will be listed on its own row within the report.
campaign_id required | string Example: campaign_id=10l176 ID of the campaign. You must provide either this parameter or |
publisher_id required | string Example: publisher_id=1l1007802 ID of the partner. You must provide either this parameter or |
start_date required | string Example: start_date=2016-02-30T05:15:32Z Start date for data to be included in the report |
end_date required | string Example: end_date=2016-03-10T19:02:35Z End date for data to be included in the report |
date_type | string Example: date_type=standard Alter the context of what the dates ranges apply to
|
currency[] | string Example: currency[]=GBP Filter on a specific currency |
conversion_id | string Example: conversion_id=1l28718278 Filter on a specific conversion_id |
conversion_reference | string Example: conversion_reference=ORDER872137 Filter on a specific conversion_reference value |
ref_conversion_metric_id | string Example: ref_conversion_metric_id=2 Filter on a specific conversion metric, use an array for multiple |
timezone | string Example: timezone=Europe/London Force a specified Timezone |
include_payment_info | boolean Example: include_payment_info=true Include payment information. Omit parameter or false to exclude, which is the default. Fields included are:
|
complete_email | string Example: complete_email=me@example.com When used in conjunction with limit=0 send a link to the CSV when generation is complete |
limit | string Example: limit=0 When set to zero, attempt to download everything |
export_reference | string Example: export_reference=JanSales Add a prefix to the report filename |
encoding | string Example: encoding=UTF-8
|
delimiter | string Example: delimiter=comma Choose the delimiter for separating values
|
conversion_id,campaign_id,publisher_id,conversion_date,conversion_date_time,click_time,click_date,click_date_time,currency,advertiser_reference,conversion_reference,referer_ip,source_referer,campaign_title,publisher_name,conversion_status,conversion_lag,value,commission,publisher_commission,creative_type,creative_id,specific_creative_id,customer_type,was_disputed,cookie_id,country,currency_original,currency_conversion_rate,conversion_item_id,sku,category,item_value,item_commission,item_publisher_commission,item_status,item_status_id,reject_reason,last_update,voucher_codes,customer_reference,camref,invoice_id,meta_item_cabin_code,meta_item_departure_date,meta_item_dest,meta_item_device,meta_item_origin,meta_item_passenger,meta_item_payment_method,meta_item_product_ids,meta_item_return_date 111111l3919676,10l176,1l1007802,2016-03-02,"2016-03-02 10:22:02",10:11:36,2016-03-02,"2016-03-02 10:11:36",EUR,,AUTO-57643db548165,127.0.0.1,,"API Campaign Demo",apipublisher123,pending,626,90.92,1.0001,0.9092,0,0,0,,,111111l2136,GB,,,111111l4118583,,,90.92,1.0001,0.9092,pending,1,,"2016-06-17 19:13:09",,,1l3v9UA,,,,,,,,,,
Reporting Meta is functionality that allows Brands to generate reports based on specific meta data.
campaign_id required | string Example: 10l176 ID of the campaign |
{- "count": 143,
- "execution_time": "0.09004 seconds",
- "reports": [
- {
- "report": {
- "campaign_id": "300685",
- "completed_at": "null",
- "created_at": "2017-07-13 10:20:50",
- "created_by": "300740",
- "end_date": "2017-01-01 00:00:00",
- "filter": [
- {
- "operator": "=",
- "property": "status",
- "value": "approved"
}
], - "filter_meta_conversion": [
- {
- "operator": "=",
- "property": "item_code",
- "value": "P-123"
}
], - "filter_meta_item": [
- {
- "operator": "in",
- "property": "hotel_name",
- "value": [
- "marriott",
- "travelodge",
- "premier inn"
]
}
], - "id": "11l011",
- "job_id": "11l32133",
- "name": "Test Report",
- "output_currency": "GBP",
- "start_date": "2016-01-01 00:00:00",
- "status": "created",
- "updated_at": "null"
}
}
]
}
campaign_id required | string Example: 10l176 ID of the campaign |
filter required | array The filter options for the report |
filter_meta_conversion required | array The conversion filter options for the report |
filter_meta_item required | array The item filter options for the report |
name required | string Name of the report |
output_currency | string (Currency) Enum: "GBP" "USD" "EUR" "JPY" |
start_date required | string Start Date of the report |
end_date required | string End Date of the report |
{- "end_date": "2017-01-01 00:00:00",
- "filter": [
- {
- "operator": "=",
- "property": "status",
- "value": "approved"
}
], - "filter_meta_conversion": [
- {
- "operator": "=",
- "property": "item_code",
- "value": "P-123"
}
], - "filter_meta_item": [
- {
- "operator": "in",
- "property": "hotel_name",
- "value": [
- "marriott",
- "travelodge",
- "premier inn"
]
}
], - "name": "Test Report",
- "output_currency": "GBP",
- "start_date": "2016-01-01 00:00:00"
}
{- "execution_time": "0.09004 seconds",
- "report": {
- "campaign_id": "300685",
- "completed_at": "null",
- "created_at": "2017-07-13 10:20:50",
- "created_by": "300740",
- "end_date": "2017-01-01 00:00:00",
- "filter": [
- {
- "operator": "=",
- "property": "status",
- "value": "approved"
}
], - "filter_meta_conversion": [
- {
- "operator": "=",
- "property": "item_code",
- "value": "P-123"
}
], - "filter_meta_item": [
- {
- "operator": "in",
- "property": "hotel_name",
- "value": [
- "marriott",
- "travelodge",
- "premier inn"
]
}
], - "id": "11l011",
- "job_id": "11l32133",
- "name": "Test Report",
- "output_currency": "GBP",
- "start_date": "2016-01-01 00:00:00",
- "status": "created",
- "updated_at": "null"
}
}
campaign_id required | string Example: 10l176 ID of the campaign |
report_id required | string Example: 123 ID of the report |
{- "delete_report": {
- "success": true
}, - "execution_time": "0.09004 seconds"
}
campaign_id required | string Example: 10l176 ID of the campaign |
report_id required | string Example: 123 ID of the report |
{- "execution_time": "0.09004 seconds",
- "report": {
- "campaign_id": "300685",
- "completed_at": "null",
- "created_at": "2017-07-13 10:20:50",
- "created_by": "300740",
- "end_date": "2017-01-01 00:00:00",
- "filter": [
- {
- "operator": "=",
- "property": "status",
- "value": "approved"
}
], - "filter_meta_conversion": [
- {
- "operator": "=",
- "property": "item_code",
- "value": "P-123"
}
], - "filter_meta_item": [
- {
- "operator": "in",
- "property": "hotel_name",
- "value": [
- "marriott",
- "travelodge",
- "premier inn"
]
}
], - "id": "11l011",
- "job_id": "11l32133",
- "name": "Test Report",
- "output_currency": "GBP",
- "start_date": "2016-01-01 00:00:00",
- "status": "created",
- "updated_at": "null"
}
}
The endpoint allows you to retrieve the results of a specified Meta Report for a Campaign. The endpoint supports .csv
format. Use ../campaign/{campaign_id}/reporting/meta/reports/{report_id}/results.csv
to export the results as a csv file.
campaign_id required | string Example: 10l176 ID of the campaign |
report_id required | string Example: 123 ID of the report |
{- "execution_time": "0.09004 seconds",
- "report_result": {
- "{"hotel_name":"marriott"}": {
- "commission": 268761.889889,
- "count": 3,
- "currency": "JPY",
- "ecpa": 11654146.437911,
- "order_value": 3839455.569847,
- "partner_commission": 268761.889889
}
}
}
campaign_id required | string Example: 10l176 ID of the campaign |
{- "meta_values": {
- "conversion": {
- "conversion_key_name_1": [
- "value_1",
- "value_2",
- "value_3"
]
}, - "item": {
- "item_key_name_1": [
- "value_1",
- "value_2",
- "value_3"
]
}
}
}
Get all incidents that are not dismissed ordered by date descending
campaign_id required | string Campaign ID |
partner_id | string Partner ID to filter |
ip_address | string IP address to filter |
metric | string Enum: "volume_clicks" "volume_conversions" "conversion_ratio" "basket_variability_sku" "conversion_value" "ttc" Filter the query by incident |
type | string Enum: "partner" "conversion" "ip_address" Filter the query by incident |
status | string Enum: "active" "deleted" Filter the query by incident |
start_date | string <date> Only include incidents after this date. |
end_date | string <date> Only include incidents before this date. |
cursor_id | string Cursor used for pagination. |
limit | integer Limit the number of incidents returned. |
{- "limit": 1,
- "cursor_id": "1234l12345678",
- "incidents": [
- {
- "id": "1234l12345678",
- "metric": "conversion_value",
- "type": "partner",
- "date": "2019-11-01",
- "time_window": 1,
- "partner": {
- "id": "1001l1111",
- "name": "PZ Finance"
}, - "status": "active",
- "created_at": "2020-04-01T00:00:00.000Z",
- "deleted_at": "2020-04-01T00:00:00.000Z"
}
], - "hypermedia": {
- "pagination": {
- "previous_page": "v2/campaigns/111111/fraud/incidents?limit=1&cursor_id=1234l12345677",
- "next_page": "v2/campaigns/111111/fraud/incidents?limit=1&cursor_id=1234l12345679"
}
}
}
Get a specific incident
campaign_id required | string Campaign ID |
incident_id required | string Incident ID |
{- "incident": {
- "id": "1234l12345678",
- "metric": "volume_clicks",
- "type": "partner",
- "date": "2019-11-01",
- "time_window": 1,
- "partner": {
- "id": "1001l1111",
- "name": "PZ Finance"
}, - "status": "active",
- "created_at": "2020-04-01T00:00:00.000Z",
- "deleted_at": "2020-04-01T00:00:00.000Z",
- "data": {
- "threshold": 100,
- "value": 150
}
}, - "hypermedia": {
- "links": {
- "reject-partner": "v2/campaigns/111111/fraud/incidents/1234l12345678/reject-partner"
}
}
}
Delete a specific incident
campaign_id required | string Campaign ID |
incident_id required | string Incident ID |
{- "error": {
- "errors": [
- {
- "type": "error",
- "code": "unauthorised",
- "message": "Feature 'fraud_detection' not enabled for this Network"
}
], - "code": 403,
- "message": "Forbidden"
}
}
Get an aggregated total of incidents by day
campaign_id required | string Campaign ID |
start_date required | string <date> Only include incidents after this date. |
end_date required | string <date> Only include incidents before this date. |
{- "data": [
- {
- "date_time_range": {
- "start": "2019-10-02T00:00:00.000Z",
- "end": "2019-10-03T00:00:00.000Z"
}, - "volume_clicks": 10,
- "volume_conversions": 20,
- "conversion_ratio": 15,
- "basket_variability_sku": 25,
- "conversion_value": 30,
- "ttc": 35
}, - {
- "date_time_range": {
- "start": "2019-10-03T00:00:00.000Z",
- "end": "2019-10-04T00:00:00.000Z"
}, - "volume_clicks": 11,
- "volume_conversions": 21,
- "conversion_ratio": 16,
- "basket_variability_sku": 26,
- "conversion_value": 31,
- "ttc": 36
}, - {
- "date_time_range": {
- "start": "2019-10-04T00:00:00.000Z",
- "end": "2019-10-05T00:00:00.000Z"
}, - "volume_clicks": 12,
- "volume_conversions": 22,
- "conversion_ratio": 17,
- "basket_variability_sku": 27,
- "conversion_value": 32,
- "ttc": 37
}
]
}
Reject a Partner due to fraudulent claims. This means that the partner will no longer be valid for this Campaign
campaign_id required | string Campaign ID |
incident_id required | string Incident ID |
{- "error": {
- "errors": [
- {
- "type": "error",
- "code": "partner_not_rejected",
- "message": "The Partner was not rejected"
}
], - "code": 400,
- "message": "Bad Request"
}
}
Reject fraudulent conversions for the Incident
campaign_id required | string Campaign ID |
incident_id required | string Incident ID |
{- "error": {
- "errors": [
- {
- "type": "error",
- "code": "unauthorised",
- "message": "Feature 'fraud_detection' not enabled for this Network"
}
], - "code": 403,
- "message": "Forbidden"
}
}
Set Incident Conversion status to Pending
campaign_id required | string Campaign ID |
incident_id required | string Incident ID |
{- "error": {
- "errors": [
- {
- "type": "error",
- "code": "unauthorised",
- "message": "Feature 'fraud_detection' not enabled for this Network"
}
], - "code": 403,
- "message": "Forbidden"
}
}
Get a list of all partners that are associated with incidents.
campaign_id required | string Campaign ID |
metric | string Enum: "volume_clicks" "volume_conversions" "conversion_ratio" "basket_variability_sku" "conversion_value" "ttc" Filter the query by incident |
type | string Enum: "partner" "conversion" Filter the query by incident |
status | string Enum: "active" "deleted" Filter the query by incident |
start_date | string <date> Only consider incidents after this date. |
end_date | string <date> Only consider incidents before this date. |
{- "incident-partners": [
- {
- "partner_id": "string",
- "partner_name": "string"
}
]
}
Get Fraud Metrics for the campaign, including a count of each
campaign_id required | string Campaign ID |
start_date | string <date> Only count incidents after this date. |
end_date | string <date> Only count incidents before this date. |
{- "metrics": [
- {
- "id": "string",
- "metric": "volume_clicks",
- "type": "partner",
- "count": 0,
- "last_raised": "2019-08-24"
}
], - "count": 0
}
Whitelist a trusted Partner.
campaign_id required | string Campaign ID |
partner_id | string |
{- "partner_id": "string"
}
{- "partner_id": "string",
- "campaign_id": "string"
}
Remove a partner from the whitelist
campaign_id required | string Campaign ID |
{- "error": {
- "errors": [
- {
- "type": "error",
- "code": "unauthorised",
- "message": "Feature 'fraud_detection' not enabled for this Network"
}
], - "code": 403,
- "message": "Forbidden"
}
}
The Analytics API provides access to our Analytical Data Platform; it has an expressive easy to use request structure that allows you to write fluent queries to access your data. There is up to 1000x speed improvement for specific queries and operations compared to the legacy Reporting (v1) API and allows for more in-depth insight into your data. The Analytics API also powers the Analytics Reporting UI.
The below covers the core concepts of the Analytics API, head over to the Tutorials section for more examples.
Analytics has two common data types Dimension
and Metric
. Metrics are the quantitative measurements of data and dimensions are the labels used to describe them—or, in even easier terms: numeric values always express metrics while non-numerical values express dimensions. An example in the context of Analytics, total_clicks
would be a metric and country
would be a dimension, an in-depth explanation into each is below.
All endpoints allow you to return one or more metrics, except for the filter
endpoint, which will only return metrics if you sort by a metric.
You can supply a single metric:
"metrics": ["total_clicks"]
Or multiple metrics:
"metrics": ["total_clicks", "total_clicks_converted"]
You should request multiple metrics in one request rather than making multiple requests where possible. The metrics will be returned in the response object in the same casing they are supplied.
For performance reasons, we apply approximations by default to a small set of metric types; this is similar to how Google Analytics uses sampling techniques for aggregated metrics to improve performance.
Currently, approximations are applied to the Click Metrics; the metrics that are approximated are total_unique_clicks
. Furthermore, you'll be able to identify which metrics are approximated by looking at the X-Approximate-Metrics
response header.
All financial metrics, such as total_commission
and total_partner_commission
are never approximated.
As mentioned above, a dimension is a non-numeric value. All endpoints support the ability to filter by a dimension, see the "Filtering" section below. The "Explode" and "Filter" endpoints support the ability to return the dimension values.
In Analytics there are three datasources:
and there are 4 endpoint types:
A count endpoint can return one or multiple metrics, useful to present top-level figures used on Dashboards, for example.
The explode endpoint returns metrics grouped either by date or multiple dimensions (see the Tutorials for an example). It's called explode as it's 'Exploding' the data out, using a tabular format as an example it allows for grouping the data like the following:
+-------------+---------------+---------+----------+-------------------+------------------+
| campaign_id | campaign_name | country | currency | total_order_value | total_commission |
+-------------+---------------+---------+----------+-------------------+------------------+
| 1 | Japan | JP | JPY | 500 | 120.31 |
+-------------+---------------+---------+----------+-------------------+------------------+
| 2 | Japan | GB | USD | 400 | 50.12 |
+-------------+---------------+---------+----------+-------------------+------------------+
| 3 | US | US | USD | 300 | 31.13 |
+-------------+---------------+---------+----------+-------------------+------------------+
| 4 | Italy | IT | EUR | 200 | 90.00 |
+-------------+---------------+---------+----------+-------------------+------------------+
Note that the explode endpoint doesn't support zero filling, meaning that if there is no data for a particular record it will be excluded from the resulting response instead of being included with zero values.
The Time series endpoints allow you to obtain metrics over intervals in time and ordered chronologically. Timeseries calls are performant and are great for powering plot style charts. One or multiple metrics can be requested with time series; however, it can only ever be grouped by a date-time.
The data source to use is embedded the the URI, with the following format:
/v3/brand/analytics/<data-source>/<endpoint>
For example, the URI for using explode
on the conversions
data source would be:
/v3/brand/analytics/conversions/explode
It isn't possible to retrieve data belonging to multiple data sources in one endpoint call. So for example, to get the total number of clicks and the total number of conversions, two API calls will need to be made to both the conversion
and click
data sources.
When using the Explode Endpoint and grouping by particular dimensions in some instances, you will be returned both an _id
and _name
for the dimension, while others return only the dimension. See the full list of return properties below:
Dimension | Return Properties |
---|---|
advertiser_reference | advertiser_reference |
browser_family | browser_family |
browser_major | browser_major |
browser_minor | browser_minor |
browser_patch | browser_patch |
campaign | campaign_id, campaign_name |
category | category |
conversion_metric | conversion_metric_id, conversion_metric_name |
conversion_reference | conversion_reference |
conversion_status | conversion_status |
conversion_type | conversion_type_id, conversion_type_name |
country | country |
currency | currency |
customer_type | customer_type |
date_time | date_time |
device | device_id, device_name |
os_family | os_family |
os_major | os_major |
os_minor | os_minor |
os_patch | os_patch |
partner | partner_id, partner_name |
partnership_model | partnership_model_id, partnership_model_name |
sku | sku |
traffic_source | traffic_source_id, traffic_source_name |
type | type |
user_context | user_context_id, user_context_name |
voucher_code | voucher_code |
voucher_status | voucher_status |
This section outlines the commonality of the request structures between all endpoints.
A scope is used to specify the campaign
ID's that you wish to filter by.
"scope": {
"campaigns": ["1", "2"],
}
The example above will first check you have access to campaign ID's 1
and 2
. If you do have access, you will receive results for those two campaigns.
If you do not have access to one or more requested campaigns
you will receive a 403 Forbidden
response.
Please see the Tutorials section for an example of how to filter by partners.
For each call, you are required to provide a date-time range. You can specify multiple date ranges if you like which operate on an _OR_
basis, rather than an _AND_
basis.
You can specify a single range:
"date_time_ranges": [
{
"start": "2020-10-0T00:00:00",
"end": "2020-10-31T23:59:59"
}
]
Alternatively, you could specify multiple ranges; this example would give you results for Black Fridays for the past three years:
...
"date_time_ranges": [
{
"start": "2017-11-24T00:00:00",
"end": "2017-11-24T23:59:59"
},
{
"start": "2018-11-23T00:00:00",
"end": "2018-11-23T23:59:59"
},
{
"start": "2019-11-29T00:00:00",
"end": "2019-11-29T23:59:59"
}
]
...
The top
property is used to limit the number of results. If not specified it defaults to 10000
results and there is an upper limit of 50000
.
10000
should be sufficient to group your data day, publisher and campaign over one month.
The API supports filtering by multiple dimensions supporting multiple operations. Filters operate on the _AND_
basis and can be compounded.
The below is an example filtering conversions where the device is a desktop AND
the country is EQUAL
to US AND
the currency is NOT EQUAL
to GBP.
"filter_by": [
{
"field": "device_id",
"value": "2"
},
{
"field": "country",
"value": "US"
}
{
"field": "currency",
"value": "GBP",
"not": true
}
]
Currently filtering by metrics is not yet supported.
Below is a map of the properties that have reference endpoints. You can use these to find the available values to filter by.
Name | Reference Endpoint |
---|---|
conversion_metric_id | /reference/conversion_metric/ |
conversion_type_id | /reference/conversion_type/ |
country | /reference/country/ |
currency | /reference/currency/ |
device_id | /reference/devices/ |
partnership_model_id | /reference/partnership_model/ |
traffic_source_id | /reference/traffic_source/ |
user_context_id | /reference/user_context/ |
Below is a map of available values to filter by for properties that do not have reference endpoints.
conversion_status
approved
pending
rejected
voucher_status
expired
ignored
invalid
unknown
valid
You can set the timezone by using the timezone
property. The list of supported timezones can be found using the reference API endpoint; see /reference/timezone/.
"timezone": "CET"
You should see this timezone reflected in the offset of the date-times in the response whenever you group by date, or use the time-series
endpoint.
{
"date": "2020-04-03T00:00:00+02:00",
}
Timezone offsets such as 2020-05-01T00:00:00+02:00
will be ignored and the timezone
property must be used instead.
Name | Type | Description |
---|---|---|
X-Total-Row-Count | Response | Returns the total number of rows for the given request, used within the context of the Explode endpoint. This has to be requested in the JSON body of the request setting include_total_row_count to true |
X-Approximate-Metrics | Response | Returns a list of metrics that are approximated - see the Metric Approximation section above. |
If you ask for a currency based metric, total_order_value
, for example, you should also specify an output_currency
using the ISO 4217 format. If you don't provide an output currency, it will default to USD
. Currently, the API only supports one currency output per request. The list of supported currencies can be found using the reference API endpoint; see /reference/currencies/.
"output_currency": "GBP"
The exchange rate used is the exchange rate for the given day of the API call. This means that between day to day usage, you will experience fluctuations in the financial totals due to changing exchange rates.
To ensure the reliability of our Analytics Platform and to ensure it remains stable for all our clients, the Analytics API is rate-limited. Analytics API uses its own rate-limiting algorithm and allowance, which is separate from the rest of the Partnerize API endpoints. Its rate-limiting error responses are the same as the standard error response for v3 endpoints. See the Rate Limits section for details.
The query costs are calculated based upon the endpoint and the date-time range that is requested. The breakdown of these is shown below.
Date Range | Explode | Count | Time Series | Filter |
---|---|---|---|---|
< 1 Year | 3 | 2 | 2 | 3 |
1+ Year | 5 | 3 | 3 | 5 |
2+ Year | 10 | 4 | 4 | 6 |
3+ year | 12 | 5 | 5 | 7 |
4+ year | 15 | 6 | 6 | 8 |
As an example, if you are requesting 2+ years of data from the Explode endpoint that would allow you to make a total of 6 API calls over a period of 60 seconds.
Rate Limits costs and quotas are continually reviewed. These can either increased or decreased based upon the following criteria, the volume of data for your account, to ensure platform stability or to accommodate functionality changes within the API. We, therefore, recommend that your code has the appropriate error handling and logging to accommodate for such changes.
To avoid being throttled, it's best to design your API integration using best practices:
X-RateLimit-Retry-After
header to ensure your code doesn't keep trying to make requests.This section contains tutorials to serve as a good jumping-off point on how to do basic queries against the Analytics API. If you have any feedback or think it would be useful to provide more examples, please reach out and let us know.
Let's say for example, that you wish to get the Total Conversions Items and Total Partner Commission in GBP; this can be achieved by using the Conversion Count Endpoint to retrieve single count metrics.
This can be done by using the /v3/brand/analytics/conversions/count
endpoint.
Specify the following metrics:
{
"metrics":[
"total_conversion_items",
"total_partner_commission"
]
}
Specify the date time range:
{
"date_time_ranges":[
{
"start":"2020-10-01T00:00:00",
"end":"2020-12-31T23:59:59"
}
],
"metrics":[
"total_conversion_items", "total_partner_commission"
]
}
Then specify the output currency:
{
"date_time_ranges":[
{
"start":"2020-10-01T00:00:00",
"end":"2020-12-31T23:59:59"
}
],
"metrics":[
"total_conversion_items", "total_partner_commission"
],
"output_currency": "GBP"
}
Finally, specify the Campaign IDs:
{
"scope":{
"campaigns":[
"campaign_id_1",
"campaign_id_2"
]
},
"date_time_ranges":[
{
"start":"2020-10-31T00:00:00",
"end":"2020-10-31T23:59:59"
},
{
"start":"2020-12-25T00:00:00",
"end":"2020-12-25T23:59:59"
}
],
"metrics":[
"total_conversions", "total_conversion_items"
],
"output_currency": "GBP"
}
The result will look like this:
{
"data":{
"total_conversion_items":235,
"total_partner_commission":1200.50
}
}
Let's say for example you want to see the total order value and commission broken down by campaign, country and currency and sorted by the total commission, which in tabular format looks like:
+-------------+---------------+---------+----------------+----------+-------------------+------------------+
| campaign_id | campaign_name | country | country_name | currency | total_order_value | total_commission |
| | | | | | | |
+-------------+---------------+---------+----------------+----------+-------------------+------------------+
| 1 | Japan | JP | Japan | JPY | 500.00 | 123.12 |
+-------------+---------------+---------+----------------+----------+-------------------+------------------+
| 1 | Japan | GB | United Kingdom | USD | 400.00 | 50.12 |
+-------------+---------------+---------+----------------+----------+-------------------+------------------+
| 2 | US | US | United States | USD | 350.00 | 31.33 |
+-------------+---------------+---------+----------------+----------+-------------------+------------------+
| 3 | Italy | IT | Italy | EUR | 100.00 | 9.01 |
+-------------+---------------+---------+----------------+----------+-------------------+------------------+
To do this you can use the /brand/analytics/conversions/explode
endpoint like in the previous example above.
Using the example JSON body from above this would look like:
{
"metrics":[
"total_order_value",
"total_commission"
],
"group_by":[
"campaign",
"country",
"currency"
],
"order_by":[
{
"field":"total_commission",
"direction":"DESCENDING"
}
],
"top":10,
"scope":{
"campaigns":[
"1",
"2",
"3",
"4",
"5"
]
},
"date_time_ranges":[
{
"start":"2019-01-01T00:00:00",
"end":"2019-12-31T23:59:59"
}
]
}
and a response should look like the following:
{
"data":[
{
"campaign_id":"11111l63",
"campaign_name":"Campaign 1",
"currency": "GBP",
"country": "US",
"total_order_value":1000,
"total_commission":1000,
},
{
"campaign_id":"11111l65",
"campaign_name":"Campaign 2",
"currency": "USD",
"country": "IT",
"total_order_value":1000,
"total_commission":1000,
},
]
}
Let's say you want to see the total partner commission broken down by partner and conversion status ordered by total partner commission where the conversions are approved or pending which in tabular format looks like:
To do this you can use the /v3/brand/analytics/conversions/explode
endpoint like in the previous example above.
+------------+--------------+----------+--------------------------+
| partner_id | partner_name | status | total_partner_commission |
| | | | |
+------------+--------------+----------+--------------------------+
| 1 | Partner 1 | pending | 200.00 |
+------------+--------------+----------+--------------------------+
| 1 | Partner 1 | approved | 150.00 |
| | | | |
| | | | |
+------------+--------------+----------+--------------------------+
| 2 | Partner 2 | pending | 350.00 |
+------------+--------------+----------+--------------------------+
| 2 | Partner 2 | approved | 100.00 |
+------------+--------------+----------+--------------------------+
To do the filtering it requires a filter_by
property:
"filter_by":[
{
"field":"conversion_status",
"operator":"EQUALS",
"value":[
"approved",
"pending"
]
}
]
The full request body would look like as follows:
{
"metrics":[
"total_partner_commission"
],
"group_by":[
"partner",
"conversion_status"
],
"order_by":[
{
"field":"total_partner_commission",
"direction":"DESCENDING"
}
],
"top":10,
"scope":{
"campaigns":[
"1",
"2",
"3",
"4",
"5"
]
},
"filter_by":[
{
"field":"conversion_status",
"operator":"EQUALS",
"value":[
"approved",
"pending"
]
}
],
"date_time_ranges":[
{
"start":"2019-01-01T00:00:00",
"end":"2019-12-31T23:59:59"
}
]
}
Let's say you want to see the total number of clicks across your campaigns, broken down by day for all countries except the US, in a tabular format this looks like the following:
To do this you can use the /v3/brand/analytics/clicks/explode
endpoint.
+---------------------------+-------------+---------------+---------+----------------+--------------+
| date_time | campaign_id | campaign_name | country | country_name | total_clicks |
| | | | | | |
+---------------------------+-------------+---------------+---------+----------------+--------------+
| 2020-03-02T00:00:00+02:00 | 1 | Campaign 1 | JP | Japan | 2000 |
+---------------------------+-------------+---------------+---------+----------------+--------------+
| 2020-03-02T00:00:00+02:00 | 1 | Campaign 2 | IT | Italy | 1000 |
+---------------------------+-------------+---------------+---------+----------------+--------------+
| 2020-03-03T00:00:00+02:00 | 1 | Campaign 2 | GB | United Kingdom | 500 |
+---------------------------+-------------+---------------+---------+----------------+--------------+
| 2020-03-03T00:00:00+02:00 | 1 | Campaign 4 | DE | Germany | 250 |
+---------------------------+-------------+---------------+---------+----------------+--------------+
To group it by day you need to set the interval
- this is in ISO 8601 duration format. For example, one day is P1D
, or if you want it by month P1M
or even hourly PT1H
.
The request body would look the following: - note the not
property in filter_by
. This is the equivalent of saying NOT EQUAL
{
"metrics":[
"total_clicks"
],
"group_by":[
"date_time",
"campaign",
"country"
],
"order_by":[
{
"field":"total_clicks",
"direction":"DESCENDING"
}
],
"top":10,
"scope":{
"campaigns":[
"1",
"2",
"3",
"4",
"5"
]
},
"filter_by":[
{
"field":"country",
"operator":"EQUALS",
"value":[
"US"
],
"not": true
}
],
"interval": {
"field": "date_time",
"period": "P1D"
},
"date_time_ranges":[
{
"start":"2019-01-01T00:00:00",
"end":"2019-12-31T23:59:59"
}
]
}
It's essential to understand that Explode does not support zero filling - so if there isn't data for particular interval it will not be returned in the response, to use zero filling then please use the Time Series endpoint. Furthermore, if you don't need to group by multiple dimensions, then we recommend using the TimeSeries endpoint, which is much faster and costs less rate-limiting tokens. See the tutorial below for an example. Note when grouping by date using the explode endpoint you don't get a start_date
and end_date
like the TimeSeries endpoint.
As previously mentioned above, the time-series endpoint is much more performant, and the query cost will be less. Let's say you want to render a chart, and want to plot over a week in daily intervals how many conversion items have been tracked along with the commission. The timeseries
endpoint will return data grouped by a specified date interval. It also supports zero filling - so if there isn't data for a particular interval, the metrics will be set to zero. This is why this endpoint is useful for driving charts and graphs. Again, we highly recommend this over using the Explode endpoint.
Use the POST method on the URI /v3/brand/analytics/conversions/timeseries
.
With the request body of:
{
"metrics":[
"total_conversion_items",
"total_commission"
],
"output_currency":"GBP",
"interval":{
"period":"P1D"
},
"scope":{
"campaigns":[
"1",
"2"
]
},
"date_time_ranges":[
{
"start":"2019-01-01T00:00:00",
"end":"2019-12-31T23:59:59"
}
]
}
The endpoint result would look like:
{
"data": [
{
"date_time_range": {
"start": "2020-03-01T00:00:00+00:00",
"end": "2020-03-02T00:00:00+00:00"
},
"total_conversions": 151,
"total_order_value": 34300.311980922306
},
{
"date_time_range": {
"start": "2020-03-02T00:00:00+00:00",
"end": "2020-03-03T00:00:00+00:00"
},
"total_conversion_items": 145,
"total_commission": 45835.76083435612
}
}
A notable difference is that for TimeSeries you get a start and end date in the response body unlike the Explode endpoint when grouping by date.
Returns aggregated metrics derived from clicks.
This endpoint is ideal for creating dashboard widgets, or for creating a summary of tabulated data from the explode endpoint.
required | Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. |
Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. | |
required | object Filter data by specified campaign identifiers. You must have the correct authorisation to view reporting data on these campaigns. |
metrics required | Array of strings non-empty unique Items Enum: "total_clicks" "total_clicks_converted" "click_conversion_rate" "total_unique_clicks" Array of metrics which should be included in the result. |
Array of objects non-empty A list of objects you can use to filter the results by. Results will only be returned if they match every condition. | |
timezone | string See reference endpoint /reference/timezones/ for available timezones. |
include_comparison_percentage_change | boolean Default: false A boolean flag to indicate whether percentage changes should be output when using comparison. |
{- "date_time_ranges": [
- {
- "start": "2019-10-01T00:00:00+00:00",
- "end": "2019-10-03T00:00:00+00:00"
}
], - "scope": {
- "campaigns": [
- "111111l10"
]
}, - "metrics": [
- "total_clicks"
], - "filter_by": [
- {
- "field": "country",
- "value": "US",
- "operator": "EQUALS"
}, - {
- "field": "device_id",
- "value": 5,
- "operator": "EQUALS",
- "not": true
}
], - "timezone": "GMT"
}
{- "data": {
- "total_clicks": 57126
}
}
Returns aggregated metrics derived from clicks, grouped by ID and name of one or many dimensions. This endpoint is ideal for fetching data to be shown in a table. You can combine it with the count endpoint to fetch data for a totals row.
If order_by
is requested on a metric, the metric values will be added to the results, even if not requested.
When grouping by date
, the interval
will define the length of each date group.
required | Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. |
Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. | |
required | object Filter data by specified campaign identifiers. You must have the correct authorisation to view reporting data on these campaigns. |
metrics required | Array of strings non-empty unique Items Enum: "total_clicks" "total_clicks_converted" "click_conversion_rate" "total_unique_clicks" Array of metrics which should be included in the result. |
group_by required | Array of strings non-empty unique Items Enum: "advertiser_reference" "browser_family" "browser_major" "browser_minor" "browser_patch" "campaign" "country" "creative" "date_time" "device" "os_family" "os_major" "os_minor" "os_patch" "partner" "partnership_model" "traffic_source" "type" "user_context" Dimensions which the data should be grouped by. |
Array of objects non-empty A list of objects you can use to filter the results by. Results will only be returned if they match every condition. | |
Array of objects non-empty Priority list of ordering objects | |
object To group the data into buckets of time. In the context of Explode this is used when grouping by | |
output_date_time_format | string Dates will be formatted with the Joda date format string given. If no format is supplied here, ISO8601 format will be used. For details of how to construct a format string, see https://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html |
top | integer [ 1 .. 50000 ] Default: 50000 |
include_total_row_count | boolean Default: false A boolean flag to indicate whether an extra header (X-Total-Row-Count) should be returned containing the total number of rows. This can have a performance overhead so you should not use it unless it is required. |
timezone | string See reference endpoint /reference/timezones/ for available timezones. |
include_comparison_percentage_change | boolean Default: false A boolean flag to indicate whether percentage changes should be output when using comparison. |
{- "date_time_ranges": [
- {
- "start": "2019-10-01T00:00:00+00:00",
- "end": "2019-10-03T00:00:00+00:00"
}
], - "scope": {
- "campaigns": [
- "111111l10"
]
}, - "metrics": [
- "total_clicks"
], - "group_by": [
- "device"
], - "filter_by": [
- {
- "field": "country",
- "value": "US",
- "operator": "EQUALS"
}, - {
- "field": "device_id",
- "value": 5,
- "operator": "EQUALS",
- "not": true
}
], - "order_by": [
- {
- "field": "total_clicks",
- "direction": "DESCENDING"
}
], - "interval": {
- "field": "date_time",
- "period": "P1D"
}, - "include_total_row_count": false,
- "timezone": "GMT",
- "top": 2
}
{- "data": [
- {
- "device_id": "1",
- "device_name": "desktop",
- "total_clicks": 2000
}, - {
- "device_id": "2",
- "device_name": "mobile",
- "total_clicks": 3000
}
]
}
This endpoint is ideal for fetching a list of available dimensions for a dropdown list.
If order_by
is requested on a metric, the metric values will be added to the results.
required | Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. |
required | object Filter data by specified campaign identifiers. You must have the correct authorisation to view reporting data on these campaigns. |
group_by required | Array of strings non-empty unique Items Enum: "advertiser_reference" "browser_family" "browser_major" "browser_minor" "browser_patch" "campaign" "country" "creative" "date_time" "device" "os_family" "os_major" "os_minor" "os_patch" "partner" "partnership_model" "traffic_source" "type" "user_context" Dimensions which the data should be grouped by. |
Array of objects non-empty A list of objects you can use to filter the results by. Results will only be returned if they match every condition. | |
Array of objects non-empty Priority list of ordering objects | |
top | integer [ 1 .. 50000 ] Default: 50000 |
include_total_row_count | boolean Default: false A boolean flag to indicate whether an extra header (X-Total-Row-Count) should be returned containing the total number of rows. This can have a performance overhead so you should not use it unless it is required. |
timezone | string See reference endpoint /reference/timezones/ for available timezones. |
{- "date_time_ranges": [
- {
- "start": "2019-10-01T00:00:00+00:00",
- "end": "2019-10-03T00:00:00+00:00"
}
], - "scope": {
- "campaigns": [
- "111111l10"
]
}, - "group_by": [
- "device"
], - "filter_by": [
- {
- "field": "country",
- "value": "US",
- "operator": "EQUALS"
}, - {
- "field": "device_id",
- "value": 5,
- "operator": "EQUALS",
- "not": true
}
], - "order_by": [
- {
- "field": "total_clicks",
- "direction": "DESCENDING"
}
], - "top": 2,
- "include_total_row_count": false,
- "timezone": "GMT"
}
{- "data": [
- {
- "device_id": "1",
- "device_name": "desktop",
- "total_clicks": 44442
}, - {
- "device_id": "2",
- "device_name": "mobile",
- "total_clicks": 23392
}
]
}
Returns aggregated metrics derived from clicks, grouped by time intervals.
This endpoint is ideal for creating charts where the x-axis is time.
required | Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. |
required | object Filter data by specified campaign identifiers. You must have the correct authorisation to view reporting data on these campaigns. |
metrics required | Array of strings non-empty unique Items Enum: "total_clicks" "total_clicks_converted" "click_conversion_rate" "total_unique_clicks" Array of metrics which should be included in the result. |
Array of objects non-empty A list of objects you can use to filter the results by. Results will only be returned if they match every condition. | |
object To group the data into buckets of time. In the context of Explode this is used when grouping by | |
timezone | string See reference endpoint /reference/timezones/ for available timezones. |
zerofill | boolean Default: true A boolean flag to indicate whether records with a count of zero should be included in the response. |
{- "date_time_ranges": [
- {
- "start": "2019-10-01T00:00:00+00:00",
- "end": "2019-10-03T00:00:00+00:00"
}
], - "scope": {
- "campaigns": [
- "111111l10"
]
}, - "metrics": [
- "total_clicks"
], - "filter_by": [
- {
- "field": "country",
- "value": "US",
- "operator": "EQUALS"
}, - {
- "field": "device_id",
- "value": 5,
- "operator": "EQUALS",
- "not": true
}
], - "interval": {
- "field": "date_time",
- "period": "P1D"
}, - "timezone": "GMT",
- "zerofill": false
}
{- "data": [
- {
- "date_time_range": {
- "start": "2019-10-01T00:00:00+00:00",
- "end": "2019-10-02T00:00:00+00:00"
}, - "total_clicks": 990
}, - {
- "date_time_range": {
- "start": "2019-10-02T00:00:00+00:00",
- "end": "2019-10-03T00:00:00+00:00"
}, - "total_clicks": 2894
}
]
}
Returns aggregated metrics derived from conversions.
This endpoint is ideal for creating dashboard widgets, or for creating a summary of tabulated data from the explode endpoint.
required | Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. |
Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. | |
required | object Filter data by specified campaign identifiers. You must have the correct authorisation to view reporting data on these campaigns. |
metrics required | Array of strings non-empty unique Items Enum: "total_conversion_items" "total_conversions" "total_commission" "average_commission" "percentage_commission" "total_partner_commission" "percentage_partner_commission" "average_partner_commission" "percentage_average_partner_commission" "average_order_value" "percentage_order_value" "total_order_value" "e_cpa" "conversion_rejection_rate" "total_roas" "average_roas" "average_order_size" Array of metrics which should be included in the result. |
Array of objects non-empty A list of objects you can use to filter the results by. Results will only be returned if they match every condition. | |
output_currency | string Default: "USD" Currency based metrics will be converted into this currency. This also applies to filter values. See reference endpoint /reference/currencies/ for available currencies. |
timezone | string See reference endpoint /reference/timezones/ for available timezones. |
include_comparison_percentage_change | boolean Default: false A boolean flag to indicate whether percentage changes should be output when using comparison. |
{- "date_time_ranges": [
- {
- "start": "2019-10-01T00:00:00+00:00",
- "end": "2019-10-03T00:00:00+00:00"
}
], - "scope": {
- "campaigns": [
- "111111l10"
]
}, - "metrics": [
- "total_commission"
], - "filter_by": [
- {
- "field": "country",
- "value": "US",
- "operator": "EQUALS"
}, - {
- "field": "device_id",
- "value": 5,
- "operator": "EQUALS",
- "not": true
}
], - "output_currency": "GBP",
- "timezone": "GMT"
}
{- "data": {
- "total_conversions": 12
}
}
Returns aggregated metrics derived from conversions, grouped by ID and name of one or many dimensions. This endpoint is ideal for fetching data to be shown in a table. You can combine it with the count endpoint to fetch data for a totals row.
If order_by
is requested on a metric, the metric values will be added to the results, even if not requested.
When grouping by date
, the interval
will define the length of each date group.
required | Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. |
Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. | |
required | object Filter data by specified campaign identifiers. You must have the correct authorisation to view reporting data on these campaigns. |
metrics required | Array of strings non-empty unique Items Enum: "total_conversion_items" "total_conversions" "total_commission" "average_commission" "percentage_commission" "total_partner_commission" "percentage_partner_commission" "average_partner_commission" "percentage_average_partner_commission" "average_order_value" "percentage_order_value" "total_order_value" "e_cpa" "conversion_rejection_rate" "total_roas" "average_roas" "average_order_size" Array of metrics which should be included in the result. |
group_by required | Array of strings non-empty unique Items Enum: "advertiser_reference" "browser_family" "browser_major" "browser_minor" "browser_patch" "campaign" "category" "conversion_metric" "conversion_reference" "conversion_status" "conversion_type" "country" "creative" "currency" "customer_reference" "customer_type" "date_time" "device" "os_family" "os_major" "os_minor" "os_patch" "partner" "partnership_model" "sku" "traffic_source" "type" "user_context" "voucher_code" "voucher_status" Dimensions which the data should be grouped by. |
Array of objects non-empty A list of objects you can use to filter the results by. Results will only be returned if they match every condition. | |
Array of objects non-empty Priority list of ordering objects | |
object To group the data into buckets of time. In the context of Explode this is used when grouping by | |
output_currency | string Default: "USD" Currency based metrics will be converted into this currency. This also applies to filter values. See reference endpoint /reference/currencies/ for available currencies. |
output_date_time_format | string Dates will be formatted with the Joda date format string given. If no format is supplied here, ISO8601 format will be used. For details of how to construct a format string, see https://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html |
top | integer [ 1 .. 50000 ] Default: 50000 |
include_total_row_count | boolean Default: false A boolean flag to indicate whether an extra header (X-Total-Row-Count) should be returned containing the total number of rows. This can have a performance overhead so you should not use it unless it is required. |
timezone | string See reference endpoint /reference/timezones/ for available timezones. |
include_comparison_percentage_change | boolean Default: false A boolean flag to indicate whether percentage changes should be output when using comparison. |
{- "date_time_ranges": [
- {
- "start": "2019-10-01T00:00:00+00:00",
- "end": "2019-10-03T00:00:00+00:00"
}
], - "scope": {
- "campaigns": [
- "111111l10"
]
}, - "metrics": [
- "total_commission"
], - "group_by": [
- "partner"
], - "filter_by": [
- {
- "field": "country",
- "value": "US",
- "operator": "EQUALS"
}, - {
- "field": "device_id",
- "value": 5,
- "operator": "EQUALS",
- "not": true
}
], - "order_by": [
- {
- "field": "total_commission",
- "direction": "DESCENDING"
}
], - "interval": {
- "field": "date_time",
- "period": "P1D"
}, - "output_currency": "USD",
- "top": 2,
- "include_total_row_count": false,
- "timezone": "GMT"
}
{- "data": [
- {
- "device_id": "1",
- "device_name": "desktop",
- "total_conversions": 2000
}, - {
- "device_id": "2",
- "device_name": "mobile",
- "total_conversions": 3000
}
]
}
This endpoint is ideal for fetching a list of available dimensions for a dropdown list.
If order_by
is requested on a metric, the metric values will be added to the results.
required | Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. |
required | object Filter data by specified campaign identifiers. You must have the correct authorisation to view reporting data on these campaigns. |
group_by required | Array of strings non-empty unique Items Enum: "advertiser_reference" "browser_family" "browser_major" "browser_minor" "browser_patch" "campaign" "category" "conversion_metric" "conversion_reference" "conversion_status" "conversion_type" "country" "creative" "currency" "customer_reference" "customer_type" "date_time" "device" "os_family" "os_major" "os_minor" "os_patch" "partner" "partnership_model" "sku" "traffic_source" "type" "user_context" "voucher_code" "voucher_status" Dimensions which the data should be grouped by. |
Array of objects non-empty A list of objects you can use to filter the results by. Results will only be returned if they match every condition. | |
Array of objects non-empty Priority list of ordering objects | |
output_currency | string Default: "USD" Currency based metrics will be converted into this currency. This also applies to filter values. See reference endpoint /reference/currencies/ for available currencies. |
top | integer [ 1 .. 50000 ] Default: 50000 |
include_total_row_count | boolean Default: false A boolean flag to indicate whether an extra header (X-Total-Row-Count) should be returned containing the total number of rows. This can have a performance overhead so you should not use it unless it is required. |
timezone | string See reference endpoint /reference/timezones/ for available timezones. |
{- "date_time_ranges": [
- {
- "start": "2019-10-01T00:00:00+00:00",
- "end": "2019-10-03T00:00:00+00:00"
}
], - "scope": {
- "campaigns": [
- "111111l10"
]
}, - "group_by": [
- "partner"
], - "filter_by": [
- {
- "field": "country",
- "value": "US",
- "operator": "EQUALS"
}, - {
- "field": "device_id",
- "value": 5,
- "operator": "EQUALS",
- "not": true
}
], - "order_by": [
- {
- "field": "total_commission",
- "direction": "DESCENDING"
}
], - "interval": {
- "field": "date_time",
- "period": "P1D"
}, - "output_currency": "USD",
- "top": 10,
- "include_total_row_count": false,
- "timezone": "GMT"
}
{- "data": [
- {
- "device_id": "1",
- "device_name": "desktop",
- "total_conversions": 44442
}, - {
- "device_id": "2",
- "device_name": "mobile",
- "total_conversions": 23392
}
]
}
Returns aggregated metrics derived from conversions, grouped by time intervals.
This endpoint is ideal for creating charts where the x-axis is time.
required | Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. |
required | object Filter data by specified campaign identifiers. You must have the correct authorisation to view reporting data on these campaigns. |
metrics required | Array of strings non-empty unique Items Enum: "total_conversion_items" "total_conversions" "total_commission" "average_commission" "percentage_commission" "total_partner_commission" "percentage_partner_commission" "average_partner_commission" "percentage_average_partner_commission" "average_order_value" "percentage_order_value" "total_order_value" "e_cpa" "conversion_rejection_rate" "total_roas" "average_roas" "average_order_size" Array of metrics which should be included in the result. |
Array of objects non-empty A list of objects you can use to filter the results by. Results will only be returned if they match every condition. | |
object To group the data into buckets of time. In the context of Explode this is used when grouping by | |
output_currency | string Default: "USD" Currency based metrics will be converted into this currency. This also applies to filter values. See reference endpoint /reference/currencies/ for available currencies. |
timezone | string See reference endpoint /reference/timezones/ for available timezones. |
zerofill | boolean Default: true A boolean flag to indicate whether records with a count of zero should be included in the response. |
{- "date_time_ranges": [
- {
- "start": "2019-10-01T00:00:00+00:00",
- "end": "2019-10-03T00:00:00+00:00"
}
], - "scope": {
- "campaigns": [
- "111111l10"
]
}, - "metrics": [
- "total_commission"
], - "filter_by": [
- {
- "field": "country",
- "value": "US",
- "operator": "EQUALS"
}, - {
- "field": "device_id",
- "value": 5,
- "operator": "EQUALS",
- "not": true
}
], - "interval": {
- "field": "date_time",
- "period": "P1D"
}, - "output_currency": "GBP",
- "timezone": "GMT",
- "zerofill": false
}
{- "data": [
- {
- "date_time_range": {
- "start": "2019-10-01T00:00:00+00:00",
- "end": "2019-10-02T00:00:00+00:00"
}, - "total_conversions": 990
}, - {
- "date_time_range": {
- "start": "2019-10-02T00:00:00+00:00",
- "end": "2019-10-03T00:00:00+00:00"
}, - "total_conversions": 2894
}
]
}
Returns aggregated metrics derived from impressions.
This endpoint is ideal for creating dashboard widgets, or for creating a summary of tabulated data from the explode endpoint.
required | Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. |
Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. | |
required | object Filter data by specified campaign identifiers. You must have the correct authorisation to view reporting data on these campaigns. |
metrics required | Array of strings non-empty unique Items Value: "total_impressions" Array of metrics which should be included in the result. |
Array of objects non-empty A list of objects you can use to filter the results by. Results will only be returned if they match every condition. | |
timezone | string See reference endpoint /reference/timezones/ for available timezones. |
include_comparison_percentage_change | boolean Default: false A boolean flag to indicate whether percentage changes should be output when using comparison. |
{- "date_time_ranges": [
- {
- "start": "2019-10-01T00:00:00+00:00",
- "end": "2019-10-03T00:00:00+00:00"
}
], - "scope": {
- "campaigns": [
- "111111l10"
]
}, - "metrics": [
- "total_impressions"
], - "filter_by": [
- {
- "field": "device_id",
- "value": 5,
- "operator": "EQUALS",
- "not": true
}
], - "timezone": "GMT"
}
{- "data": {
- "total_impressions": 57126
}
}
Returns aggregated metrics derived from impressions, grouped by ID and name of one or many dimensions. This endpoint is ideal for fetching data to be shown in a table. You can combine it with the count endpoint to fetch data for a totals row.
If order_by
is requested on a metric, the metric values will be added to the results, even if not requested.
When grouping by date
, the interval
will define the length of each date group.
required | Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. |
Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. | |
required | object Filter data by specified campaign identifiers. You must have the correct authorisation to view reporting data on these campaigns. |
metrics required | Array of strings non-empty unique Items Value: "total_impressions" Array of metrics which should be included in the result. |
group_by required | Array of strings non-empty unique Items Enum: "advertiser_reference" "browser_family" "browser_major" "browser_minor" "browser_patch" "campaign" "creative" "date_time" "device" "os_family" "os_major" "os_minor" "os_patch" "partner" "partnership_model" "traffic_source" "user_context" Dimensions which the data should be grouped by. |
Array of objects non-empty A list of objects you can use to filter the results by. Results will only be returned if they match every condition. | |
Array of objects non-empty Priority list of ordering objects | |
object To group the data into buckets of time. In the context of Explode this is used when grouping by | |
output_date_time_format | string Dates will be formatted with the Joda date format string given. If no format is supplied here, ISO8601 format will be used. For details of how to construct a format string, see https://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html |
top | integer [ 1 .. 50000 ] Default: 50000 |
include_total_row_count | boolean Default: false A boolean flag to indicate whether an extra header (X-Total-Row-Count) should be returned containing the total number of rows. This can have a performance overhead so you should not use it unless it is required. |
timezone | string See reference endpoint /reference/timezones/ for available timezones. |
include_comparison_percentage_change | boolean Default: false A boolean flag to indicate whether percentage changes should be output when using comparison. |
{- "date_time_ranges": [
- {
- "start": "2019-10-01T00:00:00+00:00",
- "end": "2019-10-03T00:00:00+00:00"
}
], - "scope": {
- "campaigns": [
- "111111l10"
]
}, - "metrics": [
- "total_impressions"
], - "group_by": [
- "partner"
], - "filter_by": [
- {
- "field": "device_id",
- "value": 5,
- "operator": "EQUALS"
}
], - "order_by": [
- {
- "field": "total_impressions",
- "direction": "DESCENDING"
}
], - "interval": {
- "field": "date_time",
- "period": "P1D"
}, - "top": 10,
- "include_total_row_count": false,
- "timezone": "GMT"
}
{- "data": [
- {
- "device_id": "1",
- "device_name": "desktop",
- "total_impressions": 2000
}, - {
- "device_id": "2",
- "device_name": "mobile"
}
]
}
This endpoint is ideal for fetching a list of available dimensions for a dropdown list.
If order_by
is requested on a metric, the metric values will be added to the results.
required | Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. |
required | object Filter data by specified campaign identifiers. You must have the correct authorisation to view reporting data on these campaigns. |
group_by required | Array of strings non-empty unique Items Enum: "advertiser_reference" "browser_family" "browser_major" "browser_minor" "browser_patch" "campaign" "creative" "date_time" "device" "os_family" "os_major" "os_minor" "os_patch" "partner" "partnership_model" "traffic_source" "user_context" Dimensions which the data should be grouped by. |
Array of objects non-empty A list of objects you can use to filter the results by. Results will only be returned if they match every condition. | |
Array of objects non-empty Priority list of ordering objects | |
top | integer [ 1 .. 50000 ] Default: 50000 |
include_total_row_count | boolean Default: false A boolean flag to indicate whether an extra header (X-Total-Row-Count) should be returned containing the total number of rows. This can have a performance overhead so you should not use it unless it is required. |
timezone | string See reference endpoint /reference/timezones/ for available timezones. |
{- "date_time_ranges": [
- {
- "start": "2019-10-01T00:00:00+00:00",
- "end": "2019-10-03T00:00:00+00:00"
}
], - "scope": {
- "campaigns": [
- "111111l10"
]
}, - "group_by": [
- "partner"
], - "filter_by": [
- {
- "field": "device_id",
- "value": 5,
- "operator": "EQUALS"
}
], - "order_by": [
- {
- "field": "total_impressions",
- "direction": "DESCENDING"
}
], - "top": 10,
- "include_total_row_count": false,
- "timezone": "GMT"
}
{- "data": [
- {
- "device_id": "1",
- "device_name": "desktop",
- "total_impressions": 44442
}, - {
- "device_id": "2",
- "device_name": "mobile",
- "total_impressions": 23392
}
]
}
Returns aggregated metrics derived from impressions, grouped by time intervals.
This endpoint is ideal for creating charts where the x-axis is time.
required | Array of objects non-empty Filter the results to given date-time ranges. You can specify multiple date ranges and results for each date range will be combined. |
required | object Filter data by specified campaign identifiers. You must have the correct authorisation to view reporting data on these campaigns. |
metrics required | Array of strings non-empty unique Items Value: "total_impressions" Array of metrics which should be included in the result. |
Array of objects non-empty A list of objects you can use to filter the results by. Results will only be returned if they match every condition. | |
object To group the data into buckets of time. In the context of Explode this is used when grouping by | |
timezone | string See reference endpoint /reference/timezones/ for available timezones. |
zerofill | boolean Default: true A boolean flag to indicate whether records with a count of zero should be included in the response. |
{- "date_time_ranges": [
- {
- "start": "2019-10-01T00:00:00+00:00",
- "end": "2019-10-03T00:00:00+00:00"
}
], - "scope": {
- "campaigns": [
- "111111l10"
]
}, - "metrics": [
- "total_impressions"
], - "filter_by": [
- {
- "field": "device_id",
- "value": 5,
- "operator": "EQUALS"
}
], - "interval": {
- "field": "date_time",
- "period": "P1D"
}, - "timezone": "GMT",
- "zerofill": false
}
{- "data": [
- {
- "date_time_range": {
- "start": "2019-10-01T00:00:00+00:00",
- "end": "2019-10-02T00:00:00+00:00"
}, - "total_impressions": 990
}, - {
- "date_time_range": {
- "start": "2019-10-02T00:00:00+00:00",
- "end": "2019-10-03T00:00:00+00:00"
}, - "total_impressions": 2894
}
]
}
{- "countries": [
- {
- "country": {
- "area_sq_km": 468,
- "capital": "Andorra la Vella",
- "continent_iso": "EU",
- "continent_name": "Europe",
- "currency_iso": "EUR",
- "east": "42.656043",
- "fips_code": "AN",
- "geoname_id": 3041565,
- "iso": "AD",
- "iso3": "AND",
- "iso_numeric": "020",
- "languages": "ca",
- "north": "42.656043",
- "population": 84000,
- "printable_name": "Andorra",
- "ref_country_id": 1,
- "south": "42.656043",
- "west": "42.656043",
- "zone": "Outside EU VAT area"
}
}
]
}
{- "campaign_extra_fields": [
- {
- "campaign_extra_field": {
- "campaign_extra_field_id": 102,
- "field_comment": "campaign level country setting",
- "field_default_value": "nil",
- "field_name": "country"
}
}
]
}
{- "user_contexts": [
- {
- "user_context": {
- "ref_user_context_id": 1,
- "title": "Other",
- "description": "Other user context",
- "skip_invoice": 0,
- "skip_selfbill": 0,
- "skip_override": 0,
- "key": "other"
}
}
]
}
{- "traffic_sources": [
- {
- "traffic_source": {
- "ref_traffic_source_id": 1,
- "title": "Other",
- "description": "Other traffic source",
- "skip_invoice": 0,
- "skip_selfbill": 0,
- "skip_override": 0
}
}
]
}
{- "conversion_types": [
- {
- "conversion_type": {
- "available_to_invoice": "y",
- "available_to_selfbill": "y",
- "conversion_type": "standard",
- "conversion_type_id": 1,
- "description": "Standard Transaction",
- "exclude_from_override_rules": "y"
}
}
]
}
{- "conversion_metrics": [
- {
- "conversion_metrics": {
- "ref_conversion_metric_id": 3,
- "title": "App Download",
- "description": "",
- "skip_invoice": 0,
- "skip_selfbill": 0,
- "skip_override": 0
}
}
]
}
{- "partnership_models": [
- {
- "partnership_model": {
- "ref_partnership_model_id": 2,
- "title": "CPA",
- "description": "Cost per acquisition",
- "skip_invoice": 0,
- "skip_selfbill": 0,
- "skip_override": 0
}
}
]
}
Return information about a single campaign from the provided ID.
campaignId required | string The ID of the Partnerize campaign to be returned |
extra_info | string Example: extra_info=allow_deep_linking,campaign_logo Comma-separated list of extra_info to fetch; defaults to none; supply |
{- "data": {
- "id": "10l176",
- "title": "PHG Aff Demo",
- "brand": {
- "id": "10l110",
- "name": "PHG Aff"
}, - "extra_info": {
- "shopify_shop_id": "123abc"
}
}
}
Update some information of a campaign.
campaignId required | string The ID of the Partnerize campaign to be returned |
object Any campaign extra_info to update. Key must be a supported extra_info. |
{- "extra_info": {
- "shopify_shop_id": "123abc"
}
}
Partnerize Tags allow the creation, management and automated serving of various Partnerize features into websites.
All generated Partnerize Tags include a url
of which can be embedded into websites to serve back the enabled features of that tag in JavaScript content.
Partnerize Tags only need to be integrated once, allowing features of the tag to be updated at any time using the Partnerize Tags APIs.
To view available features of the Partnerize Tag, use the List Partnerize Tag Features API.
Return a list of available Partnerize Tags.
brand_id | string Example: brand_id=111111l3 ID of the brand to restrict scope of Partnerize Tags to |
with_features | boolean Example: with_features=true Optional flag to include features as part of the response |
{- "data": [
- {
- "id": "111111l35",
- "scope": {
- "brand": "111111l2"
}, - "name": "my-tag-website",
- "active": true,
- "created_at": "2020-07-22T12:23:58.000Z",
- "created_by": "111111l1",
- "last_modified_at": "2020-07-22T12:23:58.000Z",
- "last_modified_by": "111111l1",
}, - {
- "id": "111111l36",
- "scope": {
- "brand": "111111l2"
}, - "name": "my-tag-mobile",
- "active": true,
- "created_at": "2020-08-08T12:23:58.000Z",
- "created_by": "111111l1",
- "last_modified_at": "2020-08-08T12:23:58.000Z",
- "last_modified_by": "111111l1",
}
]
}
Generates a new Partnerize Tag for the requested brand. Freshly generated tag will be empty, without any features enabled by default.
To allow for global propagation, tags will typically be available for use 15 minutes after their generation.
name required | string [ 1 .. 255 ] characters A name for the new Partnerize Tag |
required | object |
{- "name": "string",
- "scope": {
- "brand": "string"
}
}
{- "data": {
- "id": "111111l35",
- "scope": {
- "brand": "111111l2"
}, - "name": "my-tag-website",
- "active": true,
- "created_at": "2020-07-22T12:23:58.000Z",
- "created_by": "111111l1",
- "last_modified_at": "2020-07-22T12:23:58.000Z",
- "last_modified_by": "111111l1",
}
}
Return information about a single Partnerize Tag from the provided ID.
partnerizeTagId required | string The ID of the Partnerize Tag to be returned |
{- "data": {
- "id": "111111l35",
- "scope": {
- "brand": "111111l2"
}, - "name": "my-tag-website",
- "active": true,
- "created_at": "2020-07-22T12:23:58.000Z",
- "created_by": "111111l1",
- "last_modified_at": "2020-07-22T12:23:58.000Z",
- "last_modified_by": "111111l1",
}
}
Updates a specific Partnerize Tag.
partnerizeTagId required | string The ID of the Partnerize Tag to be updated |
name | string [ 1 .. 255 ] characters A new name for the Partnerize Tag |
active | boolean Enables/Disables the tag |
{- "name": "string",
- "active": true
}
{- "data": {
- "id": "111111l35",
- "scope": {
- "brand": "111111l2"
}, - "name": "my-tag-website",
- "active": true,
- "created_at": "2020-07-22T12:23:58.000Z",
- "created_by": "111111l1",
- "last_modified_at": "2020-07-22T12:23:58.000Z",
- "last_modified_by": "111111l1",
}
}
Partnerize Tag features are what power the Partnerize Tag, delivering Partnerize functionality to websites through the Partnerize Tag.
Partnerize Tag Features come in all shapes and sizes depending on the intended use case.
To find out more about Partnerize Tag Features and how they can be used, head over to the Partnerize Help Hub.
Returns a list of available features ready for enablement in a Partnerize Tag.
{- "data": [
- {
- "name:": "tracking-link-generation",
- "description:": "Tracking link generation from standard brand URLs",
- "config_schema": [ ]
}
]
}
Return a list of features enabled for a specific Partnerize Tag.
tagId required | string The ID of the Partnerize Tag |
{- "data": [
- {
- "name:": "first-party-tracking",
- "description:": "Cookie-less conversion pixel integration",
- "config": null
}
]
}
Enables a feature for a specific Partnerize Tag.
tagId required | string The ID of the Partnerize Tag |
name required | string Feature name which will be added to the Partnerize Tag |
config | object Additional feature config, if needed |
{- "name": "first-party-tracking",
- "config": null
}
{- "data": {
- "name": "first-party-tracking",
- "config": null
}
}
Lists all network terms and conditions that must be accepted by a brand
network_id required | string Example: network_id=1111l11 Filter by a network |
types | string, Value: "partner_recruitment" Filter by terms and conditions types |
locale | string (Locale) Enum: "bg" "cs" "da" "de" "de_at" "en" "en_au" "en_ca" "en_us" "es" "es_mx" "el" "et" "fi" "fl" "fr" "fr_ca" "hu" "id" "it" "jp" "ko" "ko_kr" "lt" "lv" "ms_my" "mt" "my" "nl" "no" "pl" "po" "pt" "pt_br" "ro" "ru" "sg" "sk" "sl" "sv" "sv_se" "th" "tl" "tr" "vi" "zh_cn" "zh_hk" Filter by locale. |
{- "data": [
- {
- "id": "10",
- "terms_locale_id": "1010l00",
- "content": "<p>Please agree to the following terms:</p>",
- "locale": "bg",
- "created_at": "2019-08-24T14:15:22Z"
}
]
}
Create an acknowledgement for network terms and conditions
network_id required | string |
terms_locale_id | string |
{- "network_id": "0000l00",
- "terms_locale_id": "1010l00"
}
Lists all network commission groups
network_id required | string Example: network_id=1111l11 Filter by a network |
active | boolean, Default: true Whether the commission groups are still ongoing |
has_participation | boolean Only return commission groups that have partners participating |
{- "data": [
- {
- "id": "1111l11",
- "name": "My Commission Group",
- "active": true,
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z",
- "campaign": {
- "id": "1111l11",
- "name": "Campaign A"
}
}
]
}
Create a paid search violation time frame for a given participation
participationId required | string Example: 1111l11 The ID of the participation that the paid search violation will be applied to |
start_date_time | string <date-time> Datetime when the violation time window should start. The field is optional and will default to the current datetime |
end_date_time | string <date-time> Nullable Datetime when the violation time window should end. The field is optional and will default 'null'. If this field is 'null' then all commissions for the participation after the 'start_date_time' will not be paid to the partner |
{- "start_date_time": "2024-10-10T12:01:00+00:00",
- "end_date_time": "2025-10-10T12:01:00+00:00"
}
{- "data": {
- "id": "111111l1",
- "participation_id": "111111l1",
- "start_date_time": "2024-10-10T12:01:00+00:00",
- "end_date_time": "2025-10-10T12:01:00+00:00"
}
}
Get a timeline of paid search violations for a given participation
participationId required | string Example: 1111l11 The ID of the participation that the paid search violation is associated with |
{- "data": [
- {
- "id": "111111l1",
- "participation_id": "111111l1",
- "start_date_time": "2024-10-10T12:01:00+00:00",
- "end_date_time": "2025-10-10T12:01:00+00:00"
}
]
}
Deletes or ends a paid search violation. If a paid search violation has been started but the end date has not elapsed, then the end date will be updated to the current datetime. If the paid search violation has not been started then the paid search violation will be completely deleted.
participationId required | string Example: 1111l11 The ID of the participation that the paid search violation is associated with |
paidSearchViolationId required | string Example: 1111l11 The ID of the paid search violation that will be deleted |
Updates a current User data
emailAddress | string <email> User email value to be updated |
{- "emailAddress": "user@example.com"
}
{- "data": {
- "user_id": "111111l63",
- "email_verified": false,
- "email": "user@test.com"
}
}