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
Outputs the specified partner.
publisher_id required | string Example: 1l1007802 ID of the partner |
{- "publisher": {
- "account_name": "publisher123",
- "company_name": "Eve Online",
- "contact_email": "info@partnerize.com",
- "contact_locale": "en",
- "contact_name": "Eve",
- "created": "2019-10-30 11:08:41",
- "created_by": "111111l1",
- "default_currency": "USD",
- "im_provider": "Skype",
- "im_username": "evangeline",
- "is_affiliate_user": "y",
- "is_us_registered": null,
- "legal_entity": "AE",
- "network_id": "111111l1",
- "network_status": "a",
- "operating_country": "AE",
- "phone": 555213456,
- "phone_area": 44,
- "promotional_method": 1,
- "promotional_method_name": "PPC",
- "publisher_id": "111111l2",
- "reporting_timezone": "Asia/Dubai",
- "signup_ip": "80.80.80.80",
- "terms_and_conditions_id": 56,
- "vertical": 2,
- "vertical_name": "Retail",
- "week_start": "monday"
}
}
Update the specified Partner.
publisher_id required | string Example: 1l1007802 ID of the partner |
company_logo | string Nullable Url of image to download. Supports PNG and JPEG only. |
abn | string |
account_name | string |
campaign_select | string |
company_name | string |
company_division | string |
contact_email | string <email> |
contact_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" |
contact_name | string |
default_currency | string (Currency) Enum: "GBP" "USD" "EUR" "JPY" |
description | string HTML description of the partner. Supports the following tags: |
foreign_identifier | string |
gst_registered | string |
im_provider | string |
im_username | string |
is_affiliate_user | string (YesOrNo) Enum: "y" "n" |
is_foreign_network | string (YesOrNo) Enum: "y" "n" |
is_lead_user | string (YesOrNo) Enum: "y" "n" |
network_notes | string |
network_status | string (Status) Enum: "a" "p" "r" "n" |
operating_country | 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 | string Primary contact telephone number |
phone_area | string Phone prefix to declare country or region |
promotional_method | integer |
reporting_identifier | string |
reporting_timezone | string |
uk_vat_registered | string (YesOrNo) Enum: "y" "n" |
us_tax_state | string |
vat_number | integer |
vertical | integer |
week_start | string |
{- "publisher_id": "1l10101",
- "description": "Example Partner",
- "promotional_method": 9
}
{- "status": {
- "status": "Updated",
- "message": "Publisher successfully updated"
}, - "publisher": {
- "account_name": "publisher123",
- "company_name": "Eve Online",
- "contact_email": "info@partnerize.com",
- "contact_locale": "en",
- "contact_name": "Eve",
- "created": "2019-10-30 11:08:41",
- "created_by": "111111l1",
- "default_currency": "USD",
- "im_provider": "Skype",
- "im_username": "evangeline",
- "is_affiliate_user": "y",
- "is_us_registered": null,
- "legal_entity": "AE",
- "network_id": "111111l1",
- "network_status": "a",
- "operating_country": "AE",
- "phone": 555213456,
- "phone_area": 44,
- "promotional_method": 1,
- "promotional_method_name": "PPC",
- "publisher_id": "111111l2",
- "reporting_timezone": "Asia/Dubai",
- "signup_ip": "80.80.80.80",
- "terms_and_conditions_id": 56,
- "vertical": 2,
- "vertical_name": "Retail",
- "week_start": "monday"
}
}
Return the details of all Websites attached to the Partner account.
publisher_id required | string Example: 1l1007802 ID of the partner |
{- "websites": [
- {
- "website": {
- "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"
}
}
]
}
Create one or more Websites against the Partner entity. Each Website is sent as an array within a top level websites
array.
publisher_id required | string Example: 1l1007802 ID of the partner |
publisher_id | string ID of the partner the website belongs to |
active | string (YesOrNo) Enum: "y" "n" |
primary | string (YesOrNo) Enum: "y" "n" |
website_country | 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" |
website_name | string |
website_type | number |
website_type_name | string |
website_url required | string |
website_vertical | number |
website_vertical_name | string |
{- "publisher_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"
}
{- "websites": [
- {
- "website": {
- "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"
}
}
]
}
Update one or more Websites against the Partner entity. Each Website is sent as an array within a top level websites
array and must contain its associated website_id
.
publisher_id required | string Example: 1l1007802 ID of the partner |
Array of objects (Partner_Website) |
{- "websites": [
- {
- "active": "y",
- "primary": "n",
- "description": "Demo Partner website",
- "website_country": "GB",
- "website_id": "11l18694",
- "website_name": null,
- "website_type": 9,
- "website_type_name": "PPC",
- "website_vertical": 10,
- "website_vertical_name": "Technical"
}
]
}
{- "websites": [
- {
- "website": {
- "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"
}
}
]
}
Retrieves the specified partner website.
publisher_id required | string Example: 1l1007802 ID of the partner |
website_id required | string Example: 11l18694 ID of the partner website |
{- "website": {
- "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"
}
}
Return the details of all Databases attached to the Partner account.
publisher_id required | string Example: 1l1007802 ID of the partner |
{- "databases": [
- {
- "database": {
- "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
}
}
]
}
Create one or more Databases against the partner entity. Each Database is sent as an array within a top level databases
array.
publisher_id required | string Example: 1l1007802 ID of the partner |
publisher_id | string ID of the partner the database belongs to |
active | string (YesOrNo) Enum: "y" "n" |
creation_method required | string |
database_name required | string |
female | number |
male | number |
max_age | number |
min_age | number |
size required | number |
{- "publisher_id": "string",
- "active": "y",
- "creation_method": "string",
- "database_name": "string",
- "female": 0,
- "male": 0,
- "max_age": 0,
- "min_age": 0,
- "size": 0
}
{- "databases": [
- {
- "database": {
- "active": "y",
- "creation_method": "Email",
- "database_id": "111111l300347",
- "database_name": "PHG Test Database",
- "female": 50,
- "male": 50,
- "max_age": 77,
- "min_age": 25,
- "publisher_id": "1l1007802",
- "size": 53000
}
}
]
}
Update one or more Databases against the Partner entity. Each Database is sent as an array within a top level databases
array and must contain its associated database_id
.
publisher_id required | string Example: 1l1007802 ID of the partner |
Array of objects (Partner_Database_Wrapper) |
{- "databases": [
- {
- "active": "y",
- "creation_method": "Email",
- "database_id": "111111l300347",
- "database_name": "Partnerize Test Database",
- "female": 50,
- "male": 50,
- "max_age": 77,
- "min_age": 25,
- "size": 53000
}
]
}
{- "databases": [
- {
- "database": {
- "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
}
}
]
}
Retrieves the specified Partner Database.
publisher_id required | string Example: 1l1007802 ID of the partner |
database_id required | string Example: 111111l300347 ID of the partner database |
{- "database": {
- "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
}
}
Returns all campaigns available for a partner to join, grouped by brand.
Each campaign will include a status:
for the partner:-
publisherId required | string ID of the partner |
{- "advertisers": [
- {
- "id": "string",
- "name": "string",
- "display_name": "string",
- "contact_email": "string",
- "description": "string",
- "advertiser_icon": "string",
- "network": {
- "id": "string",
- "name": "string"
}, - "address": {
- "line1": null,
- "line2": null,
- "line3": null,
- "line4": null,
- "postcode": null,
- "country": null
}, - "campaigns": [
- {
- "id": "string",
- "default_destination": "string",
- "title": "string",
- "currency": {
- "iso": "GBP",
- "name": "Pound sterling",
- "symbol": "£"
}, - "vertical": {
- "id": "1",
- "name": "Retail"
}, - "status": "AVAILABLE"
}
]
}
]
}
Returns one advertiser with a list of campaigns availabe for a partner to join.
Each campaign will include a status:
for the partner:-
publisherId required | string ID of the partner |
advertiserId required | string ID of the brand |
{- "advertiser": {
- "id": "string",
- "name": "string",
- "display_name": "string",
- "contact_email": "string",
- "description": "string",
- "advertiser_icon": "string",
- "network": {
- "id": "string",
- "name": "string"
}, - "address": {
- "line1": null,
- "line2": null,
- "line3": null,
- "line4": null,
- "postcode": null,
- "country": null
}, - "campaigns": [
- {
- "id": "string",
- "default_destination": "string",
- "title": "string",
- "currency": {
- "iso": "GBP",
- "name": "Pound sterling",
- "symbol": "£"
}, - "vertical": {
- "id": "1",
- "name": "Retail"
}, - "status": "AVAILABLE",
- "campaign_icon": "string"
}
]
}
}
View all Campaigns that the Partner is associated with, along with the status of any Participation.
publisher_id required | string Example: 1l1007802 ID of the partner |
status required | string Example: a The status of the partner on the campaign
|
{- "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_custom_terms_and_conditions_id": "10l176",
- "campaign_custom_terms_and_conditions_title": "Some fancy title",
- "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,
- "publisher_status": "a",
- "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"
}
}
]
}
This endpoint is now Obsolete
. Use the Create Campaign Requests endpoint instead.
Request access to one or more Campaigns. If a Campaign has any custom Terms and Conditions then the Partner must agree to these terms when requesting access. This is achieved by passing the latest terms_id
from the relevant Campaign object. On certain Campaigns, you may find that a Partner will be auto-approved. However, some Brands will stipulate that they wish to review all Participations. Therefore, once access is requested the Partner will be shown as pending until this decision is made. Create new Participations by passing each campaign_id
along with the relevant terms_id
(if applicable) in an object within a campaigns
array.
publisher_id required | string Example: 1l1007802 ID of the partner |
status | string Example: a The status of the partner on the campaign
|
campaigns | array |
{- "campaigns": [
- {
- "campaign_id": "10l176",
- "terms_id": "111111l8"
}
]
}
{- "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_custom_terms_and_conditions_id": "10l176",
- "campaign_custom_terms_and_conditions_title": "Some fancy title",
- "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,
- "publisher_status": "a",
- "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": "Partnerize 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"
}
}
]
}
See all invites available to a partner grouped by brand
publisher_id required | string Example: 1l1007802 ID of the partner |
{- "advertisers": [
- {
- "address": {
- "country": "Chile",
- "line1": "123 Super street",
- "line2": "",
- "line3": "Super city",
- "line4": "",
- "postcode": "SU5 PER"
}, - "id": "301284",
- "invitations": [
- {
- "campaign": {
- "currency": {
- "iso": "CLP",
- "name": "Chilean peso",
- "symbol": "$"
}, - "id": "300866",
- "title": "My that is a super campaign",
- "vertical": {
- "id": "131",
- "name": "boats"
}
}, - "id": "11111|1"
}
], - "name": "Super brand",
- "network": {
- "id": "111111l300118",
- "name": "Super nework"
}
}
], - "count": 1,
- "execution_time": "0.98709 seconds"
}
Allows a partner to accept one of many of their invitations.
publisherId required | string ID of the partner |
campaign_ids required | Array of strings Campaign IDs to which the Partner has been invited |
{- "campaign_ids": [
- "111111l300140",
- "111111l400044"
]
}
Allows a partner to decline one of many of their invitations.
publisherId required | string ID of the partner |
campaign_ids required | Array of strings Campaign IDs to which the Partner has been invited |
{- "campaign_ids": [
- "111111l300140",
- "111111l400044"
]
}
Allows a partner to make requests to join campaigns.
publisherId required | string ID of the partner |
required | Array of objects |
{- "campaign_requests": [
- {
- "advertiser_id": "111111l1",
- "campaign_id": "111111l1"
}
]
}
{- "success_count": 1,
- "failure_count": 0,
- "execution_type": "0.34642 seconds"
}
View a summary of all Creatives available on each participating Campaign.
publisher_id required | string Example: 1l1007802 ID of the partner |
{- "campaign_creatives": [
- {
- "campaign_creative": {
- "campaign_id": "10l176",
- "creatives": {
- "Banner": 1,
- "Email": 1,
- "Feed": 1,
- "HTML": 1,
- "HTML Form": 1,
- "Text Link": 1
}
}
}
]
}
View all Creatives for the specified Campaign.
publisher_id required | string Example: 1l1007802 ID of the partner |
campaign_id required | string Example: 10l176 ID of the campaign |
status | string (YesOrNo) Enum: "y" "n" Example: status=y Filter creatives by active status |
tags | string Example: tags=any-value Filter by tags |
array or string Example: creative_type_id=111l10 Filter by creative_type_id |
{- "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 Feeds for the specified Partner.
publisher_id required | string Example: 1l1007802 ID of the partner |
campaign_id | string Example: campaign_id=10l176 ID of the campaign to restrict output to |
active | string (YesOrNo) Enum: "y" "n" Example: active=y Filter by active |
{- "campaigns": [
- {
- "campaign": {
- "campaign_id": "10l176",
- "title": "SportsBetting",
- "feeds": [
- {
- "campaign_feeds_id": "1011l10",
- "campaign_id": "10l176",
- "creative_id": "300441",
- "filename": "uk_destinations.csv",
- "filesize": 581427,
- "filesize_compressed": 27691,
- "last_processed": 1432235983,
- "name": "UK Destinations",
- "title": "SportBetting",
- "updated": 1432228514
}
]
}
}
], - "count": 1,
- "execution_time": "0.53595 seconds"
}
Retrieve Custom Terms and Conditions for a given partner and terms and conditions id
publisher_id required | string Example: 1111l123 ID of partner whose terms we want to read |
custom_terms_id required | string Example: 1111l564 ID of custom terms |
{- "custom_terms": [
- {
- "active": "y",
- "campaign_custom_terms_and_conditions_id": "111111l43",
- "campaign_id": "10l176",
- "created": "2019-05-29 09:18:17",
- "locale": "pl",
- "terms": "Terms and conditions content",
- "title": "Terms and conditions title"
}
], - "execution_time": "1.05973 seconds"
}
View combined terms & conditions for the given Campaigns(s) and Network(s). If a partner has custom campaign terms, these will be shown in place of the standard campaign terms. Terms content for standard campaign and network terms is return as HTML. For campaign custom partner terms, the content is returned as JSON which can be parsed and rendered to HTML using the Slate framework.
publisherId required | string ID of the partner |
campaigns required | array comma seperated list of Campaign IDs |
{- "count": 3,
- "terms": [
- {
- "title": "Network terms",
- "content": "<p>Hostels.com operates a closed and strict keyword policy. Affiliates are unable to participate in specific PPC activity to drive traffic directly to Hostels.com on Google, Yahoo or Bing search engines.<p>"
}, - {
- "title": "Campaign A standard terms",
- "content": "<p>There is a maximum cap of 2 units per order on new phone and 5 units per order for all other products. Commissions will not be paid on units exceeding this cap.</p>"
}, - {
- "title": "Partner custom terms for Campaign B",
- "content": {
- "object": "value",
- "document": {
- "object": "document",
- "data": { },
- "nodes": [
- {
- "object": "block",
- "type": "paragraph",
- "data": { },
- "nodes": [
- {
- "object": "text",
- "leaves": [
- {
- "object": "leaf",
- "text": "Custom campaign terms for Publisher Y",
- "marks": [ ]
}
]
}
]
}
]
}
}
}
]
}
View all Voucher codes for a campaign that the Partner is associated with
publisher_id required | string Example: 1l1007802 ID of the partner |
campaign_id required | string Example: 111111l13 ID of the campaign |
{- "count": 1,
- "commission_fields": [
- "conversion_type",
- "customer_reference",
- "advertiser_reference",
- "country",
- "vertical",
- "sku",
- "cookie_status",
- "category",
- "customer_type"
], - "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"
}
}
]
}
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 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
}
]
}
]
}
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 commission groups for a partner.
publisherId required | string The ID of a Partner |
{- "count": 2,
- "execution_time": "0.02571 seconds",
- "commission_groups": [
- {
- "commission_group": {
- "commission_group_id": "1011l1",
- "campaign_id": 1,
- "name": "The_group",
- "description": "",
- "start_date_time": "2018-11-01 12:00:00"
}, - "end_date_time": null,
- "active": "y",
- "last_modified": "2018-11-29 14:57:05"
}, - {
- "commission_group": {
- "commission_group_id": "1011l16",
- "campaign_id": 300659,
- "name": "Blog",
- "description": "",
- "start_date_time": "2019-06-03 11:00:00"
}, - "end_date_time": null,
- "active": "n",
- "last_modified": "2019-07-29 11:03:32"
}
]
}
Return the details of all Transaction Queries created by the Partner account.
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 |
campaign_id | string Example: campaign_id=10l176 Filter by the ID of a campaign |
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 |
{- "count": 5,
- "execution_time": "0.08001 seconds",
- "filters": { },
- "sort": {
- "column": "created_at",
- "direction": "ASC"
}, - "transaction_queries": [
- {
- "transaction_query": {
- "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 Publisher",
- "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"
}
}
]
}
Create one or more Transaction Queries. The fields required depends on the type of TQ being created: - Untracked: conversion_reference, camref, conversion_value, expected_commission, conversion_date_time - Incorrect commission: conversion_reference, camref, expected_commission - Declined: conversion_reference, camref
transaction_queries | array |
{- "transaction_queries": [
- {
- "camref": "hrDu67",
- "conversion_currency": "GBP",
- "conversion_date_time": "2017-01-01 00:00",
- "conversion_reference": "AF222PO",
- "conversion_value": 67.12,
- "expected_commission": 6.71,
- "notes": "Sample note",
- "publisher_reference": "A200FG1",
- "transaction_query_type": "untracked"
}
]
}
{- "execution_time": "1.16076 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"
}
}
Delete a single Transaction Query. Once a Transaction Query has been approved or rejected it cannot be deleted.
transaction_query_id required | string Example: 1l1000532 ID of the transaction query |
{- "execution_time": "1.16076 seconds",
- "transaction_query": {
- "deleted": true
}
}
Once funds have been received from the Brand, Partnerize will allocate all Commissions to the relevant Partners.
View all Self-billing invoices that have been created for the partner.
publisher_id required | string Example: 1l1007802 ID of the partner |
start_date | string Example: start_date=2020-02-19 14:29:33 Selfbill created from start date |
end_date | string Example: end_date=2020-02-19 17:29:33 Selfbill created till end date |
currency | string Example: currency=GBP Tracked currency |
status | string Example: status=created Payment status |
payment_start_date | string Example: payment_start_date=2020-02-19 14:29:33 Payment paid from start date |
payment_end_date | string Example: payment_end_date=2020-02-19 17:29:33 Payment paid till end date |
paid_currency | string Example: paid_currency=GBP Paid currency |
selfbill_currency | string Example: selfbill_currency=GBP Selfbill currency |
order | string Example: order=paid_currency Field to sort the results by |
order_dir | string Example: order_dir=ASC Direction to sort the results by |
{- "selfbills": [
- {
- "selfbill": {
- "creation_date": "2012-07-25 14:22:35",
- "download": null,
- "item_download": null,
- "items_in_bill": 5,
- "legal_entity": "GB",
- "majority_received_currency": "GBP",
- "net_value": 430.17,
- "paid_currency": "GBP",
- "payment_batch_id": null,
- "payment_date": null,
- "payment_detail_set_id": 24,
- "publisher_id": "1l1007802",
- "publisher_payment_detail_set_id": "111111l80",
- "publisher_self_bill_id": "1011l5403",
- "publisher_self_bill_reference": null,
- "self_bill_reference": "S-1l1007802-1011l5403",
- "selfbill_currency": "GBP",
- "status": "created",
- "timestamp": "2012-07-25 14:22:35",
- "total_value": 430.17,
- "tracked_currency": "GBP",
- "tracked_net_value": 430.17,
- "vat_rate": 0,
- "vat_value": 0,
- "withheld_tax": 0
}
}
]
}
Retrieve an individual Self-billing invoice.
publisher_id required | string Example: 1l1007802 ID of the partner |
publisher_self_bill_id required | string Example: 1011l5403 |
{- "selfbill": {
- "creation_date": "2012-07-25 14:22:35",
- "download": null,
- "item_download": null,
- "items_in_bill": 5,
- "legal_entity": "GB",
- "majority_received_currency": "GBP",
- "net_value": 430.17,
- "paid_currency": "GBP",
- "payment_batch_id": null,
- "payment_date": null,
- "payment_detail_set_id": 24,
- "publisher_id": "1l1007802",
- "publisher_payment_detail_set_id": "111111l80",
- "publisher_self_bill_id": "1011l5403",
- "publisher_self_bill_reference": null,
- "self_bill_reference": "S-1l1007802-1011l5403",
- "selfbill_currency": "GBP",
- "status": "created",
- "timestamp": "2012-07-25 14:22:35",
- "total_value": 430.17,
- "tracked_currency": "GBP",
- "tracked_net_value": 430.17,
- "vat_rate": 0,
- "vat_value": 0,
- "withheld_tax": 0
}
}
View all Payment Details for a partner.
publisher_id required | string Example: 1l1007802 ID of the partner |
{- "payment_details": {
- "1011l22": {
- "publisher_payment_detail_set_id": "1011l22",
- "country": "US",
- "paid_currency": "USD",
- "tracked_currency": [
- "USD"
], - "payment_type_code": "eft",
- "payment_type_name": "Electronic funds transfer",
- "automatic_self_bill_creation_date": "-1",
- "automatic_self_bill_creation_threshold": "-1",
- "suspended": "n",
- "suspended_at": null,
- "suspended_by": null,
- "suspension_notes": null,
- "payment_detail_values": {
- "bank_address": "8th Floor, West One, Forth Banks",
- "account_number": 12345678,
- "account_name": "joe bloggs",
- "bank_name": "bob bank",
- "routing_number": 122105155
}
}
}
}
Create Payment Details for a partner.
publisher_id required | string Example: 1l1007802 ID of the partner |
Array of objects |
{- "payment_details": {
- "1011l22": {
- "publisher_payment_detail_set_id": "1011l22",
- "country": "US",
- "paid_currency": "USD",
- "tracked_currency": [
- "USD"
], - "payment_type_code": "eft",
- "payment_type_name": "Electronic funds transfer",
- "automatic_self_bill_creation_date": "-1",
- "automatic_self_bill_creation_threshold": "-1",
- "suspended": "n",
- "suspended_at": null,
- "suspended_by": null,
- "suspension_notes": null,
- "payment_detail_values": {
- "bank_address": "8th Floor, West One, Forth Banks",
- "account_number": 12345678,
- "account_name": "joe bloggs",
- "bank_name": "bob bank",
- "routing_number": 122105155
}
}
}
}
{- "payment_details": {
- "1011l23": {
- "publisher_payment_detail_set_id": "1011l23",
- "country": "US",
- "paid_currency": "USD",
- "tracked_currency": [
- "USD"
], - "payment_type_code": "eft",
- "payment_type_name": "Electronic funds transfer",
- "automatic_self_bill_creation_date": "-1",
- "automatic_self_bill_creation_threshold": "-1",
- "suspended": "n",
- "suspended_at": null,
- "suspended_by": null,
- "suspension_notes": null,
- "payment_detail_values": {
- "bank_address": "8th Floor, West One, Forth Banks",
- "account_number": 12345678,
- "account_name": "joe bloggs",
- "bank_name": "bob bank",
- "routing_number": 122105155
}
}
}
}
Retrieve the available commission for a given partner.
publisher_id required | string Example: 1l1007802 ID of the partner |
{- "available_commissions": {
- "available_commission": {
- "no_items": 1,
- "value": 568,
- "publisher_commission": 312.4,
- "currency": "SGD",
- "publisher_id": "1l1007802",
- "publisher_commission_converted": {
- "currency": "USD",
- "value": 228.88
}
}
}
}
Return the details of partner's pending (shows value of pending conversions), approved (shows value of approved conversions), confirmed (amount that will be available once brand's invoice is paid), available (amount of money available to withdraw in this moment), and paid (already withdrawn) funds.
publisher_id required | string Example: 1l1007802 ID of the partner |
{- "execution_time": "2.25885 seconds",
- "summary": {
- "available": {
- "CAD": 12.45,
- "AUD": 0.4
}, - "confirmed": {
- "EUR": 11,
- "GBP": 54.2
}, - "pending": {
- "EUR": 125.11,
- "GBP": 57.65,
- "JPY": 97
}, - "approved": {
- "GBP": 90.8,
- "USD": 100.23
}, - "paid": {
- "PLN": 68.96
}
}
}
Retrieve tracking links for a given partner.
publisher_id required | string Example: 1l1007802 ID of the partner |
{- "execution_time": "0.29440 seconds",
- "count": 2,
- "limit": 200,
- "offset": 0,
- "links": [
- {
- "id": "1011l10",
- "campaign_id": "4d36c720be593",
- "description": null,
- "params": [
- {
- "key": "pubref",
- "value": "fdghjdkf"
}
], - "active": true
}, - {
- "id": "1011l18",
- "campaign_id": "300045",
- "description": null,
- "params": [
- {
- "key": "pubref",
- "value": "fdfdf"
}, - {
- "key": "adref",
- "value": "dfdff"
}
], - "active": true
}
], - "hypermedia": {
- "pagination": {
- "total_page_count": 1,
- "total_item_count": 1,
- "first_page": "/v2/publishers/2/links?limit=200&offset=0",
- "last_page": "/v2/publishers/2/links?limit=200&offset=0",
- "next_page": null,
- "previous_page": null
}
}
}
Create tracking links for a given partner and campaign.
publisher_id required | string Example: 1l1007802 ID of the partner |
campaign_id required | string |
description | string |
destination_url | string |
Array of objects (Key_Value_Pair) | |
active | boolean |
{- "campaign_id": "4d36c720be593",
- "description": null,
- "params": [
- {
- "key": "pubref",
- "value": "fdghjdkf"
}
], - "active": true
}
{- "execution_time": "0.29440 seconds",
- "link": {
- "id": "1011l10",
- "campaign_id": "4d36c720be593",
- "description": null,
- "params": [
- {
- "key": "pubref",
- "value": "fdghjdkf"
}
], - "active": true
}
}
Retrieve a tracking link.
publisher_id required | string Example: 1l1007802 ID of the partner |
link_id required | string Example: 1011l10 ID of the tracking link |
{- "execution_time": "0.29440 seconds",
- "link": {
- "id": "1011l10",
- "campaign_id": "4d36c720be593",
- "description": null,
- "params": [
- {
- "key": "pubref",
- "value": "fdghjdkf"
}
], - "active": true
}
}
Update a tracking link.
publisher_id required | string Example: 1l1007802 ID of the partner |
link_id required | string Example: 1011l10 ID of the tracking link |
campaign_id | string |
description | string |
destination_url | string |
Array of objects (Key_Value_Pair) | |
active | boolean |
{- "campaign_id": "4d36c720be593",
- "description": "test",
- "params": [
- {
- "key": "pubref",
- "value": "fdghjdkf"
}
], - "active": true
}
{- "execution_time": "0.29440 seconds",
- "link": {
- "id": "1011l10",
- "campaign_id": "4d36c720be593",
- "description": "test",
- "params": [
- {
- "key": "pubref",
- "value": "fdghjdkf"
}
], - "active": true
}
}
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"
}
}
}
Return a mix of aggregated and basket/item level conversion data for a partner.
publisher_id required | string Example: 1l1007802 ID of the partner |
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[campaign][]=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. |
invoice_created_date | string Example: invoice_created_date=2016-03-10T19:02:35Z Invoices that were created after the supplied date. |
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:
|
{- "total_conversion_count": {
- "EUR": 1
}, - "total_publisher_commission": {
- "EUR": 95.5
}, - "total_value": {
- "EUR": 955
}, - "start_date_time_utc": "2019-08-10 00:00:00",
- "end_date_time_utc": "2020-03-10 00:00:00",
- "start_date_time": "2020-03-08 17:18:33",
- "end_date_time": "2020-03-08 17:18:33",
- "limit": 300,
- "meta_data": [ ],
- "count": 1,
- "execution_time": "1.04266 seconds",
- "conversions": [
- {
- "conversion_data": {
- "conversion_id": "111111l314",
- "campaign_id": "111111l29",
- "publisher_id": "111111l92",
- "conversion_time": "2020-03-08 17:18:33",
- "creative_type": 0,
- "creative_id": 0,
- "specific_creative_id": 0,
- "currency": "EUR",
- "publisher_reference": "",
- "advertiser_reference": "adrefd",
- "conversion_reference": "AUTO-5ebc127cb2ddf3.85382959",
- "customer_type": null,
- "referer_ip": "265c:5b77:7721:e466:9e91:cf97:9b7a:b1f1",
- "source_referer": "",
- "last_modified": "2020-05-13 15:31:42",
- "conversion_type": 1,
- "country": "ES",
- "customer_reference": "custrefa",
- "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": "rubycampaignsuvwlynm",
- "publisher_name": "syjmmcll",
- "click": {
- "campaign_id": "111111l29",
- "publisher_id": "111111l92",
- "type": "standard",
- "status": "nibbled",
- "set_time": "2020-03-08 17:18:33",
- "set_ip": "265c:5b77:7721:e466:9e91:cf97:9b7a:b1f1",
- "last_used": 1589383804,
- "last_ip": "265c:5b77:7721:e466:9e91:cf97:9b7a:b1f1",
- "publisher_reference": "",
- "referer": "",
- "creative_id": 0,
- "creative_type": 0,
- "specific_creative_id": 0,
- "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": "111111lfo"
}, - "ref_conversion_metric": "Standard",
- "ref_device": "Desktop",
- "ref_partnership_model": "CPA",
- "ref_traffic_source": "Affiliate",
- "ref_user_context": "Web",
- "conversion_value": {
- "conversion_status": "pending",
- "value": 955,
- "publisher_commission": 95.5
}, - "meta_data": {
- "gclid": "adword_google_meta_data"
}, - "conversion_items": [
- {
- "conversion_item_id": "111111l314",
- "sku": 123,
- "category": "Producte",
- "item_value": 955,
- "item_publisher_commission": 95.5,
- "item_status": "pending",
- "last_update": "2020-05-13 15:30:04",
- "publisher_self_bill_id": null,
- "approved_at": null,
- "item_status_id": 1,
- "reject_reason": null,
- "voucher_codes": [ ],
- "meta_data": {
- "gclid": "adword_google_meta_data"
}, - "payable": false
}
], - "was_disputed": false,
- "conversion_lag": 0,
- "clickref": "111111lfo"
}
}
]
}
Return a mix of aggregated and basket/item level click data for a partner.
publisher_id required | string Example: 1l1007802 ID of the partner |
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[campaign][]=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": "2020-03-10 00:00:00",
- "start_date_time": "2020-03-08 17:18:33",
- "end_date_time": "2020-03-09 14:27:15",
- "limit": 300,
- "offset": 0,
- "count": 2,
- "execution_time": "0.27682 seconds",
- "clicks": [
- {
- "click": {
- "campaign_id": "111111l29",
- "publisher_id": "111111l92",
- "type": "standard",
- "status": "nibbled",
- "set_time": "2020-03-08 17:18:33",
- "set_ip": "265c:5b77:7721:e466:9e91:cf97:9b7a:b1f1",
- "last_used": "2020-05-13 15:30:04",
- "last_ip": "265c:5b77:7721:e466:9e91:cf97:9b7a:b1f1",
- "publisher_reference": "",
- "referer": "",
- "creative_id": 0,
- "creative_type": 0,
- "specific_creative_id": 0,
- "ref_device_id": 2,
- "ref_traffic_source_id": 3,
- "ref_partnership_model_id": 2,
- "ref_user_context_id": 2,
- "clickref": "111111lfo",
- "meta_data": [ ]
}
}, - {
- "click": {
- "campaign_id": "111111l29",
- "publisher_id": "111111l92",
- "type": "standard",
- "status": "nibbled",
- "set_time": "2020-03-09 14:27:15",
- "set_ip": "265c:5b77:7721:e466:9e91:cf97:9b7a:b1f1",
- "last_used": "2020-05-13 15:30:18",
- "last_ip": "265c:5b77:7721:e466:9e91:cf97:9b7a:b1f1",
- "publisher_reference": "",
- "referer": "",
- "creative_id": 0,
- "creative_type": 0,
- "specific_creative_id": 0,
- "ref_device_id": 2,
- "ref_traffic_source_id": 3,
- "ref_partnership_model_id": 2,
- "ref_user_context_id": 2,
- "clickref": "111111lfq",
- "meta_data": [ ]
}
}
]
}
Return the aggregation stats of payable commission for a particular partner.
publisher_id required | string Example: 1l1007802 ID of the partner |
{- "offset": 0,
- "limit": 300,
- "count": 0,
- "total_conversion_count": {
- "EUR": 1,
- "GBP": 6,
- "USD": 1
}, - "total_commission_value": {
- "EUR": 44,
- "GBP": 342.3365,
- "USD": 44
}, - "total_value": {
- "EUR": 400,
- "GBP": 3112.15,
- "USD": 400
}, - "total_publisher_commission_value": {
- "EUR": 40,
- "GBP": 311.215,
- "USD": 40
}, - "execution_time": "0.55225 seconds",
- "conversion_items": [ ]
}
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 Partner and within the requested time period.
publisher_id required | string Example: publisher_id=1l1007802 ID of the partner. |
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 Partner and within the requested time period. This report will give you details of orders at the basket level
publisher_id required | string Example: publisher_id=1l1007802 ID of the partner. |
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 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.
publisher_id required | string Example: publisher_id=1l1007802 ID of the partner. |
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,,,,,,,,,,
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_order_value
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_partner_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/partner/analytics/<data-source>/<endpoint>
For example, the URI for using explode
on the conversions
data source would be:
/v3/partner/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 |
publisher_reference | publisher_reference |
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 your partner_id
:
"scope": {
"partner_id": "partner_id",
}
The example above will first check you have access to the partner_id
. If you do have access, you will receive results for the partner.
If you do not have access to the requested partner
you will receive a 403 Forbidden
response.
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 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/partner/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 your Partner ID in the scope:
{
"scope":{
"partner": "partner_id"
},
"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 across your top 10 campaigns broken down 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_partner_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 /v3/partner/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_partner_commission"
],
"group_by":[
"campaign",
"country",
"currency"
],
"order_by":[
{
"field":"total_partner_commission",
"direction":"DESCENDING"
}
],
"top":10,
"scope":{
"partner": "partner_id"
},
"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/partner/analytics/conversions/explode
endpoint like in the previous example above.
+------------+---------------+----------+---------------------------+
| campaign_id | campaign_name | status | total_partner_commission |
| | | | |
+-------------+---------------+----------+--------------------------+
| 1 | Campaign 1 | pending | 200.00 |
+-------------+---------------+----------+--------------------------+
| 1 | Campaign 1 | approved | 150.00 |
+-------------+---------------+----------+--------------------------+
| 2 | Campaign 2 | pending | 350.00 |
+-------------+---------------+----------+--------------------------+
| 2 | Campaign 2 | approved | 100.00 |
+-------------+--------------+----------+---------------------------+
To do the filtering it requires a filter_by
property for both the conversion status and campaign_id
"filter_by":[
{
"field":"conversion_status",
"operator":"EQUALS",
"value":[
"approved",
"pending"
]
},
{
"field":"campaign_id",
"operator":"EQUALS",
"value":[
"campaign_id"
]
}
]
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":{
"partner": "partner_id"
},
"filter_by":[
{
"field":"conversion_status",
"operator":"EQUALS",
"value":[
"approved",
"pending"
]
},
{
"field":"campaign_id",
"operator":"EQUALS",
"value":[
"campaign_id"
]
}
],
"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 all 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/partner/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":{
"partner": "partner_id"
},
"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. The zero filling is what makes the Timeseries endpoint ideal for creating charts and graphs. Again, we highly recommend this over using the Explode endpoint.
Use the POST method on the URI /v3/partner/analytics/conversions/timeseries
.
With the request body of:
{
"metrics":[
"total_conversion_items",
"total_partner_commission"
],
"output_currency":"GBP",
"interval":{
"period":"P1D"
},
"scope":{
"partner": "partner_id"
},
"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 a specified partner identifier. You must have the correct authorisation to view reporting data on this partner. |
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": {
- "partner": "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 a specified partner identifier. You must have the correct authorisation to view reporting data on this partner. |
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" "publisher_reference" "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": {
- "partner": "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 a specified partner identifier. You must have the correct authorisation to view reporting data on this partner. |
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" "publisher_reference" "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": {
- "partner": "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 a specified partner identifier. You must have the correct authorisation to view reporting data on this partner. |
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": {
- "partner": "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 a specified partner identifier. You must have the correct authorisation to view reporting data on this partner. |
metrics required | Array of strings non-empty unique Items Enum: "total_conversion_items" "total_conversions" "total_partner_commission" "percentage_average_partner_commission" "average_order_value" "total_order_value" "conversion_rejection_rate" "average_order_size" "percentage_order_value" "percentage_partner_commission" "average_partner_commission" 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": {
- "partner": "111111l10"
}, - "metrics": [
- "total_partner_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 a specified partner identifier. You must have the correct authorisation to view reporting data on this partner. |
metrics required | Array of strings non-empty unique Items Enum: "total_conversion_items" "total_conversions" "total_partner_commission" "percentage_average_partner_commission" "average_order_value" "total_order_value" "conversion_rejection_rate" "average_order_size" "percentage_order_value" "percentage_partner_commission" "average_partner_commission" 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_status" "conversion_type" "country" "creative" "currency" "customer_type" "date_time" "device" "os_family" "os_major" "os_minor" "os_patch" "partner" "publisher_reference" "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": {
- "partner": "111111l10"
}, - "metrics": [
- "total_partner_commission"
], - "group_by": [
- "country"
], - "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 a specified partner identifier. You must have the correct authorisation to view reporting data on this partner. |
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_status" "conversion_type" "country" "creative" "currency" "customer_type" "date_time" "device" "os_family" "os_major" "os_minor" "os_patch" "partner" "publisher_reference" "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": {
- "partner": "111111l10"
}, - "group_by": [
- "country"
], - "filter_by": [
- {
- "field": "country",
- "value": "US",
- "operator": "EQUALS"
}, - {
- "field": "device_id",
- "value": 5,
- "operator": "EQUALS",
- "not": true
}
], - "order_by": [
- {
- "field": "total_partner_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 a specified partner identifier. You must have the correct authorisation to view reporting data on this partner. |
metrics required | Array of strings non-empty unique Items Enum: "total_conversion_items" "total_conversions" "total_partner_commission" "percentage_average_partner_commission" "average_order_value" "total_order_value" "conversion_rejection_rate" "average_order_size" "percentage_order_value" "percentage_partner_commission" "average_partner_commission" 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": {
- "partner": "111111l10"
}, - "metrics": [
- "total_partner_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 a specified partner identifier. You must have the correct authorisation to view reporting data on this partner. |
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": {
- "partner": "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 a specified partner identifier. You must have the correct authorisation to view reporting data on this partner. |
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" "publisher_reference" "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": {
- "partner": "111111l10"
}, - "metrics": [
- "total_impressions"
], - "group_by": [
- "campaign"
], - "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 a specified partner identifier. You must have the correct authorisation to view reporting data on this partner. |
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" "publisher_reference" "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": {
- "partner": "111111l10"
}, - "group_by": [
- "campaign"
], - "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 a specified partner identifier. You must have the correct authorisation to view reporting data on this partner. |
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": {
- "partner": "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"
}
}
]
}
{- "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 aquisition",
- "skip_invoice": 0,
- "skip_selfbill": 0,
- "skip_override": 0
}
}
]
}
Returns a list of Partner participations with basic campaign details
partnerId required | string Example: 111111l3 ID of the Partner |
status[] | Array of strings Items Enum: "r" "a" "p" "t" Example: status[]=a Specify the status of participations that will be returned. Default value 'a' |
campaign_status[] | Array of strings Items Enum: "a" "r" Example: campaign_status[]=a Specify the status of campaigns that will be returned. Default value 'a' |
fields[] | Array of strings Items Enum: "camref" "vertical" "promotional_countries" "default_currency" "brand_id" "status" "icon" "week_start" "hidden_campaign" "reporting_timezone" Example: fields[]=promotional_countries Specify what additional data properties should be returned in the response payload |
{- "data": [
- {
- "campaign_id:": "111111l13",
- "status": "y",
- "approved": "2022-09-24T14:15:22+00:00",
- "agreed_latest_terms": "y",
- "custom_terms": "y",
- "campaign_info:": {
- "title": "Cards & Loans",
- "secure_tracking": "y",
- "cpc_tracking_link": null,
- "tracking_link_mobile": null,
- "allow_deep_linking": "y",
- "campaign_languages": {
}
}
}
]
}
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.
partner_id | string Example: partner_id=111111l8 ID of the partner 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": {
- "partner": "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": {
- "partner": "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 partner. 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": {
- "partner": "string"
}
}
{- "data": {
- "id": "111111l35",
- "scope": {
- "partner": "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 Example: 111111l3 ID of the Partnerize Tag to fetch |
{- "data": {
- "id": "111111l35",
- "scope": {
- "partner": "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": {
- "partner": "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:": "tracking-link-generation",
- "description:": "Tracking link generation from standard brand URLs",
- "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": "tracking-link-generation"
}
{- "data": {
- "name": "tracking-link-generation",
- "config": null
}
}
Information about the brands the authenticated partner is associated with. This will include brands from networks they've been blocked from.
brand_ids[] | Array of strings Example: brand_ids[]=111111l1 If you only want to retrieve information about a specific set of brands, apply this filter |
partner | string Example: partner=111111l1 If you only want to retrieve brand information for brands that are associated with a specific partner, apply this filter |
{- "data": [
- {
- "brand_id": "111111l1",
- "name": "brand name",
- "address1": "address line 1",
- "address2": "address line ",
- "address3": "address line 3",
- "address4": "address line 4",
- "postcode": "postcode",
- "country": "country",
- "contact_email": "email@user.com",
- "description": "brand description",
- "blocked": false
}
]
}
Endpoints for retrieving campaign terms and conditions which are in affect.
Lists all campaign terms and conditions of the campaigns managed by the user. Terms and conditions will be bound to your user's locale. If no terms for your locale exist, terms for en
or en_us
will be returned in it's place.
campaign_id | string Example: campaign_id=111111l5 Filter by campaign. |
created_at | string Example: created_at=2020-01-01T00:00:00Z..2020-12-31T23:59:59Z Filter by created datetime. |
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. |
content | string Example: content=cookies Filter by content. |
{- "data": [
- {
- "id": "111111l10",
- "created_at": "2020-01-01T00:00:00+0000",
- "locale": "en_us",
- "content": "<p>Lorem Ipsum</p>",
- "campaign_id": "111111l5"
}
]
}
Retrieves a single campaign terms and conditions
id required | string The ID of the campaign terms and conditions |
{- "data": {
- "id": "111111l10",
- "created_at": "2020-01-01T00:00:00+0000",
- "locale": "en_us",
- "content": "<p>Lorem Ipsum</p>",
- "campaign_id": "111111l5"
}
}
Endpoints for retrieving and management the confirmations of changes existing campaign terms and conditions.
Each change to a set of campaign terms and conditions are recoreded, these changes can be flag as been acknowledged by a user by creating a campaign terms and conditions acknowledgment instances.
Lists all acknowledgements for campaign terms and conditions of the partners managed by the user.
partner_id | string Example: partner_id=111111l34 Filter by partner. |
campaign_terms_and_conditions_id | string Example: campaign_terms_and_conditions_id=111111l50 Filter by campaign terms and conditions. |
created_at | string Example: created_at=2020-01-01T00:00:00Z..2020-12-31T23:59:59Z Filter by created datetime. |
created_by | string Example: created_by=111111l2 Filter by created by user. |
{- "data": [
- {
- "id": "111111l551",
- "partner_id": "111111l34",
- "campaign_terms_and_conditions_id": "111111l50",
- "created_at": "2020-01-01T00:00:00+0000",
- "created_by": "111111l2"
}
]
}
Create an acknowledgement for campaign terms and conditions
partner_id required | string |
campaign_terms_and_conditions_id required | string |
{- "partner_id": "111111l34",
- "campaign_terms_and_conditions_id": "111111l50"
}
{- "data": {
- "id": "111111l551",
- "partner_id": "111111l34",
- "campaign_terms_and_conditions_id": "111111l50",
- "created_at": "2020-01-01T00:00:00+0000",
- "created_by": "111111l2"
}
}
Retrieves a single acknowledgment of campaign terms and condition
id required | string The ID of the acknowledgment |
{- "data": {
- "id": "111111l551",
- "partner_id": "111111l34",
- "campaign_terms_and_conditions_id": "111111l50",
- "created_at": "2020-01-01T00:00:00+0000",
- "created_by": "111111l2"
}
}
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"
}
}