Skip to content

Overview

Base URL, core entities, HTTP conventions, and error handling for the Amplify API.

This API describes the interfaces for interacting with the Outbrain Amplify product. More information about Amplify can be found on our website: http://www.outbrain.com/amplify.

To request access to the Amplify API, please complete this form.

If you have any questions, issues, feature requests as well as if you're interested in announcements of new features, please join our Google group:

https://groups.google.com/forum/#!forum/outbrain-amplifyapi

API URL

The base url for all API end-points is https://api.outbrain.com/amplify/v0.1/

Troubleshooting

If you're experiencing any issues or any other difficulties, please post a new topic in our Google group: https://groups.google.com/forum/#!forum/outbrain-amplifyapi

Please attach to your post the AMPLIFY-REQUEST-ID header from the returned response. This header allows us to identify your unique request and helps us to reply quicker and more efficiently.

Core entities

The API is RESTful and is structured into the following core entities:

  • Marketer: A customer account.
  • Budget: A budget that contains money to be spent on one or more campaigns.
  • Campaign: A collection of promoted links.
  • PromotedLink: A single piece of promoted content.
  • PerformanceBy*: A variety of analytics entities to retrieve metrics.

The following operations may be performed via this API:

EntityFunction
MarketerRead
BudgetRead, Create, Update
CampaignRead, Create, Update
PromotedLinkRead, Create, Update
Performance*Read

Performance* refers to the many entities that represent reporting data. For example, here are a few of our 9 different reporting endpoints:

  • Performance for a Marketer per day
  • Performance for a Campaign per day
  • Performance for a PromotedLink per day

HTTP Requests

We follow RESTful conventions of using HTTP methods to determine the type of action requested:

HTTP MethodAction
GETRetrieve a resource or a list of resources
POSTCreate a resource.
PUTUpdate a resource.

When issuing a POST/PUT request that includes a json of the created/updated entitiy the following header must be included in the request:

Content-Type: application/json

HTTP Status Code Replies

HTTP Status CodeMeaningDescription
200OKThe request was successful.
400Bad RequestThe request could not be understood or was missing required parameters
401UnauthorizedAuthentication failed or user doesn't have permissions for requested operation
403ForbiddenAccess denied
404Not FoundResource was not found
429Too Many RequestsRequest exceeded rate limits

Error Handling

When the API returns a status code indicating an error (400, 401, 403, 404, 429) it will also include the JSON describing the error. For example:

{
   "moreInfo" : "get-budget",
   "errorMessage" : "access denied"
}