Skip to main content

Media Partners API

Media Partners

Media partners is the overarching term for an advertiser or debtor. Media parntners have media brands associated with them.

Create a Media Partner

POST /v1/media-partners

Creates a media partner (advertiser company, invoicing company, or both, depending on roles).

Request body — CreateMediaPartnerRequest

FieldTypeRequiredDescription
namestringYesDisplay name of the company.
rolesarray of enumYesAny of ADVERTISER, INVOICE
externalKeystringNoYour own external reference key.
subsystemExternalIdsobject (string → string)NoExternal ids per subsystem.

Create an advertiser company

{
  "name": "Acme Beverages",
  "roles": ["ADVERTISER"],
  "externalKey": "acme-bev",
  "subsystemExternalIds": {
    "crm": "CRM-10432"
  }
}

Create an invoicing company

{
  "name": "Acme Beverages Billing BV",
  "roles": ["INVOICE"],
  "externalKey": "acme-bev-billing"
}

Create a company that is both advertiser and invoicing party

{
  "name": "Acme Beverages",
  "roles": ["ADVERTISER", "INVOICE"]
}

Responses

StatusMeaning
201Media partner created.
400Invalid input (e.g. empty `name` or unknown role).
401 / 403Not authenticated / not allowed.
500Unexpected failure.

The 201 response will return a body including the generated id and all information known about the media partner.

Get a single media partner

GET /v1/media-partners/{mediaPartnerId}
ParameterInRequiredTypeDescription
mediaPartnerIdpathYesintegerThe id of the media partner you want to fetch.

Responses

StatusMeaning
200Media partner found.
400 Bad request -Invalid input or parameters.
401 / 403Not authenticated / not allowed.
404Media partner not found.
500Internal Server Error

Update media partner

PUT /v1/media-partners/{mediaPartnerId}
ParameterInRequiredTypeDescription
mediaPartnerIdpathYesintegerThe id of the media partner you want to fetch.

Request bodyUpdateMediaPartnerRequest

FieldTypeRequiredDescription
namestringYesMedia partner name.
rolesstringNoMedia partner role:INVOICE, ADVERTISER, INTERMEDIARY, MEDIA.
subsystemExternalIdsobject (string → string)NoExternal ids per subsystem.

Create brands

A brand is a media brand that belongs to a media partner (typically the advertiser company). A brand can be present in multiple media partners.

Create a brand

POST /v1/media-partners/{mediaPartnerId}/brands
ParameterInRequiredTypeDescription
mediaPartnerIdpathYesintegerThe media partner (company) the brand belongs to.

Request bodyCreateMediaBrandRequest

FieldTypeRequiredDescription
namestringYesBrand name.
externalKeystringNoYour own external reference key.
subsystemExternalIdsobject (string → string)NoExternal ids per subsystem.
{
  "name": "Acme Cola",
  "externalKey": "acme-cola",
  "subsystemExternalIds": {}
}

Responses

StatusMeaning
201Media brand created.
400Invalid input.
401 / 403Not authenticated / not allowed.
404Media partner not found.

As with companies, 201 will return a body including the generated id and all information known about the brand.

List a company's brands

GET /v1/media-partners/{mediaPartnerId}/brands?limit=50&offset=0

ParameterInRequiredTypeDescription
mediaPartnerIdpathYesintegerThe media partner.
limitqueryYesintegerMax number of results.
offsetqueryYesintegerResults to skip.
includeInactivequeryNobooleanInclude deactivated brands.
searchqueryNostringURL-encoded, case-insensitive match on name.

Response — array of MediaBrand Schema

[
  {
    "id": 8801,
    "name": "Acme Cola",
    "externalKey": "acme-cola",
    "subsystemExternalIds": {},
    "active": true
  }
]

Get a single brand

GET /v1/media-partners/{mediaPartnerId}/brands/{mediaBrandId}

Returns a single MediaBrand Schema.