Prepr Documentation

Prepr Documentation

Welcome to the Prepr Documentation. You'll find comprehensive guides and documentation to help you start working with Prepr as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    
Suggest Edits

API Introduction

 

Overview

This is reference documentation for the Prepr REST API.

The API provides programmatic access to all of the key parts of Prepr, publications, containers, assets, persons, guides ect. ect. To get started with the API, you'll need to first have created a application with the help of the Prepr support team. Contact support@prepr.io to get started today.

Making a request

Making a request to our API is as simple as issuing an HTTP GET request. You can make these requests using the mechanism of your choosing. For debugging and developing our team uses Postman.

GET /v5/publications?access_token={{access_token}} HTTP/1.0

More about the basis in our guide Basics explained and some advanced functions Overview and Best Practices .

Interpreting the Response

All API endpoints will return a HTTP status code that matches the state of your request. The status codes are explained in the Response Codes guide.

Suggest Edits

New Prepr released

 

Check out the changelog --> https://changelog.prepr.io

Suggest Edits

/sources

Lists all sources.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/sources
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/sources \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/sources',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/sources")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/sources");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/sources"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "items": [
        {
            "id": "fd88f2494-ef96-429d-a2907-3f5672add7fa",
            "created_on": "2018-01-22T10:50:32+00:00",
            "label": "Rss",
            "url": "https://www.exmaple.com/rss.xml",
            "interval": null,
            "fetched_on": 1518795303549,
            "active": null,
            "name": "Example RSS",
            "shortname": "RSS",
            "favorite": null,
            "origin": null,
            "tag": null,
            "frequency": 58000,
            "failed": 0,
            "last_import": 1518795303549
        }
    ],
    "total": 1,
    "after": "YWZ0ZXJfMTE=",
    "before": "YmVmb3JlXzEw",
    "skip": 0,
    "limit": 1
}

Query Params

q
string

search by name

sort
string

changed_on, shortname

 

Sources can contain different types of objects: rss-feeds, twitter accounts, twitter hashtags, instagram accounts, instagram hashtags, facebook page or an FTP server location.

About sources

Automation is the key to consistently sharing your content and message with your audience. Our system makes it easier to monitor all sorts of content sources. Just set up a source to start filing up your inbox.

Scopes: sources.

Suggest Edits

/sources/items

Lists all items produced by the followed sources.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/sources/items
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/sources/items \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/sources/items',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/sources/items")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/sources/items");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/sources/items"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

q
string

search in items

source_ids_or
string

comma separated list of source id's to show items for

 

Source items will be automatically deleted after 7 days.

Scopes: sources.

Suggest Edits

/sources/items/{id}

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/sources/items/id
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/sources/items/id \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/sources/items/id',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/sources/items/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/sources/items/id");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/sources/items/id"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required
 

Scopes: sources.

Suggest Edits

/rss/follow

Internal use only.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/rss/follow
curl --request POST \
  --url 'https://api.eu1.graphlr.io/v5/rss/follow?url=url&name=name' \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/rss/follow',
  qs: 
   { url: 'url',
     name: 'name' },
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/rss/follow?url=url&name=name")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/rss/follow?url=url&name=name");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/rss/follow"

querystring = {"url":"url","name":"name"}

payload = ""
response = requests.request("POST", url, data=payload, params=querystring)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

url
string
required
name
string
required
shortname
string
favorite
boolean
 

Scopes: mediaconnect.

Suggest Edits

/twitteraccounts/follow

Internal use only.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/twitteraccounts/follow
curl --request POST \
  --url 'https://api.eu1.graphlr.io/v5/twitteraccounts/follow?screen_name=screen_name' \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/twitteraccounts/follow',
  qs: { screen_name: 'screen_name' },
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/twitteraccounts/follow?screen_name=screen_name")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/twitteraccounts/follow?screen_name=screen_name");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/twitteraccounts/follow"

querystring = {"screen_name":"screen_name"}

payload = ""
response = requests.request("POST", url, data=payload, params=querystring)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": "93474576",
  "account_id": "93474576",
  "created_on": "2017-01-27T16:52:21+00:00",
  "label": "TwitterAccount",
  "name": "Nieuwsuur",
  "screen_name": "Nieuwsuur",
  "picture": "https://pbs.twimg.com/profile_images/528166575979769858/ze0o6vs-.jpeg",
  "shortname": null,
  "favorite": null
}

Query Params

screen_name
string
required

twitter existing screen name

shortname
string
favorite
boolean
 

Scopes: mediaconnect.

Suggest Edits

/twitterhashtags/follow

Internal use only.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/twitterhashtags/follow
curl --request POST \
  --url 'https://api.eu1.graphlr.io/v5/twitterhashtags/follow?body=body' \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/twitterhashtags/follow',
  qs: { body: 'body' },
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/twitterhashtags/follow?body=body")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/twitterhashtags/follow?body=body");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/twitterhashtags/follow"

querystring = {"body":"body"}

payload = ""
response = requests.request("POST", url, data=payload, params=querystring)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": "57f15a85-1811-4bc3-9ae9-ce2024e11149",
  "created_on": "2018-01-24T10:26:25+00:00",
  "label": "TwitterHashtag",
  "body": "TeamNL",
  "shortname": null,
  "favorite": null
}

Query Params

body
string
required

twitter hashtag without #

shortname
string
favorite
boolean
 

Scopes: mediaconnect.

Suggest Edits

/assets

Lists all assets.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/assets
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/assets \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/assets',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/assets")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/assets");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/assets"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "items": [
        {
            "id": "3c3558ce-9d42-4784-bed8-9dcb1df2de4d",
            "created_on": "2018-02-15T12:52:02+00:00",
            "changed_on": "2018-02-15T12:52:20+00:00",
            "label": "Photo",
            "name": "Max Verstappen in Spain",
            "body": ""
        },
      	{
            "id": "fa16686-8c7e-4080-bc7e-1d4378dfff4d",
            "created_on": "2017-09-14T11:55:29+00:00",
            "changed_on": "2017-12-14T13:34:38+00:00",
            "label": "Video",
            "name": null,
            "body": null
        },
       	{
            "id": "fa2229b286-8c7e-4080-be-1d4323fff4d",
            "created_on": "2017-09-14T11:55:29+00:00",
            "changed_on": "2017-12-14T13:34:38+00:00",
            "label": "Audio",
            "name": null,
            "body": null
        }
    ],
    "total": 3,
    "after": "YWZ0ZXJfMjU=",
    "before": "YmVmb3JlXzA=",
    "skip": 0,
    "limit": 100
}

Query Params

q
string

search by name or original filename

label
string

one of: Audio, Cover, Photo, Video

tags
string
 

Scopes: assets.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/assets
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/assets \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/assets',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/assets")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/assets");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/assets"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": "b16bb299-1b0a-48d0-b5ad-02851099270e",
  "created_on": "2017-09-01T11:26:50+00:00",
  "changed_on": "2017-12-14T13:33:49+00:00",
  "label": "Photo",
  "name": "Max Verstappen in Monaco",
  "body": ""
}

Body Params

label
string
required

one of: Audio, Photo, PDF, Video

source
file
required

required when label is Audio, PDF, or Photo

file_size
int32
required

required when label is Video and without video_file_chunk

video_file_chunk
file
required

required when label is Video and upload_phase is start

upload_phase
string
required

required when label is Video. one of: start, finish

name
string
body
string
tags
array
 

Maximum file size

The maximum file size should not exceed 1000MB per uploaded asset. See our Fair Usage Policy for more information. If you try to upload a larger file you will receive a Request Timeout error from the API.

Scopes: assets, assets_publish.

Suggest Edits

/assets/{id}/multipart

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/assets/id/multipart
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/assets/id/multipart \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/assets/id/multipart',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/assets/id/multipart")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/assets/id/multipart");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/assets/id/multipart"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required
 

Scopes: assets, assets_publish.

Suggest Edits

/assets/{id}

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/assets
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/assets \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/assets',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/assets")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/assets");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/assets"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "id": "4efd841b1-7a77-4ebdb-b18e-3e51ddf4b93e6",
    "created_on": "2017-12-05T09:45:12+00:00",
    "changed_on": "2018-02-16T19:30:05+00:00",
    "label": "Photo",
    "name": "Max Verstappen win in Spain 2017",
    "body": null
}

Path Params

id
string
required
 

The label can be Photo, Audio, Video.

Scopes: assets.

Suggest Edits

/assets/{id}

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
puthttps://api.eu1.graphlr.io/v5/assets/id
curl --request PUT \
  --url https://api.eu1.graphlr.io/v5/assets/id \
  --data ''
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.eu1.graphlr.io/v5/assets/id',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/assets/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.eu1.graphlr.io/v5/assets/id");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/assets/id"

payload = ""
response = requests.request("PUT", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

Body Params

name
string
body
string
tags
array
 

Scopes: assets, assets_publish.

Suggest Edits

/assets/{id}

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.eu1.graphlr.io/v5/assets
curl --request DELETE \
  --url https://api.eu1.graphlr.io/v5/assets \
  --data ''
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.eu1.graphlr.io/v5/assets',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/assets")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.eu1.graphlr.io/v5/assets");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/assets"

payload = ""
response = requests.request("DELETE", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Path Params

id
string
required
 

Deleting a asset will remove the asset from all Publications as-well as custom field connections.

Scopes: assets, assets_delete.

Suggest Edits

/assets/audiobox/cut

Creates a new Asset based on a timecoded cut in Audiobox.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/assets/audiobox/cut
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/assets/audiobox/cut \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/assets/audiobox/cut',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/assets/audiobox/cut")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/assets/audiobox/cut");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/assets/audiobox/cut"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": "b16bb299-1b0a-48d0-b5ad-02851099270e",
  "created_on": "2017-09-01T11:26:50+00:00",
  "changed_on": "2017-12-14T13:33:49+00:00",
  "label": "Audio",
  "name": "Max Verstappen in Monaco",
  "body": ""
}

Body Params

start_timecode
date
required

Y-m-d H:i:s

end_timecode
date
required

Y-m-d H:i:s

 

This endpoint is only available to customers that have a working Audiobox integration configured.

Scopes: assets, assets_publish.

Suggest Edits

/publications

Lists all publications.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/publications
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/publications \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/publications',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/publications")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/publications");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/publications"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

status
string
label
string
channel_id
string

filter on specified channel

channel_ids
string

filter on specified channels, comma-separated

q
string

search in content of the models

tag_ids
string
tag_names
string
me_viewed
boolean

requires session_hash param

me_liked
boolean

requires session_hash param

me_bookmarked
boolean

requires session_hash param

me_disliked
boolean

requires session_hash param

me_purchased
boolean

requires session_hash param

me[notification][state]
string

requires session_hash param. statuses: pending, published, discarded

latitude
float

required with longitude

longitude
float

required with latitude

distance
int32

max distance to set location in meters (min: 50)

event_from
date
event_until
date
interactions_order
string

Bookmark,Cancellation,Clickthrough,Commented,Dislike,Like,Purchase,Remarked,Sale,Share,View,Vote,Win

sort
string

published_on, -published_on, created_on, -created_on, changed_on, -changed_on, name

created_by_id
string
fields
string
published_on_from
int32

timestamp

published_on_until
int32

timestamp

tag_slug
string
channel_slug
string
 

Fields differ by model see Publication Models.

Filter multiple labels:

If you want to filter on multiple labels you have to send a label array, example: ?label[0]=Post&label[1]=FacebookPost

Scopes:

Scopes: publications.

Suggest Edits

/publications

Create a new Publication.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/publications
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/publications \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/publications',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/publications")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/publications");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/publications"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

status
string
label
string
channel
object
 
channel.id
string
published_on
date-time
required

UTC

unpublish_on
date-time

UTC, will automatically change the status to Expired

container
object
 
container.id
string
element
array

required for label Post: Post Elements Explained

slug
string

has to be unique in the selected channel

business_hours
array
locations
array
addresses
array
events
array
custom
array of strings
name
string

required for label Album, Banner, ShowDetail

call_to_action
string

for label Banner

url
string

for label Banner

assets
array

required for label AudioChunk, VideoChunk

sales
array
value
float
reference_id
string
capacity
int32
capacity_per_day
int32
compare
string
 

Fields differ by model see Publication Models.

Scopes: publications, publications_publish.

Suggest Edits

/publications/{id}

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/publications/id
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/publications/id \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/publications/id',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/publications/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/publications/id");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/publications/id"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required
 

Fields differ by model see Publication Models.

Scopes: publications.

Suggest Edits

/publications/{id}

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
puthttps://api.eu1.graphlr.io/v5/publications/id
curl --request PUT \
  --url https://api.eu1.graphlr.io/v5/publications/id \
  --data ''
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.eu1.graphlr.io/v5/publications/id',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/publications/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.eu1.graphlr.io/v5/publications/id");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/publications/id"

payload = ""
response = requests.request("PUT", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required
 

Scopes: publications, publications_publish.

Suggest Edits

/publications/{id}

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.eu1.graphlr.io/v5/publications/id
curl --request DELETE \
  --url https://api.eu1.graphlr.io/v5/publications/id \
  --data ''
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.eu1.graphlr.io/v5/publications/id',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/publications/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.eu1.graphlr.io/v5/publications/id");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/publications/id"

payload = ""
response = requests.request("DELETE", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Path Params

id
string
required
 

Scopes: publications, publications_delete.

Validation errors

param
message
explaination

id

validator.error.id.required

id

validator.error.id.exists

publication doesn't exist.

Suggest Edits

/publications/{id}/currently-views

Internal use only.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/publications/id/currently-views
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/publications/id/currently-views \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/publications/id/currently-views',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/publications/id/currently-views")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/publications/id/currently-views");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/publications/id/currently-views"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

Body Params

session_hash
string
required
 
Suggest Edits

/publications/{id}/currently-views

Internal use only.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.eu1.graphlr.io/v5/publications/id/currently-views
curl --request DELETE \
  --url https://api.eu1.graphlr.io/v5/publications/id/currently-views \
  --data ''
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.eu1.graphlr.io/v5/publications/id/currently-views',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/publications/id/currently-views")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.eu1.graphlr.io/v5/publications/id/currently-views");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/publications/id/currently-views"

payload = ""
response = requests.request("DELETE", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Path Params

id
string
required

Body Params

session_hash
string
required
 
Suggest Edits

/recommendations

Get publications by our recommendation engine.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/recommendations
curl --request GET \
  --url 'https://api.eu1.graphlr.io/v5/recommendations?session_hash=session_hash' \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/recommendations',
  qs: { session_hash: 'session_hash' },
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/recommendations?session_hash=session_hash")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/recommendations?session_hash=session_hash");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/recommendations"

querystring = {"session_hash":"session_hash"}

payload = ""
response = requests.request("GET", url, data=payload, params=querystring)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

session_hash
string
required
tag_ids
string

(AND)

tag_ids_or
string

(OR)

tag_names
string

(AND)

tag_names_or
string

(OR)

latitude
float

required with longitude

longitude
float

required with latitude

distance
int32

max distance to set location in meters (min: 50)

event_on
string

one of: today, tomorrow, next-weekend, next-week

filter_disliked
boolean

filter items disliked by the logged-in Person

filter_session
int32

milliseconds until the same publication is recommended again

score_distance
boolean

publication near the location will get a positive boost

score_eventdays
boolean

longer events will have a negative impact on the score

score_likes
boolean

social facebook page likes

score_clicks
boolean

clicks on similar publications

score_fblikefriends
boolean

social facebook friends liked publications

score_fbfriends
boolean

clicks on publications by facebook friends

score[liked_tags]
float

score weight for personal tags liked/disliked tags

score[click_through]
float

Click throughs on a publication will boost the related tags.

sort
string

score, distance

 

If a location is giving the distance to the publication will be returned.

Suggest Edits

/containers

Lists all containers.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/containers
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/containers \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/containers',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/containers")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/containers");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/containers"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "items": [
        {
            "id": "e209dde52-86d1-4391-8ee6-df2ec25c94c30",
            "created_on": "2018-02-14T10:42:11+00:00",
            "changed_on": "2018-02-16T13:40:54+00:00",
            "label": "Story",
            "body": "Max Verstappen in Abu Dhabi"
        }
    ],
    "total": 1,
    "after": "YWZ0ZXJfMQ==",
    "before": "YmVmb3JlXzA=",
    "skip": 0,
    "limit": 100
}

Query Params

label
string

one of: Story, Show, Memo, Timeline, NewsCast

q
string

search by body

broadcast_on
date

prepr timeline for a specific day.

sort
string

changed_on, broadcast_on

 

Scopes: containers.

Suggest Edits

/containers

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/containers
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/containers \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/containers',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/containers")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/containers");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/containers"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "id": "e5658a80-30b0-4ca2-8fbb-e3711de104cf",
    "created_on": "2017-03-15T14:26:21+00:00",
    "changed_on": null,
    "label": "Story",
    "body": "This is my first story container."
}

Body Params

body
string
required

name of the new container

label
string
required

one of: Story, Show, Memo, Timeline, NewsCast

description
string
 

Scopes: containers, containers_publish.

Suggest Edits

/containers/{id}

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/containers/id
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/containers/%7Bid \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/containers/%7Bid',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/containers/%7Bid")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/containers/%7Bid");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/containers/%7Bid"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "id": "e5658a80-30b0-4ca2-8fbb-e3711de104cf",
    "created_on": "2017-03-15T14:26:21+00:00",
    "changed_on": null,
    "label": "Story",
    "body": "This is my first story container."
}

Path Params

id
string
required
 

Scopes: containers.

Suggest Edits

/containers/{id}

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
puthttps://api.eu1.graphlr.io/v5/containers/id
curl --request PUT \
  --url https://api.eu1.graphlr.io/v5/containers/%7Bid \
  --data ''
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.eu1.graphlr.io/v5/containers/%7Bid',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/containers/%7Bid")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.eu1.graphlr.io/v5/containers/%7Bid");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/containers/%7Bid"

payload = ""
response = requests.request("PUT", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "id": "e5658a80-30b0-4ca2-8fbb-e3711de104cf",
    "created_on": "2017-03-15T14:26:21+00:00",
    "changed_on": null,
    "label": "Story",
    "body": "This is my first story container."
}

Path Params

id
string
required

Body Params

body
string
 

Scopes: containers, containers_publish.

Suggest Edits

/containers/{id}

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.eu1.graphlr.io/v5/containers/id
curl --request DELETE \
  --url https://api.eu1.graphlr.io/v5/containers/%7Bid \
  --data ''
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.eu1.graphlr.io/v5/containers/%7Bid',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/containers/%7Bid")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.eu1.graphlr.io/v5/containers/%7Bid");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/containers/%7Bid"

payload = ""
response = requests.request("DELETE", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Path Params

id
string
required
 

Deleting a Container will automatically delete all Publications in the Container.

Scopes: containers, containers_delete.

Suggest Edits

/containers/{id}/currently-views

Internal use only.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/containers/id/currently-views
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/containers/id/currently-views \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/containers/id/currently-views',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/containers/id/currently-views")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/containers/id/currently-views");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/containers/id/currently-views"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

Body Params

session_hash
string
required
 
Suggest Edits

/containers/{id}/currently-views

Internal use only.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.eu1.graphlr.io/v5/containers/id/currently-views
curl --request DELETE \
  --url https://api.eu1.graphlr.io/v5/containers/id/currently-views \
  --data ''
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.eu1.graphlr.io/v5/containers/id/currently-views',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/containers/id/currently-views")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.eu1.graphlr.io/v5/containers/id/currently-views");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/containers/id/currently-views"

payload = ""
response = requests.request("DELETE", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Path Params

id
string
required

Body Params

session_hash
string
required
 
Suggest Edits

/channels

Lists all channels.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/channels
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/channels \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/channels',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/channels")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/channels");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/channels"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "items": [
      {
          "id": "a4452199a-24027-4071-ae22-ef4e2fca254a6",
          "created_on": "2017-06-08T09:27:59+00:00",
          "changed_on": "2017-08-25T08:14:49+00:00",
          "label": "Channel",
          "name": "Radio1.nl",
          "type": "site",
          "share_construct_url": "https://example.com/{slug}",
          "preview_construct_url": "https://preview.example.com/{slug}"
      }
    ],
    "total": 1,
    "after": "YWZ0ZXJfMjU=",
    "before": "YmVmb3JlXzA=",
    "skip": 0,
    "limit": 25
}

Query Params

type
string

Site, FacebookPage, TwitterAccount, InstagramAccount, YouTubeChannel, GoogleDrive, MediaTransfer

q
string

search by name

sort
string

created_on, name, type

 

Scopes: channels.

Suggest Edits

/channels

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/channels
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/channels \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/channels',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/channels")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/channels");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/channels"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

name
string
required
type
string
required
share_construct_url
string
preview_construct_url
string
streams
array of objects
name
url
url_ssl
custom
 

Scopes: channels, channels_publish

Connect social channels

We recommend you to connect social accounts through Mediaconnect. Because of authentication flow and automatically callbacks between the Graph API and Mediaconnect.

Suggest Edits

/channels/{id}

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5
curl --request GET \
  --url https://api.eu1.graphlr.io/v5 \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "id": "a4452199a-24027-4071-ae22-ef4e2fca254a6",
    "created_on": "2017-06-08T09:27:59+00:00",
    "changed_on": "2017-08-25T08:14:49+00:00",
    "label": "Channel",
    "name": "Radio1.nl",
    "type": "site",
    "share_construct_url": "https://example.com/{slug}",
    "preview_construct_url": "https://preview.example.com/{slug}"
}

Path Params

id
string
required
 

Scopes: channels.

Suggest Edits

/channels/{id}/publications/slug

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/channels/id/publications/slug
curl --request GET \
  --url 'https://api.eu1.graphlr.io/v5/channels/id/publications/slug?slug=slug' \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/channels/id/publications/slug',
  qs: { slug: 'slug' },
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/channels/id/publications/slug?slug=slug")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/channels/id/publications/slug?slug=slug");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/channels/id/publications/slug"

querystring = {"slug":"slug"}

payload = ""
response = requests.request("GET", url, data=payload, params=querystring)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

Query Params

slug
string
required
 

Scopes: channels, publications.

Suggest Edits

/channels/{id}

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
puthttps://api.eu1.graphlr.io/v5/channels/id
curl --request PUT \
  --url https://api.eu1.graphlr.io/v5/channels/id \
  --data ''
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.eu1.graphlr.io/v5/channels/id',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/channels/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.eu1.graphlr.io/v5/channels/id");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/channels/id"

payload = ""
response = requests.request("PUT", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

Body Params

name
string
required
type
string
required
share_construct_url
string
preview_construct_url
string
streams
array of objects
name
url
url_ssl
custom
 

Scopes: channels, channels_publish

Suggest Edits

/channels/{id}

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.eu1.graphlr.io/v5/channels/id
curl --request DELETE \
  --url https://api.eu1.graphlr.io/v5/channels/id \
  --data ''
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.eu1.graphlr.io/v5/channels/id',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/channels/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.eu1.graphlr.io/v5/channels/id");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/channels/id"

payload = ""
response = requests.request("DELETE", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required
 

Scopes: channels, channels_delete

Suggest Edits

/messages

Lists all comments.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/messages
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/messages \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/messages',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/messages")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/messages");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/messages"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

q
string

search by body

channel_id
string
sort
string

created_on, changed_on

 

Scopes: messages.

Suggest Edits

/messages

Posts a new message to the comments lists.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/messages
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/messages \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/messages',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/messages")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/messages");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/messages"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "id": "caf5c136-f62a-4e65-b5b4-078d2bt73651",
    "created_on": "2017-03-08T15:46:41+0000",
    "changed_on": null,
    "label": "AppMessage",
    "nickname": null,
    "body": "Hello world!",
    "audio_url": null,
    "video_url": null,
    "audio_source_url": null,
    "video_source_url": null,
    "photo_url": "2017/03/13/app_b054cef86d85b7031335ee1b8f53601f.jpg",
    "sent": {
        "id": 38007134,
        "created_on": 1478526999,
        "changed_on": 1488473951,
        "structure": 50,
        "structure_label": "Person",
        "preposition": "mr",
        "initials": "JJ",
        "firstname": "Jan",
        "prefix_lastname": "",
        "lastname": "Janssen",
        "nickname": null
    }
}

Body Params

body
string
required
label
string
required

one of: EmailMessage, Sms, AppMessage, WebMessage

nickname
string
subject
string

(only when label is EmailMessage)

phone
string

31612345678

email
string

mail@example.com

session_hash
string

logged-in user hash

audios
object
 
audios.0
file

file or url

videos
object
 
videos.0
file

file or url

 

Scopes: messages_publish.

Suggest Edits

/messages/{id}

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/messages/id
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/messages/id \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/messages/id',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/messages/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/messages/id");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/messages/id"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required
 

Scopes: messages.

Suggest Edits

/messages/{id}/replies

Internal use only.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/messages/id/replies
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/messages/id/replies \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/messages/id/replies',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/messages/id/replies")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/messages/id/replies");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/messages/id/replies"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "id": "caf5c136-f62a-4e65-b5b4-078d2bt73651",
    "created_on": "2017-03-08T15:46:41+0000",
    "changed_on": null,
    "label": "AppMessage",
    "nickname": null,
    "body": "Hello world!",
    "audio_url": null,
    "video_url": null,
    "audio_source_url": null,
    "video_source_url": null,
    "photo_url": "2017/03/13/app_b054cef86d85b7031335ee1b8f53601f.jpg",
    "sent": {
        "id": 38007134,
        "created_on": 1478526999,
        "changed_on": 1488473951,
        "structure": 50,
        "structure_label": "Person",
        "preposition": "mr",
        "initials": "JJ",
        "firstname": "Jan",
        "prefix_lastname": "",
        "lastname": "Janssen",
        "nickname": null
    }
}

Path Params

id
string
required

Body Params

body
string
required
label
string
required

one of: EmailMessage, Sms, AppMessage, WebMessage

 

Scopes: messages_publish.

Suggest Edits

/comments

Lists all comments.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/comments
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/comments \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/comments',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/comments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/comments");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/comments"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": "b61dae222-05e0-493f-29729-2e7da3d2e5c03",
  "created_on": "2018-02-16T20:28:50+00:00",
  "changed_on": "2018-02-16T20:28:50+00:00",
  "label": "Comment",
  "body": "Aliquam dapibus ex sed arcu iaculis, id ullamcorper nunc tempus. Pellentesque fringilla dapibus cursus. Ut auctor varius lectus. Praesent in mi neque. Quisque eu lacus in odio varius cursus quis varius est.",
  "moderated": false
}

Query Params

q
string

search by body

channel_id
string
sort
string

created_on, changed_on

 

Scopes: comments.

Suggest Edits

/publications/{id}/comments

Posts a new message to the comments lists.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/publications/id/comments
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/publications/id/comments \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/publications/id/comments',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/publications/id/comments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/publications/id/comments");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/publications/id/comments"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": "b61dae222-05e0-493f-29729-2e7da3d2e5c03",
  "created_on": "2018-02-16T20:28:50+00:00",
  "changed_on": "2018-02-16T20:28:50+00:00",
  "label": "Comment",
  "body": "Aliquam dapibus ex sed arcu iaculis, id ullamcorper nunc tempus. Pellentesque fringilla dapibus cursus. Ut auctor varius lectus. Praesent in mi neque. Quisque eu lacus in odio varius cursus quis varius est.",
  "moderated": false
}

Path Params

id
string
required

Body Params

body
string
required
session_hash
string
required

logged-in Person hash

 

Moderated

If an comment is edited by an Mediaconnect user, moderated is set to true.

Scopes: messages_publish.

Suggest Edits

/comments/{id}

Lists all comments.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/comments/id
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/comments/id \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/comments/id',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/comments/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/comments/id");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/comments/id"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": "b61dae222-05e0-493f-29729-2e7da3d2e5c03",
  "created_on": "2018-02-16T20:28:50+00:00",
  "changed_on": "2018-02-16T20:28:50+00:00",
  "label": "Comment",
  "body": "Aliquam dapibus ex sed arcu iaculis, id ullamcorper nunc tempus. Pellentesque fringilla dapibus cursus. Ut auctor varius lectus. Praesent in mi neque. Quisque eu lacus in odio varius cursus quis varius est.",
  "moderated": false
}

Path Params

id
string
required

Query Params

q
string

search by body

channel_id
string
sort
string

created_on, changed_on

 

Scopes: comments.

Suggest Edits

/comments/{id}

Edit an Publication comment.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
puthttps://api.eu1.graphlr.io/v5/comments/id
curl --request PUT \
  --url https://api.eu1.graphlr.io/v5/comments/id \
  --data ''
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.eu1.graphlr.io/v5/comments/id',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/comments/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.eu1.graphlr.io/v5/comments/id");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/comments/id"

payload = ""
response = requests.request("PUT", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": "b61dae222-05e0-493f-29729-2e7da3d2e5c03",
  "created_on": "2018-02-16T20:28:50+00:00",
  "changed_on": "2018-02-16T20:28:50+00:00",
  "label": "Comment",
  "body": "Aliquam dapibus ex sed arcu iaculis, id ullamcorper nunc tempus. Pellentesque fringilla dapibus cursus. Ut auctor varius lectus. Praesent in mi neque. Quisque eu lacus in odio varius cursus quis varius est.",
  "moderated": false
}

Path Params

id
string
required

Body Params

body
string
required
 

Moderated

If an comment is edited by an Mediaconnect user, moderated is set to true.

Scopes: comments, comments_publish.

Suggest Edits

/comments/{id}

Delete an Publication comment.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.eu1.graphlr.io/v5/comments/id
curl --request DELETE \
  --url https://api.eu1.graphlr.io/v5/comments/id \
  --data ''
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.eu1.graphlr.io/v5/comments/id',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/comments/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.eu1.graphlr.io/v5/comments/id");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/comments/id"

payload = ""
response = requests.request("DELETE", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Path Params

id
string
required
 

Scopes: comments, comments_delete.

Suggest Edits

/comments/{id}/replies

Lists all comments.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/comments/id/replies
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/comments/id/replies \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/comments/id/replies',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/comments/id/replies")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/comments/id/replies");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/comments/id/replies"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": "b61dae222-05e0-493f-29729-2e7da3d2e5c03",
  "created_on": "2018-02-16T20:28:50+00:00",
  "changed_on": "2018-02-16T20:28:50+00:00",
  "label": "Comment",
  "body": "Aliquam dapibus ex sed arcu iaculis, id ullamcorper nunc tempus. Pellentesque fringilla dapibus cursus. Ut auctor varius lectus. Praesent in mi neque. Quisque eu lacus in odio varius cursus quis varius est.",
  "moderated": false
}

Path Params

id
string
required

Query Params

session_hash
string

session_hash is not required, but we recommend to use session_hash to identify the writer of the reply.

Body Params

body
string
required
 

Scopes: comments, comments_publish.

Suggest Edits

/persons

List all persons in your audience.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/persons
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/persons \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/persons',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/persons")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/persons");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/persons"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "items": [
        {
            "id": "4234123",
            "created_on": "2018-02-16T08:28:12+00:00",
            "changed_on": "2018-02-16T15:37:44+00:00",
            "last_seen": "2018-02-16T08:28:12+00:00",
            "label": "Person",
            "preposition": "",
            "initials": "",
            "firstname": "John",
            "prefix_lastname": "",
            "lastname": "Doe",
            "nickname": "Jonny",
            "tracking": false
        }
    ],
    "total": 2645,
    "after": "YWZ0ZXJfMQ==",
    "before": "YmVmb3JlXzA=",
    "skip": 0,
    "limit": 100
}

Query Params

q
string

search a Person by name or email

 

Fields: description, biography, age, date_of_birth, picture, email, phone, tags, social_media_handle.

Scopes: persons.

Suggest Edits

/persons

Add a new Person to your audience using params or social providers.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/persons
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/persons \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/persons',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/persons")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/persons");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/persons"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "id": "3831314",
    "created_on": "2016-11-07T13:56:39+00:00",
    "changed_on": "2017-12-17T22:37:50+00:00",
    "last_seen": "2018-02-16T08:03:22+00:00",
    "label": "Person",
    "preposition": "mr",
    "initials": "",
    "firstname": "Tom",
    "prefix_lastname": "",
    "lastname": "Hanssen",
    "nickname": "",
    "tracking": true
}

Body Params

preposition
string
initials
string
firstname
string

min 2 characters

prefix_lastname
string
lastname
string

min 2 characters

nickname
string

min 2 characters

date_of_birth
date
gender
string

one of: male, female, other

tracking
boolean

disable engagement tracking

custom
array of strings

custom key values that can be returned by every Person endpoint

email
array
phone
array
address
array
sessions
array
picture
mixed type
facebook_access_token
string
google_access_token
string
instagram_access_token
string
spotify_access_token
string
social_media_handle
string
 

Social Providers

Creating a new Person by a social provider is also possible by using consent redirection.

While Mediaconnect offers a full suite of solutions designed to help clients comply with applicable data privacy laws, it is the clients' responsibility to comply with its obligations under such data privacy laws. Please consult with your legal team regarding such data privacy laws prior to implementation of Mediaconnect.

Scopes: persons, person_publish.

Suggest Edits

/persons/{id}

Get an Person from your audience by id.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/persons/id
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/persons/id \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/persons/id',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/persons/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/persons/id");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/persons/id"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "id": "3831314",
    "created_on": "2016-11-07T13:56:39+00:00",
    "changed_on": "2017-12-17T22:37:50+00:00",
    "last_seen": "2018-02-16T08:03:22+00:00",
    "label": "Person",
    "preposition": "mr",
    "initials": "",
    "firstname": "Tom",
    "prefix_lastname": "",
    "lastname": "Hanssen",
    "nickname": "",
    "tracking": true
}

Path Params

id
string
required
 

Scopes: persons.

Suggest Edits

/persons/{id}

Update an existing Person in your audience.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
puthttps://api.eu1.graphlr.io/v5/persons/id
curl --request PUT \
  --url https://api.eu1.graphlr.io/v5/persons/id \
  --data ''
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.eu1.graphlr.io/v5/persons/id',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/persons/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.eu1.graphlr.io/v5/persons/id");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/persons/id"

payload = ""
response = requests.request("PUT", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "id": "3831314",
    "created_on": "2016-11-07T13:56:39+00:00",
    "changed_on": "2017-12-17T22:37:50+00:00",
    "last_seen": "2018-02-16T08:03:22+00:00",
    "label": "Person",
    "preposition": "mr",
    "initials": "",
    "firstname": "Tom",
    "prefix_lastname": "",
    "lastname": "Hanssen",
    "nickname": "",
    "tracking": true
}

Path Params

id
string
required

Body Params

see-person-post
string

for the available fields, please see the post endpoint /persons

 

Scopes: persons, person_publish.

Suggest Edits

/persons/{id}

Delete a Person from your audience.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.eu1.graphlr.io/v5/persons/id
curl --request DELETE \
  --url https://api.eu1.graphlr.io/v5/persons/id \
  --data ''
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.eu1.graphlr.io/v5/persons/id',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/persons/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.eu1.graphlr.io/v5/persons/id");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/persons/id"

payload = ""
response = requests.request("DELETE", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Path Params

id
string
required
 

Deleting a Person from your audience will block all further interactions with the Person. Engagement details will be kept.

GDPR

If you want to delete a Person following the GDPR regulations, please use the GDPR delete button in Mediaconnect.

Scopes: persons, person_delete.

Suggest Edits

/persons/{id}/remark

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/persons/id/remark
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/persons/id/remark \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/persons/id/remark',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/persons/id/remark")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/persons/id/remark");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/persons/id/remark"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "id": "3831314",
    "created_on": "2016-11-07T13:56:39+00:00",
    "changed_on": "2017-12-17T22:37:50+00:00",
    "last_seen": "2018-02-16T08:03:22+00:00",
    "label": "Remark",
    "body": "Body",
}

Body Params

body
string
 

Suggest Edits

/persons/session

Returns person info based on a logged-in session.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/persons/session
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/persons/session \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/persons/session',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/persons/session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/persons/session");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/persons/session"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "id": "3831314",
    "created_on": "2016-11-07T13:56:39+00:00",
    "changed_on": "2017-12-17T22:37:50+00:00",
    "last_seen": "2018-02-16T08:03:22+00:00",
    "label": "Person",
    "preposition": "mr",
    "initials": "",
    "firstname": "Tom",
    "prefix_lastname": "",
    "lastname": "Hanssen",
    "nickname": "",
    "tracking": true
}

Body Params

session_hash
string
required
 

In the next API version the Person param id will be converted to string.

Scopes: persons.

Suggest Edits

/persons/authenticate

Log-in a person by a e-mail/username/password.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/persons/authenticate
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/persons/authenticate \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/persons/authenticate',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/persons/authenticate")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/persons/authenticate");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/persons/authenticate"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

email
string
required
password
string
required

Hashed in sha-512

session
array
required

Session

 

Scopes: persons.

Suggest Edits

/persons/authenticate (Facebook)

Log-in a person by a Facebook token.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/persons/authenticate
{"facebook_auth_token":"asdfhaiusle283u19iOH3UAR...","session_name":"backend_0012"}
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

facebook_auth_token
string
required
session_name
string
required
 

Scopes: persons.

Suggest Edits

/persons/authenticate (Google)

Log-in a person by a Google token.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/persons/authenticate
{"google_auth_token":"asdfhaiusle283u19iOH3UAR...","session_name":"backend_0012"}
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

google_auth_token
string
required
session_name
string
required
 

Scopes: persons.

Suggest Edits

/persons/logout

Logout a Person based on the logged-in session.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.eu1.graphlr.io/v5/persons/logout
curl --request DELETE \
  --url https://api.eu1.graphlr.io/v5/persons/logout \
  --data ''
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.eu1.graphlr.io/v5/persons/logout',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/persons/logout")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.eu1.graphlr.io/v5/persons/logout");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/persons/logout"

payload = ""
response = requests.request("DELETE", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Body Params

session_hash
string
required
 

Scopes: persons.

Suggest Edits

/persons/password/reset

Reset a password with an email adress.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/persons/password/reset
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/persons/password/reset \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/persons/password/reset',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/persons/password/reset")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/persons/password/reset");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/persons/password/reset"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

email
string
required
session_hash
string
required

required to update the password

password
string
emailtemplate_id
string
 

Scopes: persons.

Suggest Edits

/persons/{id}/bookmarked

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/persons/id/bookmarked
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/persons/id/bookmarked \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/persons/id/bookmarked',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/persons/id/bookmarked")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/persons/id/bookmarked");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/persons/id/bookmarked"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required
 

Scopes: persons

Suggest Edits

/persons/{id}/followed

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/persons/id/followed
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/persons/id/followed \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/persons/id/followed',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/persons/id/followed")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/persons/id/followed");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/persons/id/followed"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required
 

Scopes: persons

Suggest Edits

/persons/{id}/liked

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/persons/id/liked
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/persons/id/liked \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/persons/id/liked',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/persons/id/liked")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/persons/id/liked");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/persons/id/liked"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required
 

Scopes: persons

Suggest Edits

/persons/batch

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
puthttps://api.eu1.graphlr.io/v5/persons/batch
curl -X PUT \
  'https://api.eu1.graphlr.io/v5/persons/batch' \
  -H 'Authorization: Bearer XXX' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'person_ids[0bc71233-6f17-4091-1e70-fd12d8rgd0b8e5]=&tags[0][name]=MyNewTag'

// This request will update the person that has id "0bc71233-6f17-4091-1e70-fd12d8rgd0b8e5" and will remove all tags and add the tag "MyNewTag".
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "items": {
        "0bc71233-6f17-4091-1e70-fd12d8rgd0b8e5": { // Person id that has been upated
            "action": "update", // Type of action Update|Delete|unknown. (Unknown is ignored.)
            "code": 200, // Status code for specific this action
            "successful": true // If the action is successful
        }
    },
    "total": 1
}

Body Params

person_ids
string

Comma-separated list or an array where the array key should be a person id

 

How the parameter person_ids works

If you use the parameter person_ids, only the given persons will be updated.

What's accepted:

  • String Comma-separated list, Ex 123,456,789
  • Array Where the array key should be a person id, Ex person_ids[123]=null + person_ids[456]=null

If the parameter person_ids isn't present

In case that person_ids isn't present, the global (persons) filters are applied.
Example: you use the filter ?q=test all persons that matches on this will be updated. (All possible filters can be found in the GET /persons documentation)

Note:
If you don't use global person filters, you actually update all your audience. (Not recommended)

Scopes: persons_publish

Suggest Edits

/persons/batch

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.eu1.graphlr.io/v5/persons/batch
curl -X DELETE \
  'https://api.eu1.graphlr.io/v5/persons/batch' \
  -H 'Authorization: Bearer XXX' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'person_ids[0bc71233-6f17-4091-1e70-fd12d8rgd0b8e5]='

// This request will delete the person that has id "0bc71233-6f17-4091-1e70-fd12d8rgd0b8e5".
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "items": {
        "0bc71233-6f17-4091-1e70-fd12d8rgd0b8e5": { // Person id that has been upated
            "action": "delete", // Type of action update|delete|unknown. (Unknown is ignored.)
            "code": 200, // Status code for specific this action
            "successful": true // If the action is successful
        }
    },
    "total": 1
}

Body Params

person_ids
string

Comma-separated list or an array where the array key should be a person id

 

How the parameter person_ids works

If you use the parameter person_ids, only the given persons will be deleted.

What's accepted:

  • String Comma-separated list, Ex 123,456,789
  • Array Where the array key should be a person id, Ex person_ids[123]=null + person_ids[456]=null

If the parameter person_ids isn't present

In case that person_ids isn't present, the global (persons) filters are applied.
Example: you use the filter ?q=test all persons that matches on this will be deleted. (All possible filters can be found in the GET /persons documentation)

Note:
If you don't use global person filters, you actually delete all your audience. (Not recommended)

Scopes: persons_publish

Suggest Edits

/persons/{id}/terms

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/persons/id/terms
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/persons/id/terms \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/persons/id/terms',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/persons/id/terms")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/persons/id/terms");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/persons/id/terms"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  'success': true
}

Path Params

id
string
required

Body Params

id
string

Term id

source
string

Source explains where the person has approved the term. (Like a opt-in page or through telephone communication etc.)

 

Scope: persons

Suggest Edits

/redirect/google/{google_app_id}

 

Redirect the user upon login to the following url.

GET: https://consent.graplr.io/v5/redirect/google/{google_app_id}

Add the callback to the Google API console

Make sure this url is added to the Google API console.

https://consent.graphlr.io/v5/redirect/google/{google_app_id}/callback

If the consent is succesful the user is redirect back to the redirect url provided in the Social Provider settings. A session_hash parameter is included in that request to log-in the user right away, a statuscode is returend, 200 existing user, 201 new user.

Scopes: no authentication required.

While Prepr offers a full suite of solutions designed to help clients comply with applicable data privacy laws, it is the clients' responsibility to comply with its obligations under such data privacy laws. Please consult with your legal team regarding such data privacy laws prior to implementation of Prepr.

Suggest Edits

/redirect/facebook/{app_id}

 

Redirect the user upon login to the following url.

GET: https://consent.graplr.io/v5/redirect/facebook/{facebook_app_id}

Add the callback and domain to the Facebook App console

Make sure this url is added to the Facebook App console ans redirect url:

https://consent.graphlr.io/v5/redirect/facebook/{facebook_app_id}/callback

And add this domain to the whitelisted domains in the Facebook App console.

consent.graphlr.io

If the consent is succesful the user is redirect back to the redirect url provided in the Social Provider settings. A session_hash parameter is included in that request to log-in the user right away, a statuscode is returend, 200 existing user, 201 new user.

Scopes: no authentication required.

While Prepr offers a full suite of solutions designed to help clients comply with applicable data privacy laws, it is the clients' responsibility to comply with its obligations under such data privacy laws. Please consult with your legal team regarding such data privacy laws prior to implementation of Prepr.

Suggest Edits

/redirect/instagram/{app_id}

 

Redirect the user upon login to the following url.

GET: https://consent.graplr.io/v5/redirect/instagram/{instagram_app_id}

Add the callback to the Instagram App console

Make sure this url is added to the Instagram App console ans redirect url:

https://consent.graphlr.io/v5/redirect/instagram/{instagram_app_id}/callback

If the consent is succesful the user is redirect back to the redirect url provided in the Social Provider settings. A session_hash parameter is included in that request to log-in the user right away, a statuscode is returend, 200 existing user, 201 new user.

Scopes: no authentication required.

While Prepr offers a full suite of solutions designed to help clients comply with applicable data privacy laws, it is the clients' responsibility to comply with its obligations under such data privacy laws. Please consult with your legal team regarding such data privacy laws prior to implementation of Prepr.

Suggest Edits

/segments

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/segments
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/segments \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/segments',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/segments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/segments");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/segments"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "items": [
        {
            "id": "a8b44638-1d4e-4aeb-8354-67d1cde91872",
            "created_on": "2018-10-01T00:00:00+00:00",
            "changed_on": "2018-10-01T00:00:00+00:00",
            "label": "Segment",
            "name": "A lot of people"
        }
    ],
    "total": 1,
    "after": "YWZ0ZXJfMjU=",
    "before": "YmVmb3JlXzA=",
    "skip": 0,
    "limit": 25
}

Query Params

fields
string

paylogic_event, apps

sort
string

name, -name, changed_on, -changed_on, created_on, -created_on

 

Scope: segments

Suggest Edits

/segments

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.eu1.graphlr.io/v5/segments
curl --request POST \
  --url https://api.eu1.graphlr.io/v5/segments \
  --data ''
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.eu1.graphlr.io/v5/segments',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/segments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.eu1.graphlr.io/v5/segments");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/segments"

payload = ""
response = requests.request("POST", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "items": [
        {
            "id": "a8b44638-1d4e-4aeb-8354-67d1cde91872",
            "created_on": "2018-10-01T00:00:00+00:00",
            "changed_on": "2018-10-01T00:00:00+00:00",
            "label": "Segment",
            "name": "A lot of people"
        }
    ],
    "total": 1,
    "after": "YWZ0ZXJfMjU=",
    "before": "YmVmb3JlXzA=",
    "skip": 0,
    "limit": 25
}

Query Params

fields
string

paylogic_event, apps

Body Params

name
string
required
filters
object
 
filters.created_on
object
 
filters.created_on.before
int32
filters.created_on.since
int32
filters.created_on.last
int32
filters.last_seen
object
 
filters.last_seen.before
int32
filters.last_seen.since
int32
filters.last_seen.last
int32
filters.gender
object
 
filters.gender.in
string

male, female, other

filters.gender.not
string

male, female, other

filters.gender.equal_to
string

male, female, other

filters.age
object
 
filters.age.minimal
int32
filters.age.maximum
int32
filters.age.equal_to
int32
filters.tags
object
 
filters.tags.has
array of strings
filters.tags.not
array of strings
filters.equal_to
object

male, female, other

 
filters.equal_to.terms
string
filters.not_equal_to
object
 
filters.not_equal_to.terms
string
mailchimp
string
facebook_ads
string
unsubscribe_term
string
 

Scope: segments_publish

Suggest Edits

/segments/{id}

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.eu1.graphlr.io/v5/segments/id
curl --request GET \
  --url https://api.eu1.graphlr.io/v5/segments/id \
  --data ''
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.eu1.graphlr.io/v5/segments/id',
  form: false };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.eu1.graphlr.io/v5/segments/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.eu1.graphlr.io/v5/segments/id");

xhr.send(data);
import requests

url = "https://api.eu1.graphlr.io/v5/segments/id"

payload = ""
response = requests.request("GET", url, data=payload)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "items": [
        {
            "id": "a8b44638-1d4e-4aeb-8354-67d1cde91872",
            "created_on": "2018-10-01T00:00:00+00:00",
            "changed_on": "2018-10-01T00:00:00+00:00",
            "label": "Segment",
            "name": "A lot of people"
        }
    ],
    "total": 1,
    "after": "YWZ0ZXJfMjU=",
    "before": "YmVmb3JlXzA=",
    "skip": 0,
    "limit": 25
}

Path Params

id
string
required

Query Params

fields
string

paylogic_event, apps

 

Scope: segments

Suggest Edits

/segments/{id}

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
puthttps://api.eu1.graphlr.io/v5/segments/id
curl --request PUT \