The Performance Horizon API has been designed for use in various scenarios, ranging from publishers remotely downloading conversion reports, to advertisers and agencies building their own white label performance marketing network.
We have designed the API to be as flexible as possible, implemented in both XML and JSON over HTTP, using as many of the REST principles as possible. That big collection of abbreviations should hopefully result in lots of fun working with our API, and ensure that any previous API work you have done with other frameworks should be simple to port across to fit in with ours.
- 1 Access and Authentication
- 2 API Methods
- 2.1 User Methods
- 2.2 Advertiser Methods
- 2.2.1 Campaign Methods
- 2.2.2 Commission Methods
- 2.2.3 Commission Group Methods
- 2.2.4 Voucher Code Methods
- 2.2.5 Publisher Participation Methods
- 2.2.6 Creative Methods
- 2.2.7 Reporting Methods (Advertiser)
- 2.2.8 Invoice Methods
- 2.2.9 Conversion Methods
- 2.2.10 Dispute Methods (Advertiser)
- 2.2.11 Tracking Methods
- 2.2.12 Leadgen Blacklist Methods
- 2.2.13 Feed Methods (Advertiser)
- 2.3 Publisher Methods
- 2.4 Reference Methods
- 2.5 Network Methods
Access and Authentication
To use the API, you must have a valid API Key and a user account with PHG. You can obtain a key by contacting the friendly chaps at firstname.lastname@example.org 
Every API call uses HTTP BASIC authentication over HTTPS, and conforms to the same standard format:
The api_key is the application key, this is directly related to the application you are accessing through the API. This may be an existing application, or you may be the proud owner of your very own. The user_api_key is the unique API key for the user to which the API request relates.
You can specify the response format from the API, JSON is the default but XML is also available. To specify the format, simply complete the API URI with .json or .xml respectively.
All key value pairs are separated with a forward slash, an example of a method call for campaign, passing a campaign id of 5 would be:
Note, in the above example, the API return format of XML was specified.
The following list covers all the public facing API methods. They range from user administration, to account specific reporting, through to full campaign management.
The user methods allow you to create a user and ultimately assign an advertiser or publisher account to that user.
In order to have an active campaign running on the network, it must be part of an advertiser account.
- Create a new advertiser
- Update an existing advertiser
- View the details of an advertiser
- View advertiser campaigns
The campaign methods allow an advertiser to administer their own campaign(s).
- Create a new campaign - this method is chainable
- Update an existing campaign - this method is chainable
- Setting campaign overloads
- View the details of a campaign
- Delete a campaign
Commission points can be set at multiple levels of the campaign, to allow a high level of granularity when defining the incentives.
In order to manage commission points more efficiently, it is possible to organise publishers into commission groups. This allows you to set a commission point on a group of publishers.
- Create a new commission group
- Update an existing commission group
- View the details of an existing commission group
- Create a new voucher code
- Update an existing voucher code
- View the details of an existing voucher code
All Publishers who wish to generate conversions for a campaign must be approved to do so.
- Add publishers to a campaign / remove publishers from a campaign
- View details of campaign publishers
A campaign can offer its publishers a range of creative to be used in promotional methods.
The reporting methods return all of the campaign related data generated by publishers.
The invoice methods allow an advertiser to retrieve and view all raised invoices.
All conversions must be either approved or rejected. The status can be updated on a conversion, or conversion item level.
- Update status of conversion items - this method is job enabled
- Update status of conversions - this method is job enabled
- Reject reasons
A publisher may raise transaction disputes from time to time. These methods allow you to manage and resolve these.
In order to track conversions on a campaign, the details of each conversion must be passed to the PHG tracking server.
Captured lead data can be checked against blacklists, both pre-defined and custom.
PHG offers a powerful feeds service.
- Create a new publisher - this method is chainable
- Update an existing publisher - this method is chainable
- View the details of a publisher
The reporting methods return all of the campaign related data generated by a publisher.
The self-bill methods allow a publisher to retrieve and view bills that have been generated.
Allows a publisher to lodge a dispute against a transaction.
Details about the publisher's website(s).
- Create a new website
- Update an existing website
- View the details of a website
- Possible website errors
Details about the publisher's database(s).
- Create a new database
- Update an existing database
- View the details of a database
- Possible database errors
Publishers must be associated with a campaign in order to record conversions. These functions allow a publisher to request access to a campaign
Reference methods are used to grab restricted field values, these are used to ensure valid data is passed for various method calls.
- Conversion Type
- Creative Type
- Payment Method
- Promotional Method
- Publisher Terms and Conditions
- Advertiser Terms and Conditions
- Reject Reason
- Website Type
Network methods apply to the entire network, and affect all types of users.
Network news allows communication to be sent to all users within the network.
Emails are specific communications sent to publishers based on their participation on campaigns, campaign groups or networks
Emails and news can have filters applied to them so they only appear/get sent to a specific set of contacts
Help/FAQ to assist users of the network with common questions and answers.