Adhese API (1.0.0)

Download OpenAPI specification:

Development team Adhese: dev@adhese.eu

Advertiser companies

Advertiser company

Get advertiser company by ID

path Parameters
advertiserCompanyId
required
integer
Example: 10

The ID of the advertiser company you want to fetch

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "active": true,
  • "externalId": "string",
  • "subsystemExternalIds": {
    }
}

Advertiser companies

Get a list of active advertiser companies based on the type for campaign creation/modification

query Parameters
type
required
string (AdvertiserCompanyType)
Enum: "ADVERTISER" "INVOICE" "INTERMEDIARY" "MEDIA"

The type of the advertiser companies you want to fetch. Currently only [ADVERTISER,INVOICE] are allowed.

advertiserCompanyId
integer
Example: advertiserCompanyId=102

The id of the advertiser you want to filter this list on

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Advertiser companies

Get a list of advertiser companies based on the type for campaign filtering. Only values used in campaigns visible to the users are returned

query Parameters
type
required
string (AdvertiserCompanyType)
Enum: "ADVERTISER" "INVOICE" "INTERMEDIARY" "MEDIA"

The type of the advertiser companies you want to fetch. Currently only [ADVERTISER,INVOICE] are allowed.

includeInactive
boolean

Specify if inactive entities should be included in the result. If parameter not specified, then only active entities will be returned

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Bookings

Get Booking shares

Get the list if next inventory shares of the bookings of a campaign as in the admin UI

Authorizations:
bearerAuth
path Parameters
campaignId
required
integer <int32>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Bookings

Get a list of bookings. Requires filtering on at least one of the ID properties (campaign, booking or creative) or on the search parameter.

query Parameters
campaignId
integer >= 1
Example: campaignId=1

The ID of the campaign(s) you want to fetch bookings for (multiple allowed).

bookingIds
Array of integers
Example: bookingIds=13679,13681

Comma-separated list of booking IDs to filter the results.

creativeId
integer
Example: creativeId=303

Filter bookings linked to a specific creative (multiple allowed).

limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

search
string
Example: search=pepsi%20max

An url-encoded search string to apply to the list of bookings (ignoring case, on id and name)

status
Array of strings (BookingStatus)
Items Enum: "ACTIVE" "PAUSED" "STOPPED"
Example: status=ACTIVE,PAUSED

Filter applied to one or more booking statuses

sortField
string (BookingSortFields)
Enum: "INTERNAL_ID" "NAME" "STATUS" "START_DATE" "END_DATE" "BOOKING_TYPE"
Example: sortField=INTERNAL_ID

Field that results should be sorted on

sortDirection
string (SortDirection)
Enum: "ASC" "DESC"
Example: sortDirection=ASC

Sort direction to be applied

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Booking

Create a booking

Request Body schema: application/json
campaignId
integer
name
string
startDate
string <date-time>
endDate
string <date-time>
activeDays
Array of strings or null (DayOfWeek)
Enum: "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY" "SUNDAY"
object or null (DeliveryFactors)
object (MediaProductDto)
Array of objects (TargetWithValueIds)
Array of objects (PeriodicalCapping)
Array of objects (DeliveryConstraint)
pacing
string or null
Enum: "EVEN" "FRONTLOADED" "AS_FAST_AS_POSSIBLE" "SHARE_OF_VOICE" "ROTATION"
deliveryParameter
number or null

Float value. Required when pacing is set to "SHARE_OF_VOICE", otherwise to be left empty.

comment
string
priorityId
integer
bookingType
string or null
Enum: "DISPLAY" "IN_STORE" "SPONSORED_PRODUCT"
rtbEnabled
boolean
Default: false
deliveryMultiples
string or null
Enum: "ALL_TOGETHER" "ONE_AT_A_TIME" "EXCLUSIVE_ON_CAMPAIGN" "FREE" "EXCLUSIVE_ON_CREATIVE"
excludePositionIds
Array of integers or null

List of position IDs to exclude from this booking

excludePublicationIds
Array of integers or null

List of publication IDs to exclude from this booking

Responses

Request samples

Content type
application/json
{
  • "campaignId": 5,
  • "name": "My First Booking",
  • "startDate": "2024-01-01T17:56:59Z",
  • "endDate": "2024-01-10T10:00:00Z",
  • "activeDays": [
    ],
  • "deliveryFactors": {
    },
  • "mediaProduct": {
    },
  • "targeting": [
    ],
  • "frequencyLimits": [
    ],
  • "userFrequencies": [
    ],
  • "pacing": "string",
  • "deliveryParameter": 0,
  • "comment": "Example comment",
  • "priorityId": 0,
  • "bookingType": "string",
  • "rtbEnabled": false,
  • "deliveryMultiples": "string",
  • "excludePositionIds": [
    ],
  • "excludePublicationIds": [
    ]
}

Response samples

Content type
application/json
{
  • "internalId": 0,
  • "name": "string",
  • "status": "ACTIVE",
  • "lifetimeStatus": "INCOMPLETE",
  • "positionId": 0,
  • "positionName": "string",
  • "formatId": 0,
  • "formatName": "string",
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "creationDate": "2019-08-24T14:15:22Z",
  • "activeDays": [
    ],
  • "lastEditedDate": "2019-08-24T14:15:22Z",
  • "deliveryFactors": {
    },
  • "creativeCount": 0,
  • "frequencyLimits": [
    ],
  • "userFrequencies": [
    ],
  • "pacing": "string",
  • "bookingType": "string",
  • "deliveryParameter": 0.42,
  • "comment": "Example comment",
  • "rtbEnabled": true,
  • "deliveryMultiples": "string",
  • "isBookedOnChannel": true,
  • "excludePositionIds": [
    ],
  • "excludePublicationIds": [
    ],
  • "targetExpressions": {
    }
}

Get booking by Id

path Parameters
bookingId
required
integer
Example: 10

The ID of the booking you want to get

Responses

Response samples

Content type
application/json
{
  • "internalId": 0,
  • "name": "string",
  • "status": "ACTIVE",
  • "lifetimeStatus": "INCOMPLETE",
  • "positionId": 0,
  • "positionName": "string",
  • "formatId": 0,
  • "formatName": "string",
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "creationDate": "2019-08-24T14:15:22Z",
  • "activeDays": [
    ],
  • "lastEditedDate": "2019-08-24T14:15:22Z",
  • "deliveryFactors": {
    },
  • "creativeCount": 0,
  • "frequencyLimits": [
    ],
  • "userFrequencies": [
    ],
  • "pacing": "string",
  • "bookingType": "string",
  • "deliveryParameter": 0.42,
  • "comment": "Example comment",
  • "rtbEnabled": true,
  • "deliveryMultiples": "string",
  • "isBookedOnChannel": true,
  • "excludePositionIds": [
    ],
  • "excludePublicationIds": [
    ],
  • "targetExpressions": {
    }
}

Update booking with Id

path Parameters
bookingId
required
integer
Example: 10

The ID of the booking you want to update

Request Body schema: application/json
required

The booking to update

campaignId
integer
name
string
startDate
string <date-time>
endDate
string <date-time>
activeDays
Array of strings or null (DayOfWeek)
Enum: "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY" "SUNDAY"
object or null (DeliveryFactors)
object (MediaProductDto)
Array of objects (TargetWithValueIds)
Array of objects (PeriodicalCapping)
Array of objects (DeliveryConstraint)
pacing
string or null
Enum: "EVEN" "FRONTLOADED" "AS_FAST_AS_POSSIBLE" "SHARE_OF_VOICE" "ROTATION"
deliveryParameter
number or null

Float value. Required when pacing is set to "SHARE_OF_VOICE", otherwise to be left empty.

comment
string
priorityId
integer
rtbEnabled
boolean
Default: false
deliveryMultiples
string or null
Enum: "ALL_TOGETHER" "ONE_AT_A_TIME" "EXCLUSIVE_ON_CAMPAIGN" "FREE" "EXCLUSIVE_ON_CREATIVE"
excludePositionIds
Array of integers or null

List of position IDs to exclude from this booking

excludePublicationIds
Array of integers or null

List of publication IDs to exclude from this booking

Responses

Request samples

Content type
application/json
{
  • "campaignId": 5,
  • "name": "My First Booking",
  • "startDate": "2024-01-01T17:56:59Z",
  • "endDate": "2024-01-10T10:00:00Z",
  • "activeDays": [
    ],
  • "deliveryFactors": {
    },
  • "mediaProduct": {
    },
  • "targeting": [
    ],
  • "frequencyLimits": [
    ],
  • "userFrequencies": [
    ],
  • "pacing": "string",
  • "deliveryParameter": 0,
  • "comment": "Example comment",
  • "priorityId": 0,
  • "rtbEnabled": false,
  • "deliveryMultiples": "string",
  • "excludePositionIds": [
    ],
  • "excludePublicationIds": [
    ]
}

Response samples

Content type
application/json
{
  • "internalId": 0,
  • "name": "string",
  • "status": "ACTIVE",
  • "lifetimeStatus": "INCOMPLETE",
  • "positionId": 0,
  • "positionName": "string",
  • "formatId": 0,
  • "formatName": "string",
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "creationDate": "2019-08-24T14:15:22Z",
  • "activeDays": [
    ],
  • "lastEditedDate": "2019-08-24T14:15:22Z",
  • "deliveryFactors": {
    },
  • "creativeCount": 0,
  • "frequencyLimits": [
    ],
  • "userFrequencies": [
    ],
  • "pacing": "string",
  • "bookingType": "string",
  • "deliveryParameter": 0.42,
  • "comment": "Example comment",
  • "rtbEnabled": true,
  • "deliveryMultiples": "string",
  • "isBookedOnChannel": true,
  • "excludePositionIds": [
    ],
  • "excludePublicationIds": [
    ],
  • "targetExpressions": {
    }
}

Delete booking by Id

path Parameters
bookingId
required
integer
Example: 10

The ID of the booking you want to (soft)delete/stop. Must be non-running auction booking or draft booking

Responses

Response samples

Content type
application/problem+json
{}

Booking duplication

Duplicate a booking by id, minus state and external key and prepending "Copy:" to the name

path Parameters
bookingId
required
integer
Example: 10

The id of the booking you want to duplicate

Responses

Response samples

Content type
application/json
{
  • "internalId": 0,
  • "name": "string",
  • "status": "ACTIVE",
  • "lifetimeStatus": "INCOMPLETE",
  • "positionId": 0,
  • "positionName": "string",
  • "formatId": 0,
  • "formatName": "string",
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "creationDate": "2019-08-24T14:15:22Z",
  • "activeDays": [
    ],
  • "lastEditedDate": "2019-08-24T14:15:22Z",
  • "deliveryFactors": {
    },
  • "creativeCount": 0,
  • "frequencyLimits": [
    ],
  • "userFrequencies": [
    ],
  • "pacing": "string",
  • "bookingType": "string",
  • "deliveryParameter": 0.42,
  • "comment": "Example comment",
  • "rtbEnabled": true,
  • "deliveryMultiples": "string",
  • "isBookedOnChannel": true,
  • "excludePositionIds": [
    ],
  • "excludePublicationIds": [
    ],
  • "targetExpressions": {
    }
}

Booking status

Update a booking status

path Parameters
bookingId
required
integer
Example: 10

The ID of the booking you want to update

Request Body schema: application/json
string
Enum: "ACTIVE" "PAUSED" "STOPPED"

Responses

Request samples

Content type
application/json
"ACTIVE"

Response samples

Content type
application/problem+json
{}

Creatives for a booking

Creatives for a booking

path Parameters
bookingId
required
integer
Example: 10

The ID of the booking you want to fetch creatives for

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Bookings for a creative

Gets the bookings for a creative

path Parameters
creativeId
required
integer
Example: 10

The ID of the creative you want to fetch bookings for

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Brands

Brands

Get a list of brands filtered on advertiser id and invoice company id for campaign creation/modification

query Parameters
advertiserCompanyId
required
integer
Example: advertiserCompanyId=102

The id of the advertiser you want to filter this list on

invoiceCompanyId
required
integer
Example: invoiceCompanyId=102

The id of the invoice company you want to filter this list on

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Brands

Get a list of brands for campaign filtering. Only values used in campaigns visible to the users are returned

query Parameters
includeInactive
boolean

Specify if inactive entities should be included in the result. If parameter not specified, then only active entities will be returned

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Campaigns

Get all Campaigns

Get a list of campaigns

Authorizations:
bearerAuth
query Parameters
limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

search
string
Example: search=pepsi%20max

An url-encoded search string to apply to the list of campaigns (ignoring case, on id, external id and name)

from
string <date-time>
Example: from=2020-01-01T00:00:00Z

Filter to only select campaigns with a start date on or after this date (ISO 8601 format in UTC)

to
string <date-time>
Example: to=2020-01-01T00:00:00Z

Filter to only select campaigns with an end date up to and including this date (ISO 8601 format in UTC)

status
string (ReservationType)
Enum: "CAMPAIGN" "OPTION" "OFFER" "DRAFT"
Example: status=OPTION,OFFER

Filter applied to campaign status, allows multiple selection

type
string (CampaignType)
Enum: "FULL" "PUSH" "GUARANTEED" "AUCTIONED"
Example: type=GUARANTEED,AUCTIONED

Filter applied to campaign type, allows multiple selection

advertiser
integer
Example: advertiser=5

The id of the advertiser you want to filter the campaign list on

invoiceCompany
integer
Example: invoiceCompany=8

The id of the invoiceCompany you want to filter the campaign list on

brand
Array of integers
Example: brand=10,15

The IDs of the brands you want to filter the campaign list on

externalKeys
Array of strings
Example: externalKeys=FOOZ41,BARF66

The list of external keys to match the campaign list on

sortField
string (sortfield)
Enum: "INTERNAL_ID" "NAME" "RESERVATION" "TYPE" "START_DATE" "END_DATE" "CREATION_DATE" "LAST_EDITED_DATE" "VALID_TILL_DATE" "BUDGET" "VOLUME" "BOOKING_BUDGET_SUM" "ADVERTISER" "ADVERTISER_NAME" "INVOICE_COMPANY" "INVOICE_COMPANY_NAME" "PRIORITY" "ORIGIN" "TO_REACH_UNIT" "EXTERNAL_KEY" "CREATED_BY" "LAST_EDITED_BY" "CREATIVE_COUNT"
Example: sortField=START_DATE

Field on what to sort the data one (default is INTERNAL_ID). RESERVATION is what is often called status (CAMPAIGN, DRAFT, OFFER, OPTION)

onlyReviewed
boolean
Deprecated
Example: onlyReviewed=true

Only return reviewed campaigns. Use the filters flag instead.

campaignOrigin
string (CampaignOrigin)
Enum: "CLASSIC" "SHOP" "SYNC" "OTHER" "MCB"
Example: campaignOrigin=MCB,CLASSIC

The origins you want to filter the campaign list on

filters
string (CampaignFilter)
Enum: "ONLY_ONLINE" "ONLY_REVIEWED"
Example: filters=ONLY_ONLINE

Set parameters with flags. Can be multiple at once. Flag ONLY_ONLINE to indicate the list should be filtered on "running" campaigns, currently meaning being in campaign state and having a non-stopped booking start < now < end. Putting 'false' has no effect. Flag ONLY_REVIEWED is equivalent of onlyReviewed parameter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Campaign

Create a campaign. Requires specifying at least either priority ID or campaign type.

Authorizations:
bearerAuth
Request Body schema: application/json
name
required
string
poNumber
string
advertiserId
required
integer
invoiceCompanyId
required
integer
brandIds
required
Array of integers
Array of objects (PeriodicalCapping)
priorityId
integer
externalKey
string

Only if campaign-manage permission is set for a user. Reference in an external system. Can be made required by setting campaignExternalKeyIsRequired config to true

reservationType
string
Default: "CAMPAIGN"
Enum: "CAMPAIGN" "OPTION" "OFFER" "DRAFT"

Ignored for guaranteed campaigns, in which case it will always be set to "DRAFT".

campaignType
string (CampaignType)
Enum: "FULL" "PUSH" "GUARANTEED" "AUCTIONED"
object (CampaignDeliveryFactors)
internalNote
string
publisherId
integer

if not provided, the user's publisher will be used

Responses

Request samples

Content type
application/json
{
  • "name": "My first campaign",
  • "poNumber": "BC006",
  • "advertiserId": 3,
  • "invoiceCompanyId": 4,
  • "brandIds": [
    ],
  • "frequencyLimits": [
    ],
  • "priorityId": 1,
  • "externalKey": "MC-ADH-123",
  • "reservationType": "CAMPAIGN",
  • "campaignType": "FULL",
  • "deliveryFactors": {
    },
  • "internalNote": "Internal note",
  • "publisherId": 3
}

Response samples

Content type
application/json
{
  • "internalId": 0,
  • "name": "string",
  • "lifetimeStatus": "INCOMPLETE",
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "budget": "12.34",
  • "bookingBudgetSum": "string",
  • "volume": 0,
  • "toReachUnit": "IMPRESSIONS",
  • "advertiser": 0,
  • "advertiserName": "string",
  • "invoiceCompany": 0,
  • "invoiceCompanyName": "string",
  • "brands": [
    ],
  • "mediaBrands": [
    ],
  • "status": "CAMPAIGN",
  • "priority": 0,
  • "origin": "CLASSIC",
  • "type": "AUCTIONED",
  • "frequencyLimits": [
    ],
  • "createdBy": 0,
  • "creationDate": "2019-08-24T14:15:22Z",
  • "lastEditedBy": 0,
  • "lastEditedDate": "2019-08-24T14:15:22Z",
  • "externalKey": "string",
  • "validTill": "2019-08-24T14:15:22Z",
  • "deliveryScheme": {
    },
  • "poNumber": "BC009",
  • "message": "string",
  • "creativeCount": 5,
  • "internalNote": "Internal note",
  • "publisherId": 3
}

Get Campaign

Get a campaign by ID

Authorizations:
bearerAuth
path Parameters
campaignId
required
integer
Example: 10

The ID of the campaign you want to fetch

Responses

Response samples

Content type
application/json
{
  • "internalId": 0,
  • "name": "string",
  • "lifetimeStatus": "INCOMPLETE",
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "budget": "12.34",
  • "bookingBudgetSum": "string",
  • "volume": 0,
  • "toReachUnit": "IMPRESSIONS",
  • "advertiser": 0,
  • "advertiserName": "string",
  • "invoiceCompany": 0,
  • "invoiceCompanyName": "string",
  • "brands": [
    ],
  • "mediaBrands": [
    ],
  • "status": "CAMPAIGN",
  • "priority": 0,
  • "origin": "CLASSIC",
  • "type": "AUCTIONED",
  • "frequencyLimits": [
    ],
  • "createdBy": 0,
  • "creationDate": "2019-08-24T14:15:22Z",
  • "lastEditedBy": 0,
  • "lastEditedDate": "2019-08-24T14:15:22Z",
  • "externalKey": "string",
  • "validTill": "2019-08-24T14:15:22Z",
  • "deliveryScheme": {
    },
  • "poNumber": "BC009",
  • "message": "string",
  • "creativeCount": 5,
  • "internalNote": "Internal note",
  • "publisherId": 3
}

Update Campaign

Update Campaign by ID

Authorizations:
bearerAuth
path Parameters
campaignId
required
integer
Example: 10

The ID of the campaign you want to update

Request Body schema: application/json
required

The campaign to update

name
required
string
poNumber
string
advertiserId
required
integer
invoiceCompanyId
required
integer
brandIds
required
Array of integers
Array of objects (PeriodicalCapping)
priorityId
integer
externalKey
string

Only if campaign-manage permission is set for a user. Reference in an external system. Can be made required by setting campaignExternalKeyIsRequired config to true

object (CampaignDeliveryFactors)
internalNote
string
publisherId
integer

if not provided, the user's publisher will be used

Responses

Request samples

Content type
application/json
{
  • "name": "My first campaign",
  • "poNumber": "BC006",
  • "advertiserId": 3,
  • "invoiceCompanyId": 4,
  • "brandIds": [
    ],
  • "frequencyLimits": [
    ],
  • "priorityId": 1,
  • "externalKey": "MC-ADH-123",
  • "deliveryFactors": {
    },
  • "internalNote": "Internal note",
  • "publisherId": 3
}

Response samples

Content type
application/json
{
  • "internalId": 0,
  • "name": "string",
  • "lifetimeStatus": "INCOMPLETE",
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "budget": "12.34",
  • "bookingBudgetSum": "string",
  • "volume": 0,
  • "toReachUnit": "IMPRESSIONS",
  • "advertiser": 0,
  • "advertiserName": "string",
  • "invoiceCompany": 0,
  • "invoiceCompanyName": "string",
  • "brands": [
    ],
  • "mediaBrands": [
    ],
  • "status": "CAMPAIGN",
  • "priority": 0,
  • "origin": "CLASSIC",
  • "type": "AUCTIONED",
  • "frequencyLimits": [
    ],
  • "createdBy": 0,
  • "creationDate": "2019-08-24T14:15:22Z",
  • "lastEditedBy": 0,
  • "lastEditedDate": "2019-08-24T14:15:22Z",
  • "externalKey": "string",
  • "validTill": "2019-08-24T14:15:22Z",
  • "deliveryScheme": {
    },
  • "poNumber": "BC009",
  • "message": "string",
  • "creativeCount": 5,
  • "internalNote": "Internal note",
  • "publisherId": 3
}

Delete Campaign

(soft)delete Campaign by ID by (soft)deleting all its Bookings. Is limited by state (draft, or non-started auction)

Authorizations:
bearerAuth
path Parameters
campaignId
required
integer
Example: 10

The ID of the campaign you want to delete

Responses

Conditionally update the status of the bookings in a campaign.

Conditionally update the status of the bookings in a campaign.

Authorizations:
bearerAuth
path Parameters
campaignId
required
integer
Example: 10

The ID of the campaign you want to update.

Request Body schema: application/json

The new status

string
Enum: "ACTIVE" "PAUSED" "STOPPED"

Responses

Request samples

Content type
application/json
"ACTIVE"

Response samples

Content type
application/json
[
  • 0
]

Get Booking shares

Get the list if next inventory shares of the bookings of a campaign as in the admin UI

Authorizations:
bearerAuth
path Parameters
campaignId
required
integer <int32>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update Campaign status

Update the status of a guaranteed campaign.

Authorizations:
bearerAuth
path Parameters
campaignId
required
integer
Example: 10

The ID of the campaign you want to update.

Request Body schema: application/json
required

The new status and an optional message.

status
required
string (ReservationType)
Enum: "CAMPAIGN" "OPTION" "OFFER" "DRAFT"
message
string

If status is DRAFT, you can provide this message to indicate REJECT or not to indicate RECALL. It should never exceed 250 chars.

Responses

Request samples

Content type
application/json
{
  • "status": "CAMPAIGN",
  • "message": "string"
}

Response samples

Content type
application/json
{
  • "internalId": 0,
  • "name": "string",
  • "lifetimeStatus": "INCOMPLETE",
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "budget": "12.34",
  • "bookingBudgetSum": "string",
  • "volume": 0,
  • "toReachUnit": "IMPRESSIONS",
  • "advertiser": 0,
  • "advertiserName": "string",
  • "invoiceCompany": 0,
  • "invoiceCompanyName": "string",
  • "brands": [
    ],
  • "mediaBrands": [
    ],
  • "status": "CAMPAIGN",
  • "priority": 0,
  • "origin": "CLASSIC",
  • "type": "AUCTIONED",
  • "frequencyLimits": [
    ],
  • "createdBy": 0,
  • "creationDate": "2019-08-24T14:15:22Z",
  • "lastEditedBy": 0,
  • "lastEditedDate": "2019-08-24T14:15:22Z",
  • "externalKey": "string",
  • "validTill": "2019-08-24T14:15:22Z",
  • "deliveryScheme": {
    },
  • "poNumber": "BC009",
  • "message": "string",
  • "creativeCount": 5,
  • "internalNote": "Internal note",
  • "publisherId": 3
}

Unique campaign types

Get a unique list of campaign types for campaign filtering. Only values used in campaigns visible to the users are returned

Responses

Response samples

Content type
application/json
[
  • "AUCTIONED"
]

Channels

Channels

Get a list of channels.

query Parameters
search
string
Example: search=pepsi%20max

An url-encoded search string to apply to the list. Matches channel, publication, location, format, or subformat name that includes the search string. Matches channel, publication, location, format, or subformat ID if it exactly matches the search string.

includeInactive
boolean
Default: false
Example: includeInactive=true

Include inactive channels in the result.

limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Config

Allowed booking types

Get the allowed booking types, configurable with mcbAllowedBookingTypes config key. Allowed values are display, in_store or sponsored_product (;-separated, eg display;in_store)

Responses

Response samples

Content type
application/json
[
  • "DISPLAY"
]

Allowed campaign types

Get the allowed campaign types, configurable with mcbAllowedCampaignTypes config key. allowed values are auction, shop or both (;-separated, eg auction;shop)

Responses

Response samples

Content type
application/json
[
  • "FULL"
]

Account currency

Get the account currency in ISO format

Responses

Response samples

Content type
application/json
{
  • "value": "DKK"
}

Default delivery multiples parameter

Get default delivery multiples parameter, configurable with defaultDeliveryMultiplesParameter param

Responses

Response samples

Content type
application/json
{
  • "value": "one-at-a-time"
}

Used to determine if managed campaigns require an advertiser and a brand.

Get the global setting of mcbCreateCampaignManagedRequiresAdvertiserAndBrand.

Responses

Response samples

Content type
application/json
{
  • "value": true
}

Used to determine if managed campaigns require a debtor.

Get the global setting of mcbCreateCampaignManagedRequiresDebtor.

Responses

Response samples

Content type
application/json
{
  • "value": true
}

Account timezone

Get the account timezone in ISO format

Responses

Response samples

Content type
application/json
{
  • "value": "Europe/Brussels"
}

Account RTB enabled

Get the global setting of whether RTB is enabled.

Responses

Response samples

Content type
application/json
true

Campaign external key required setting

Get the global setting of campaign external key is required.

Responses

Response samples

Content type
application/json
{
  • "value": true
}

Pricing feed type

Get pricing feed type.

Responses

Response samples

Content type
application/json
{
  • "value": "DEFAULT"
}

Creatives

Upload Creative Deprecated

Upload a creative

query Parameters
key
string
Example: key=2nd

index as a string. 2nd, 3rd, 4th etc. 1st is not used by advar creatives

id
string

the creative id. 0 if new creative, otherwise from the creative

formatId
string

the format id (from the booking)

orderId
string

the campaign id

ignore
boolean

?

versionId
string

version id of the file, starting with 0

qqfile
string

the filename

Request Body schema: application/octet-stream
string <binary>

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "uploadedCreative": {
    }
}

Upload Creative

Upload a creative file by posting the file contents as binary data. The server will store this file in its tmp directory and return its path.

query Parameters
key
required
string
Example: key=2nd

Creative file index written as ordinal number (e.g. 2nd) with the exception of 1, which has key "main" (but is not used in advar creatives).

formatId
required
integer
Example: formatId=1

The ID of the format that will be associated with the creative.

header Parameters
Content-Disposition
required
string
Example: attachment; filename="test.jpg"

Should contain the file name.

Request Body schema: application/octet-stream
string <binary>

Responses

Response samples

Content type
application/json
{
  • "filePath": "/tmp/1727095610724_test.jpg"
}

Create Creative Deprecated

Create a creative

Request Body schema: application/json
creativeId
integer
campaignId
integer
creativeName
string
formatId
integer
advarTemplateName
string or null
object or null (TemplateParameters)
object or null (TemplateFiles)
sku
string or null

Responses

Request samples

Content type
application/json
{
  • "creativeId": 310,
  • "campaignId": 120,
  • "creativeName": "My Fourth API creative - updated",
  • "formatId": 3,
  • "advarTemplateName": null,
  • "templateParameters": {
    },
  • "templateFiles": {},
  • "sku": "sku1, sku2"
}

Response samples

Content type
application/json
{
  • "success": "string",
  • "key": 0
}

Creatives

Get a list of creatives. Requires filtering on at least one of the ID properties (campaign, booking or creative) or on the search parameter.

query Parameters
campaignId
integer
Example: campaignId=10

The ID(s) of the campaign(s) for which you want to get the creatives.

bookingId
integer
Example: bookingId=10

The ID(s) of the booking(s) for which you want to get the creatives.

creativeIds
Array of integers
Example: creativeIds=7130,7152

Comma-separated list of creative IDs to filter the results

limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

search
string
Example: search=pepsi%20max

An url-encoded search string to apply to the list of creatives (ignoring case, on creative name)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Creative

Create a creative

Request Body schema: application/json
campaignId
integer
creativeName
string
formatId
integer
advarTemplateName
string or null
object or null (TemplateParameters)
object or null (TemplateFiles)
sku
string or null

Responses

Request samples

Content type
application/json
{
  • "campaignId": 120,
  • "creativeName": "My Fourth API creative - updated",
  • "formatId": 3,
  • "advarTemplateName": null,
  • "templateParameters": {
    },
  • "templateFiles": {},
  • "sku": "sku1, sku2"
}

Response samples

Content type
application/json
{
  • "creativeId": 310,
  • "campaignId": 120,
  • "creativeName": "My Fourth API creative - updated",
  • "formatId": 3,
  • "advarTemplateName": null,
  • "lastEdited": 1719389814000,
  • "templateParameters": {
    },
  • "templateFiles": {},
  • "sku": "sku1, sku2"
}

Creative

Get a single creative

path Parameters
creativeId
required
integer
Example: 10

The id of the creative you want to fetch

Responses

Response samples

Content type
application/json
{
  • "creativeId": 310,
  • "campaignId": 120,
  • "creativeName": "My Fourth API creative - updated",
  • "formatId": 3,
  • "advarTemplateName": null,
  • "lastEdited": 1719389814000,
  • "templateParameters": {
    },
  • "templateFiles": {},
  • "sku": "sku1, sku2"
}

Update Creative

Update a creative

path Parameters
creativeId
required
integer
Example: 10

The id of the creative you want to update

Request Body schema: application/json
campaignId
integer
creativeName
string
formatId
integer
advarTemplateName
string or null
object or null (TemplateParameters)
object or null (TemplateFiles)
sku
string or null

Responses

Request samples

Content type
application/json
{
  • "campaignId": 120,
  • "creativeName": "My Fourth API creative - updated",
  • "formatId": 3,
  • "advarTemplateName": null,
  • "templateParameters": {
    },
  • "templateFiles": {},
  • "sku": "sku1, sku2"
}

Response samples

Content type
application/json
{
  • "creativeId": 310,
  • "campaignId": 120,
  • "creativeName": "My Fourth API creative - updated",
  • "formatId": 3,
  • "advarTemplateName": null,
  • "lastEdited": 1719389814000,
  • "templateParameters": {
    },
  • "templateFiles": {},
  • "sku": "sku1, sku2"
}

Duplicate Creative

Duplicate a creative by id. When duplicating to the same campaign, the name is prepended with "Copy of ". When duplicating to a different campaign, the original name is preserved.

path Parameters
creativeId
required
integer
Example: 10

The id of the creative you want to duplicate

Request Body schema: application/json
optional
destinationCampaignId
integer

The campaign to duplicate the creative to. If not provided, duplicates to the same campaign.

Responses

Request samples

Content type
application/json
{
  • "destinationCampaignId": 123
}

Response samples

Content type
application/json
{
  • "creativeId": 310,
  • "campaignId": 120,
  • "creativeName": "My Fourth API creative - updated",
  • "formatId": 3,
  • "advarTemplateName": null,
  • "lastEdited": 1719389814000,
  • "templateParameters": {
    },
  • "templateFiles": {},
  • "sku": "sku1, sku2"
}

Preview links for single creative

Gets the preview links for a creative

path Parameters
creativeId
required
integer
Example: 10

The ID of the creative you want to fetch preview links for

Responses

Preview links for multiple creatives

Gets the preview links for multiple creative ids

query Parameters
creativeIds
required
Array of integers
Example: creativeIds=10,11

Comma-separated list of creative IDs for which to get preview links

Responses

Remove creative

query Parameters
creativeId
required
integer
Example: creativeId=10

The id of the creative you wish to remove

Responses

Response samples

Content type
application/json
{
  • "success": "DELETE on Creative 2785 was successful",
  • "key": 2785
}

Preview Links Deprecated

Fetches the preview links for a creative

Request Body schema: application/x-www-form-urlencoded
id
required
integer

Responses

Creatives for a booking

Creatives for a booking

path Parameters
bookingId
required
integer
Example: 10

The ID of the booking you want to fetch creatives for

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Bookings for a creative

Gets the bookings for a creative

path Parameters
creativeId
required
integer
Example: 10

The ID of the creative you want to fetch bookings for

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Inventory

Account inventory

Get a list of inventory for an account, which colocates related publications, positions, locations and formats.

query Parameters
search
string
Example: search=pepsi%20max

An url-encoded search string to apply to the list (publication/position/location/format/subformat name contains the search term or their id equals the search term (if number))

includeInactive
boolean
Default: false
Example: includeInactive=true

Include inactive positions in the result.

includeChannels
boolean
Default: false
Example: includeChannels=true

Include positions that are channels in the result.

limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Channels

Get a list of channels.

query Parameters
search
string
Example: search=pepsi%20max

An url-encoded search string to apply to the list. Matches channel, publication, location, format, or subformat name that includes the search string. Matches channel, publication, location, format, or subformat ID if it exactly matches the search string.

includeInactive
boolean
Default: false
Example: includeInactive=true

Include inactive channels in the result.

limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Positions

Get a list of positions and publications pairs by channel id.

query Parameters
channelId
required
integer
Example: channelId=123

The ID of the channel.

search
string
Example: search=pepsi%20max

An url-encoded search string to apply to the list (publication/position name contains the search term or their id equals the search term (if number))

includeInactive
boolean
Default: false
Example: includeInactive=true

Include inactive positions in the result.

limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Media Products

List Media Products

Get a list of media products

query Parameters
campaignType
string
Enum: "AUCTION" "GUARANTEED" "FULL"
Example: campaignType=AUCTION

The type of campaign

bookingType
string
Enum: "DISPLAY" "IN_STORE" "SPONSORED_PRODUCT"
Example: bookingType=DISPLAY

The type of booking. Can be configured on publication level.

mediaProductIds
Array of integers
Example: mediaProductIds=10,11

Comma-separated list of media product IDs to filter the results

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Media Product

Create a new media product

Request Body schema: application/json
required

The parameters of the media product to create

name
string <= 64 characters

The name of the media product

description
string
formatId
integer

The id of the hidden template that is used to format the media product (width / height / filesize)

publicationId
integer

The id of the publication this media product is created in

productTypes
Array of strings
Items Enum: "AUCTION" "GUARANTEED" "FULL"
price
number
externalId
string

The external product id (code) associated with this media product

channelLevel
integer

The channel level of this media product (0 means not a channel)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "formatId": 0,
  • "publicationId": 0,
  • "productTypes": [
    ],
  • "price": 0,
  • "externalId": "string",
  • "channelLevel": 0
}

Response samples

Content type
application/json
[
  • {
    }
]

Get Media Product

Get a media product by ID.

path Parameters
mediaProductId
required
integer
Example: 123

The ID of the media product.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "formatId": "string",
  • "name": "string",
  • "description": "string",
  • "price": 0,
  • "externalId": "string",
  • "currency": "EUR",
  • "productTypes": [
    ],
  • "active": true
}

Update Media Product

Update a new media product

path Parameters
mediaProductId
required
integer
Example: 123

The ID of the media product to update.

Request Body schema: application/json
required

The parameters of the media product to update

name
string <= 64 characters

The name of the media product

description
string
formatId
integer

The id of the hidden template that is used to format the media product (width / height / filesize)

productTypes
Array of strings
Items Enum: "AUCTION" "GUARANTEED" "FULL"
price
number
channelLevel
integer

The channel level of this media product (0 means not a channel)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "formatId": 0,
  • "productTypes": [
    ],
  • "price": 0,
  • "channelLevel": 0
}

Response samples

Content type
application/json
[
  • {
    }
]

Delete Media Product

Delete a new media product

path Parameters
mediaProductId
required
integer
Example: 123

The ID of the media product to delete.

Responses

Response samples

Content type
application/problem+json
{}

Media Partners

List Media Partners

Get a list of media partners

Authorizations:
bearerAuth
query Parameters
limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

search
string
Example: search=pepsi%20max

An url-encoded search string to apply to the list of media partners (ignoring case, on name)

roles
Array of strings (MediaPartnerType)
Items Enum: "ADVERTISER" "INVOICE"
Example: roles=ADVERTISER,INVOICE

Filter on the role(s) the media partner has

includeInactive
boolean
Example: includeInactive=true

Filter to include inactive media partners

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Media Partner

Create a media partner.

Authorizations:
bearerAuth
Request Body schema: application/json
name
string
roles
Array of strings (MediaPartnerType)
Items Enum: "ADVERTISER" "INVOICE"
externalKey
string or null
object

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "roles": [
    ],
  • "externalKey": "string",
  • "subsystemExternalIds": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "roles": [
    ],
  • "externalId": "string",
  • "subsystemExternalIds": {
    },
  • "active": true
}

Get Media Partner

Get a media partner by id

Authorizations:
bearerAuth
path Parameters
mediaPartnerId
required
integer
Example: 10

The id of the media partner you want to fetch

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "roles": [
    ],
  • "externalId": "string",
  • "subsystemExternalIds": {
    },
  • "active": true
}

Update media partner

Update a media partner by id

Authorizations:
bearerAuth
path Parameters
mediaPartnerId
required
integer
Example: 10

The ID of the media partner you want to update

Request Body schema: application/json
required

The media partner to update

name
string
roles
Array of strings (MediaPartnerType)
Items Enum: "ADVERTISER" "INVOICE"
object

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "roles": [
    ],
  • "subsystemExternalIds": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "roles": [
    ],
  • "externalId": "string",
  • "subsystemExternalIds": {
    },
  • "active": true
}

Activate Media Partner

Activate a media partner by id

Authorizations:
bearerAuth
path Parameters
mediaPartnerId
required
integer
Example: 10

The ID of the media partner you want to update

Responses

Response samples

Content type
application/problem+json
{}

Deactivate Media Partner

Deactivate a media partner by id

Authorizations:
bearerAuth
path Parameters
mediaPartnerId
required
integer
Example: 10

The ID of the media partner you want to update

Responses

Response samples

Content type
application/problem+json
{}

List Media Brands

Get a list of a media partner their brands

Authorizations:
bearerAuth
query Parameters
limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

search
string
Example: search=pepsi%20max

An url-encoded search string to apply to the list of media partners (ignoring case, on name)

includeInactive
boolean
Example: includeInactive=true

Filter to include inactive media brands

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Media Brand

Create a media brand for a media partner.

Authorizations:
bearerAuth
Request Body schema: application/json
name
string
externalKey
string or null
object

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "externalKey": "string",
  • "subsystemExternalIds": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "externalId": "string",
  • "subsystemExternalIds": {
    },
  • "active": true
}

Get Media Brand

Get a media brand for a media partner by id

Authorizations:
bearerAuth
path Parameters
mediaPartnerId
required
integer
Example: 10

The id of the media partner you want to fetch

mediaBrandId
required
integer
Example: 10

The id of the media brand you want to fetch

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "externalId": "string",
  • "subsystemExternalIds": {
    },
  • "active": true
}

Update media brand

Update a media brand by id

Authorizations:
bearerAuth
path Parameters
mediaPartnerId
required
integer
Example: 10

The ID of the media partner you want to update

mediaBrandId
required
integer
Example: 10

The id of the media brand you want to fetch

Request Body schema: application/json
required

The media brand to update

name
string
object

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "subsystemExternalIds": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "roles": [
    ],
  • "externalId": "string",
  • "subsystemExternalIds": {
    },
  • "active": true
}

Activate Media Brand

Activate a media brand by id

Authorizations:
bearerAuth
path Parameters
mediaPartnerId
required
integer
Example: 10

The ID of the media partner you want to update

mediaBrandId
required
integer
Example: 10

The id of the media brand you want to fetch

Responses

Response samples

Content type
application/problem+json
{}

Deactivate Media Brand

Deactivate a media brand by id

Authorizations:
bearerAuth
path Parameters
mediaPartnerId
required
integer
Example: 10

The ID of the media partner you want to update

mediaBrandId
required
integer
Example: 10

The id of the media brand you want to fetch

Responses

Response samples

Content type
application/problem+json
{}

Metrics

Metrics

Get a of metrics per day for a given booking or campaign. Take note that this lives somewhere else (https://data.staging-adhese.org/)

path Parameters
client
required
string
Example: ahms

The name of the client we fetch data for - if it has an enabled metrics job!

query Parameters
entity_type
required
string
Example: entity_type=campaign

Wherever you ask data for: creative, booking or campaign

entity_id
required
integer
Example: entity_id=102

The id of the booking, creative or campaign you want metrics for. Can be repeated

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Notifications

Notifications

Get a list of available notifications

query Parameters
from
required
string <date-time>

The lower bound of the time window to get notifications from.

to
string <date-time>

The upper bound of the time window to get notifications from. If missing, it's unlimited ("now" for most cases, or any future event in others)

limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

eventTypes
Array of strings (NotificationEventType)
Items Enum: "BOOKING_CREATIVE_APPROVED" "BOOKING_CREATIVE_REJECTED" "CAMPAIGN_APPROVED" "CAMPAIGN_REJECTED" "BOOKING_INCOMPLETE"
Example: eventTypes=CAMPAIGN_REJECTED,BOOKING_INCOMPLETE

Filter applied to one or more notification event types

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Priority

Priority

Get a list of available priorities

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Priority for campaign type

Get the default priority for a campaign type

query Parameters
campaignType
required
string (CampaignType)
Enum: "FULL" "PUSH" "GUARANTEED" "AUCTIONED"
Example: campaignType=GUARANTEED

The campaign type to get the default priority for

Responses

Response samples

Content type
application/json
{
  • "id": 8,
  • "name": "guaranteed campaign",
  • "index": -1
}

Targets

Flat targets

Get a flat list of each target and value.

query Parameters
positionId
integer
Example: positionId=102

Get targets for a specific position.

bookingId
integer
Example: bookingId=101

Get targets for a specific booking.

targetId
integer
Example: targetId=100

Filter the target values on a specific target id.

includeInactive
boolean
Example: includeInactive=true

Include inactive targets in the result.

targetValueType
string (TargetValueType)
Enum: "INCLUSIVE" "EXCLUSIVE"
Example: targetValueType=INCLUSIVE

Get targets for a specific value type.

search
string
Example: search=123

An url-encoded search string to apply to the list of flat targets (ignoring case, on target name, target value id and -name)

campaignType
string (CampaignSpace)
Enum: "AUCTIONED" "GUARANTEED" "FULL"
Example: campaignType=AUCTION

The type of campaign. Either both campaignType and bookingType must be specified, or neither.

bookingType
string
Enum: "DISPLAY" "IN_STORE" "SPONSORED_PRODUCT"
Example: bookingType=DISPLAY

The type of booking. Can be configured on publication level. Either both campaignType and bookingType must be specified, or neither.

limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Targets

Get a list of targets either by position or booking.

query Parameters
positionId
integer
Example: positionId=102

Get targets for a specific position. Need to specify either this or bookingId.

bookingId
integer
Example: bookingId=101

Get targets for a specific booking. Need to specify either this or positionId.

includeInactive
boolean
Example: includeInactive=true

Include inactive targets in the result.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Targets v2

Get a paginated list of targets (simplified - id and name only). Optionally filter by positionId or bookingId.

query Parameters
bookingId
integer
Example: bookingId=101

Filter targets for a specific booking.

positionId
integer
Example: positionId=102

Filter targets for a specific position.

includeInactive
boolean
Default: false
Example: includeInactive=true

Include inactive targets in the result. Defaults to false.

campaignType
string (CampaignSpace)
Enum: "AUCTIONED" "GUARANTEED" "FULL"
Example: campaignType=AUCTION

The type of campaign. Either both campaignType and bookingType must be specified, or neither.

bookingType
string
Enum: "DISPLAY" "IN_STORE" "SPONSORED_PRODUCT"
Example: bookingType=DISPLAY

The type of booking. Can be configured on publication level. Either both campaignType and bookingType must be specified, or neither.

limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Targets values

Gets the target values of a target group, optionally searchable

path Parameters
targetId
required
integer
Example: 10

The ID of the target you want to fetch values for

query Parameters
search
string
Example: search=Bob

The search term you want to filter (string contains) the target values on

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Activate target

Activates the target

path Parameters
targetId
required
integer
Example: 10

The ID of the target you want to activate

Responses

Response samples

Content type
application/problem+json
{}

Add tag to target

Adds a tag to a target.

path Parameters
targetId
required
integer
Example: 10

The ID of the target you want to add a tag for

tag
required
string (TargetTag)
Enum: "auction" "display" "full" "in_store" "mcb" "shop" "sponsored_product"
Example: shop

The tag you want to add.

Responses

Response samples

Content type
application/problem+json
{}

Deactivate target

Deactivates the target

path Parameters
targetId
required
integer
Example: 10

The ID of the target you want to deactivate

Responses

Response samples

Content type
application/problem+json
{}

Remove tag from target

Removes a tag to from target. Other values are left untouched.

path Parameters
targetId
required
integer
Example: 10

The ID of the target you want to remove a tag from

tag
required
string (TargetTag)
Enum: "auction" "display" "full" "in_store" "mcb" "shop" "sponsored_product"
Example: shop

The tag you want to remove.

Responses

Response samples

Content type
application/problem+json
{}

Activate target for selfservice

Activates the target for selfservice by setting environments to "mcb"

path Parameters
targetId
required
integer
Example: 10

The ID of the target you want to activate for selfservice

Responses

Response samples

Content type
application/problem+json
{}

Deactivate target for selfservice

Deactivates the target for selfservice by setting environments to null

path Parameters
targetId
required
integer
Example: 10

The ID of the target you want to deactivate for selfservice

Responses

Response samples

Content type
application/problem+json
{}

List target's tags

Gets the target tags of a target group

path Parameters
targetId
required
integer
Example: 10

The ID of the target you want to fetch tags for

Responses

Response samples

Content type
application/json
[
  • "auction"
]

Activate target value

Activates the target value

path Parameters
targetId
required
integer
Example: 10

The ID of the target of which value you want to activate

targetValueId
required
integer
Example: 10

The ID of the target value you want to activate

Responses

Response samples

Content type
application/problem+json
{}

Deactivate target value

Deactivates the target value

path Parameters
targetId
required
integer
Example: 10

The ID of the target of which value you want to deactivate

targetValueId
required
integer
Example: 10

The ID of the target value you want to deactivate

Responses

Response samples

Content type
application/problem+json
{}

Targets Deprecated

Deprecated, use /api/mcb/targets instead. Gets the valid targets for a position.

path Parameters
positionId
required
integer
Example: 10

The ID of the position you want to fetch valid targets for

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Templates

Advar templates

Fetches the template list

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Advar template description

Fetches description of specified advar template

path Parameters
name
required
string
Example: dooh.json

Name of the advar template

Responses

Response samples

Content type
application/json
{
  • "advar": "string",
  • "files": [
    ],
  • "fields": [
    ]
}

Traffic

Get traffic approvals

Get a paginated list of traffic approvals, optionally filtered by a variety of properties. The combination of campaignId, bookingId and creativeId is unique and will yield a single traffic approval (or none). The expiry field is either 3 (default, configurable with mcbTrafficApprovalDueDateIntervalDays) days from last updated or booking start (whichever is sooner)

query Parameters
state
string (TrafficApprovalState)
Enum: "CLEAR" "PENDING" "REJECTED" "APPROVED" "PENDING_PAUSED" "PAUSED"
Example: state=PENDING

State of the traffic objects you want. Can be supplied multiple times.

search
string
Example: search=Danone

Search on booking and creative ids and names.

advertiserCompanyId
string
Example: advertiserCompanyId=15

The id of the advertiser company you want to filter the list on.

campaignOrigin
Array of strings (CampaignOrigin)
Items Enum: "CLASSIC" "SHOP" "SYNC" "OTHER" "MCB"
Example: campaignOrigin=MCB

Filter the list on the origin of the campaign.

campaignType
Array of strings (CampaignType)
Items Enum: "FULL" "PUSH" "GUARANTEED" "AUCTIONED"
Example: campaignType=FULL

Filter the list on the type of the campaign.

campaignId
Array of integers
Example: campaignId=10

The ID(s) of the campaign(s) you want to fetch traffic approvals for.

bookingId
integer
Example: bookingId=10

The ID(s) of the booking(s) you want to fetch traffic approvals for.

creativeId
integer
Example: creativeId=10

The ID(s) of the creative(s) you want to fetch traffic approvals for.

limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

sortField
string
Value: "EXPIRY_DATE"
Example: sortField=EXPIRY_DATE

Sort the returned traffic approvals by the given field.

sortDirection
string
Default: "ASC"
Enum: "ASC" "DESC"

Sort direction to be applied

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update / set traffic state of a creative - booking

Update / set traffic state of a creative - booking combination

Request Body schema: application/json
creativeId
integer
bookingId
integer
state
string (TrafficApprovalState)
Enum: "CLEAR" "PENDING" "REJECTED" "APPROVED" "PENDING_PAUSED" "PAUSED"

This optional field has a default of "PENDING" to not break the current implementation. If we can adjust that in frontend we better make this required

message
string

Message is required when state is REJECTED and should never exceed 250 chars

Responses

Request samples

Content type
application/json
{
  • "creativeId": 10,
  • "bookingId": 10,
  • "state": "CLEAR",
  • "message": "The background is grey, not gray"
}

Response samples

Content type
application/json
"OK"

Flat targets

Flat targets

Get a flat list of each target and value.

query Parameters
positionId
integer
Example: positionId=102

Get targets for a specific position.

bookingId
integer
Example: bookingId=101

Get targets for a specific booking.

targetId
integer
Example: targetId=100

Filter the target values on a specific target id.

includeInactive
boolean
Example: includeInactive=true

Include inactive targets in the result.

targetValueType
string (TargetValueType)
Enum: "INCLUSIVE" "EXCLUSIVE"
Example: targetValueType=INCLUSIVE

Get targets for a specific value type.

search
string
Example: search=123

An url-encoded search string to apply to the list of flat targets (ignoring case, on target name, target value id and -name)

campaignType
string (CampaignSpace)
Enum: "AUCTIONED" "GUARANTEED" "FULL"
Example: campaignType=AUCTION

The type of campaign. Either both campaignType and bookingType must be specified, or neither.

bookingType
string
Enum: "DISPLAY" "IN_STORE" "SPONSORED_PRODUCT"
Example: bookingType=DISPLAY

The type of booking. Can be configured on publication level. Either both campaignType and bookingType must be specified, or neither.

limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Resolve targets

Resolves the provided targets and their values and returns a flattened list of target values.

Request Body schema: application/json
bookingId
integer or null
positionId
integer or null
environment
string or null
object

Responses

Request samples

Content type
application/json
{
  • "bookingId": 10,
  • "positionId": 10,
  • "environment": "MCB",
  • "targetValuesByTargetId": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Formats

Format by id

Get available format by id

path Parameters
id
required
integer
Example: 123

The ID of the format

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "width": "string",
  • "height": "string",
  • "subformat": {
    }
}

Publishers

Publishers

Get a list of publishers

query Parameters
limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

search
string
Example: search=pepsi%20max

An url-encoded search string to apply to the list of publishers

sortField
string (PublisherSortFields)
Enum: "COMPANY_NAME" "CREATION" "LAST_USED" "CONTACT_NAME"
Example: sortField=COMPANY_NAME

Field that results should be sorted on

sortDirection
string (SortDirection)
Enum: "ASC" "DESC"
Example: sortDirection=ASC

Sort direction to be applied

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Publisher

Get a single publisher

path Parameters
id
required
integer
Example: 10

The id of the publisher you want to fetch

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string"
}

User Logs

Audit trail of user actions on campaigns, bookings, and creatives

Get User Logs

Returns all user logs associated with the given campaign, including logs for the campaign itself and its related bookings and creatives.

Authorizations:
bearerAuth
query Parameters
campaignId
required
integer
Example: campaignId=10

The ID of the campaign to fetch logs for.

limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

sortField
string
Default: "TIMESTAMP"
Enum: "TIMESTAMP" "USER" "SOURCE"

Field to sort user log results by.

sortDirection
string
Default: "DESC"
Enum: "ASC" "DESC"

Sort direction for user log results.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Booking Logs

Get the user logs for a specific booking

Authorizations:
bearerAuth
path Parameters
bookingId
required
integer
Example: 10

The ID of the booking you want to fetch logs for

query Parameters
limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

sortField
string
Default: "TIMESTAMP"
Enum: "TIMESTAMP" "USER" "SOURCE"

Field to sort user log results by.

sortDirection
string
Default: "DESC"
Enum: "ASC" "DESC"

Sort direction for user log results.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Campaign Logs

Get the user logs for a specific campaign

Authorizations:
bearerAuth
path Parameters
campaignId
required
integer
Example: 10

The ID of the campaign you want to fetch logs for

query Parameters
limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

sortField
string
Default: "TIMESTAMP"
Enum: "TIMESTAMP" "USER" "SOURCE"

Field to sort user log results by.

sortDirection
string
Default: "DESC"
Enum: "ASC" "DESC"

Sort direction for user log results.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Creative Logs

Get the user logs for a specific creative

Authorizations:
bearerAuth
path Parameters
creativeId
required
integer
Example: 10

The ID of the creative you want to fetch logs for

query Parameters
limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

sortField
string
Default: "TIMESTAMP"
Enum: "TIMESTAMP" "USER" "SOURCE"

Field to sort user log results by.

sortDirection
string
Default: "DESC"
Enum: "ASC" "DESC"

Sort direction for user log results.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

User Mappings

List Users with Mappings

Get a list of users with mappings

query Parameters
search
string
Example: search=jef.bezos

Filter the mappings for a user identification (loose match)

advertiserCompanyId
integer
Example: advertiserCompanyId=10

Filter for users having a mapping for this advertiser company (exact match)

invoiceCompanyId
integer
Example: invoiceCompanyId=10

Filter for users having a mapping for this invoice company (exact match)

brandId
integer
Example: brandId=10

Filter for users having a mapping for this brand (exact match)

limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create User Mapping

Create a new user mapping

Request Body schema: application/json
required

The parameters of the user mapping to create

user
string [ 1 .. 255 ] characters

The user identification to create mapping for

Array of objects (MappingDto)

Responses

Request samples

Content type
application/json
{
  • "user": "string",
  • "mappings": [
    ]
}

Response samples

Content type
application/problem+json
{}

Delete User Mapping

Delete user mappings

Request Body schema: application/json
required

The parameters of the user mappings to delete. At least one parameter must be provided

user
string

The identifier of the user you want to delete mappings from

advertiserCompanyId
integer

The id of the advertiser company you want to delete mappings from.

invoiceCompanyId
integer

The id of the invoice company you want to delete mappings from.

brandId
integer

The id of the brand you want to delete mappings from.

Responses

Request samples

Content type
application/json
{
  • "user": "user@company.be",
  • "advertiserCompanyId": 15,
  • "invoiceCompanyId": 15,
  • "brandId": 15
}

Response samples

Content type
application/problem+json
{}

List Mappings of user

Get a list of mappings for a user

path Parameters
user
required
string
Example: jef.bezos

The user identification you want to fetch the mappings for

query Parameters
advertiserCompanyId
integer
Example: advertiserCompanyId=10

Filter the mappings for this advertiser company (exact match)

invoiceCompanyId
integer
Example: invoiceCompanyId=10

Filter the mappings for this invoice company (exact match)

brandId
integer
Example: brandId=10

Filter the mappings for this brand (exact match)

limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Pagination property to limit the number of results.

offset
integer >= 0
Default: 0
Example: offset=0

Pagination property to offset the results.

Responses

Response samples

Content type
application/json
[
  • {
    }
]