Change log

DateAPI versionChange
4 September 2015v1.33Added authentication reference
24 September 2015v1.35Add "last-modified" support
10 October 2015v1.36Added object "forecast" for advertiser
5 November 2015v1.37Campaigns, campaign_groups, creatives, sites added to common objects

Introduction

This document describes the API of GetIntent RTBSuite platform. The API consists of three major parts:

General approach

API is built as JSON RESTful service and support standard GET/PUT/DELETE methods over HTTP 1.1 protocol. API endpoint is RTBSuite UI hostname.

GETread/retrieve
PUTcreate/add/update/modify
DELETEdelete

JSON data model

RTB data model contains several entities, each entity has it’s own JSON representation with name and id:

{
	id: 1,
	name: "<name>",
 	...
}                                    

Also some objects may belong to a specific advertiser, in this case advertiser_id field would be required

{
	id: 1,
	name: "<name>",
	advertiser_id: 6
 	...
}                         

The general API URL pattern is: 

http://ui.getintent.com/api/v1/<object_type>/<action>(/<id>)?token=<token>

ui.getintent.com should be replaced by proper UI domain. <token> is authentication token (can be obtained through user settings in UI).

API output

API output can be controlled by the following additional parameters and headers

Additional parameters controlling pagination/formatting

ParameterDescriptionAvailable at, methodValuesBy defaultExample
mode

Affects on list's view.

Old version: all collection will be returned at root (deprecated)

New version: all collection will be placed to data node

Value recommend to use always: 1

all, list

0 - old version (deprecated).

1 - new version.

0../list?token=<token>&mode=1
custom_fields

Includes all listed object's fields in output for "list" method

listListed by comma additional fields.null../list?token=<token>&custom_fields=starts,ends
page_limit

Limits count of items per request.

Realizes pagination.

If "page_limit" parameter is used, then "mode" property's value becomes mode=1 automatically.

all, listCount of items per one page.null../list?token=<token>&page_limit=10
pageCurrent page. Works with "page_limit" method together only.all, listCurrent page in output.null../list?token=<token>&page_limit=10&page=2
prettyControls JSON output formatall,list0 - minimized JSON ,
1 - formatted JSON 
0../list?token=<token>&page_limit=10&pretty=1

Additional headers

ParameterDescriptionAvailable at, methodValuesBy defaultExample
if-modified-since

Return header HTTP 304 Not Modified
without content, if data has not updated since this date

listDate in specify format
D, d M Y H:i:s GMT
nullif-modified-since: Fri, 18 Sep 2015 10:34:37 GMT
{
    "data": {
        "921": {
            "id": "921",
            "name": "test_campaign"
        },
        "1400": {
            "id": "1400",
            "name": "1"
        }
    },

    "pages": {
        "total_elements": "6",
        "total_pages": 3,
        "current_page": 1,
        "previous_page": false,
        "next_page": 2,
        "page_size": 2,
        "offset": 0
    }
}